pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
[gnulib.git] / ChangeLog
1 2011-09-01  Bruno Haible  <bruno@clisp.org>
2
3         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
4         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
5         pthread_create.
6
7 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8
9         openat: work around AIX 7.1 fstatat issue
10         This should fix the problem that was not properly fixed
11         in the previous change, dated 2011-08-30.
12         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
13         __need_system_stat_h defined.
14         (orig_fstatat) [HAVE_FSTATAT]: New function.
15         (rpl_fstatat): Go back to the old way of doing things,
16         except call orig_fstatat instead of fstatat.
17         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
18         Remove unnecessary check whether fstatat fills in st_size etc.
19
20 2011-09-01  Bruno Haible  <bruno@clisp.org>
21
22         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
23         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
24         just include the system's header.
25
26 2011-08-31  Jim Meyering  <meyering@redhat.com>
27
28         tests: avoid spurious assertion failure in test-float.c on ppc64
29         * tests/test-float.c (test_long_double): Comment out an assertion,
30         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
31         with gcc-4.4.4.
32
33         maint: indent with spaces, not TABs
34         I need to get in the habit of running gnulib's "make check".
35         Both of these would have been caught.
36         * m4/largefile.m4: Indent with spaces, not TABs.
37         * lib/parse-datetime.y (iso_8601_time): Likewise.
38         Spotted by Pádraig Brady.
39
40         test-parse-datetime.c: accommodate a relatively strict gcc warning
41         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
42         to avoid a warning from gcc's -Werror=missing-declarations.
43         Insert a few spaces-before-funcall-parenthesis.
44
45 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
46
47         parse-datetime: accept ISO 8601 date and time rep with "T" separator
48         The parser now accepts ISO 8601 date-time strings with "T" as the
49         separator.  It has long parsed dates like "2004-02-29 16:21:42"
50         with a space between the date and time strings.  Now it also parses
51         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
52         variants like "2004-02-29T16:21:42.333-07:00"
53         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
54         of day representation using the 'T' separator character.
55         * doc/parse-datetime.texi (General date syntax): replace use of
56         deprecated --iso-8601 option with --rfc-3339 in example of date
57         command output formats that can be parsed.
58         * tests/test-parse-datetime.c (tm_diff): New function, taken from
59         lib/parse-datetime.y.
60         (gmt_offset): New function.
61         (main): Add additional test cases to validate ISO8601 extended
62         date and time of day parsing.
63
64 2011-08-31  Bruno Haible  <bruno@clisp.org>
65
66         freopen: Documentation.
67         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
68         name.
69         Reported by Claudio Bley <claudio.bley@gmail.com>.
70
71 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
72
73         freopen: Don't crash if the filename argument is NULL.
74         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
75         NULL.
76
77 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78
79         openat: work around AIX 7.1 fstatat bug
80         Problem reported by Kevin Brott for GNU tar, in the thread containing
81         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
82         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
83         FSTATAT_ST_SIZE_ETC_BROKEN.
84         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
85         rpl_fstatat.
86         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
87         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
88         AC_CHECK_FUNCS_ONCE for fstatat.
89         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
90         fchmodat, mkdirat, openat and unlinkat.
91
92 2011-08-30  Bruno Haible  <bruno@clisp.org>
93
94         Avoid endless recursions if config.h includes some header files.
95         * lib/fopen.c (__need_FILE): Define already before including config.h.
96         * lib/freopen.c (__need_FILE): Likewise.
97         * lib/open.c (__need_system_fcntl_h): Likewise.
98         * lib/stat.c (__need_system_sys_stat_h): Likewise.
99         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
100         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
101
102 2011-08-25  Karl Berry  <karl@gnu.org>
103
104         * config/srclist.txt (ylwrap): new try.
105         * build-aux/ylwrap: new file.
106
107 2011-08-23  Bruno Haible  <bruno@clisp.org>
108
109         tmpdir: Use a good default directory on native Windows.
110         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
111         (P_tmpdir): Default to _P_tmpdir on native Windows.
112         (path_search): On native Windows, try the value returned by GetTempPath
113         before trying P_tmpdir.
114         * modules/tmpdir (Depends-on): Add pathmax.
115         Suggested by John Darrington <john@darrington.wattle.id.au>.
116
117 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
118
119         doc: fix typo in README-release
120         * top/README-release: Capitalize first word of a sentence.
121
122 2011-08-19  Jim Meyering  <meyering@redhat.com>
123
124         fts: do not exhaust memory when processing million-entry directories
125         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
126         directory would require about 256*N bytes of memory.  Thus, it was
127         easy to construct a directory too large to be processed by any of
128         those tools.  With this change, fts' maximum memory utilization is
129         now limited to around 30MB.
130         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
131         (fts_read): When we've processed the final entry (i.e., when
132         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
133         using the parent entry to read any remaining entries.  Dispatch
134         depending on what fts_build returns:
135         - NULL+stop, aka failure: stop
136         - NULL otherwise: move up in the dir hierarchy
137         - non-NULL: handle this new entry
138         (fts_build): Declare and use new local, continue_readdir.
139         Prepare to be called from fts_read, when the entries
140         from a partially-read directory have just been exhausted.
141         In that case, we'll skip the opendir and instead use the parent's
142         fts_dirp and derive dir_fd from that.
143         Finally, in the readdir loop, if we read max_entries entries,
144         exit the loop ensuring *not* to call closedir.  This is required
145         so that fts_dirp can be reused on a subsequent call.
146         Prompted by Ben England's report of memory exhaustion in find
147         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
148
149         maint: fts: move decl of `dp' down into while loop; split a long line
150         * lib/fts.c (fts_build): No semantic change.
151
152         fts: add/use new struct member, fts_dirp
153         We are about to use this to manage any directory with
154         too many entries to read all of them into memory at once.
155         To do that, we'll need to save the DIR* pointer in each
156         affected FTSENT struct.
157         * lib/fts_.h: Include <dirent.h>.
158         (struct FTSENT) [fts_dirp]: New member.
159         * lib/fts.c (closedir_and_clear): Define.
160         Use it in place of closedir so that we are sure to
161         clear the new fts_dirp member when done with it.
162         (fts_alloc): Initialize the new member.
163         (fts_lfree): Free, if needed.
164
165         maint: fts: give __opendir2 a new parameter and rename
166         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
167         than surreptitiously using sole caller's "dir_fd".
168         (fts_opendir): Rename from __opendir2.
169
170         maint: fts.c: remove __opendir2's now-unused parameter, oflag
171         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
172
173         maint: fts.c: correct off-by-one indentation
174         * lib/fts.c (fts_build): Correct indentation, change style
175         of a couple of block comments, and bracing style.
176
177         maint: fts.c: move __opendir2 #define "up" out of function body
178         * lib/fts.c (__opendir2): Move "up".  No semantic change.
179
180         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
181         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
182         out for a long time and besides was useful only on BSD systems.
183
184 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
185
186         regex: port to Stratus OpenVOS
187         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
188         define to empty, rather than attempting nonportable optimizations.
189         Problem reported by Paul Green in:
190         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
191         and fix suggested by Eric Blake in:
192         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
193
194 2011-08-17  Eric Blake  <eblake@redhat.com>
195
196         getcwd: fix test failures on mingw
197         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
198         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
199         test if long directory cannot be created, and allow mingw errno.
200
201         getcwd-lgpl: fix m4 to match relaxed test for BSD
202         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
203         (gl_FUNC_GETCWD_SIGNATURE): New macro.
204         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
205         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
206         signature problem.
207
208         getcwd: fix compilation on mingw64
209         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
210         getcwd.
211         Reported by Marc-André Lureau.
212
213         pipe2: silence compiler warning
214         * lib/pipe2.c (pipe2): Hide label if it is not used.
215
216 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
217
218         relocatable-prog: fix link error
219         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
220         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
221         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
222         into modules/relocatable-lib without noticing that
223         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
224         also needs to build relocatable.c.
225
226 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
227
228         getaddrinfo: fix sh typo in gai_strerrorA decl checking
229         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
230         shell code: it contained a 'break' that was not in a loop.
231         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
232         via a shell-language loop; this may have been true in old Autoconf
233         versions, but it's not true in Autoconf 2.68.  I found this bug
234         when testing coreutils git on Solaris 8, whose shell complains
235         about the syntax error.
236
237 2011-08-12  Simon Josefsson  <simon@josefsson.org>
238
239         * lib/base64.c: Fix comment to reference RFC 4648.
240         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
241         <gvtulder@gmail.com>.
242
243 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
244
245         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
246
247         po/Makefile.in.in: fix make -q problem
248         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
249         rule, since there's no file named 'check-macro-version' and its
250         use as a file breaks make -q.
251         (all): Don't depend on check-macro-version.
252         (CHECK_MACRO_VERSION): New macro.
253         (stamp-po): Use it.
254
255         configmake: fix make -q problem
256         * modules/configmake (configmake.h): Update configmake.h's time stamp
257         even if the file does not change.  Otherwise, 'make -q' fails.
258         Problem reported by Simon Josefsson in
259         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
260
261 2011-08-11  Jim Meyering  <meyering@redhat.com>
262
263         git-version-gen: correct the advice in a comment
264         * build-aux/git-version-gen: Correct comment.
265         Don't recommend to list .tarball-version in .gitignore.
266
267 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
268
269         base64: fix off-by-one buffer size bug
270         Problem and (trivial) fix reported by Gijs van Tulder in
271         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
272         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
273         * tests/test-base64.c (main): Catch the bug.
274
275 2011-08-10  Eric Blake  <eblake@redhat.com>
276
277         closein: correct comments
278         * lib/closein.c (close_stdin): Improve comments.
279
280 2011-08-09  Bruno Haible  <bruno@clisp.org>
281
282         More tests for 'fseeko'.
283         * tests/test-fseeko3.c: New file, from Eric Blake.
284         * tests/test-fseeko3.sh: New file.
285         * modules/fseeko-tests (Files): Add them.
286         (TESTS): Add test-fseeko3.sh.
287         (check_PROGRAMS): Add test-fseeko3.
288
289 2011-08-09  Eric Blake  <eblake@redhat.com>
290
291         fseeko: remove unneeded hack
292         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
293
294         fseeko: fix bug on glibc
295         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
296         Reported by John W. Eaton.
297
298 2011-08-08  Bruno Haible  <bruno@clisp.org>
299
300         unictype/base: Fix interoperability with preinstalled libunistring.
301         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
302         Reported by Simon Josefsson.
303
304 2011-08-08  Bruno Haible  <bruno@clisp.org>
305
306         iswblank: Detect declaration correctly.
307         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
308         AC_CHECK_DECLS invocation.
309
310 2011-08-08  Bruno Haible  <bruno@clisp.org>
311
312         tcgetsid: Detect declaration correctly.
313         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
314         AC_CHECK_DECLS invocation.
315         Reported by Simon Josefsson.
316
317 2011-08-08  Eric Blake  <eblake@redhat.com>
318
319         largefile: fix typo that regressed large file support
320         * modules/largefile (configure.ac-early): Fix section name.
321
322 2011-08-06  Karl Berry  <karl@gnu.org>
323
324         * MODULES.html.sh (func_all_files): _Noreturn is no longer
325         a separate module.
326
327 2011-08-05  Simon Josefsson  <simon@josefsson.org>
328
329         openat: Fix warnings and commens when building unlinkat.c on Hurd.
330         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
331         get prototype for free.
332
333 2011-08-04  Bruno Haible  <bruno@clisp.org>
334
335         Tests for module 'pathmax'.
336         * modules/pathmax-tests: New file.
337         * tests/test-pathmax.c: New file.
338
339         canonicalize-lgpl: Support larger filenames on the Hurd.
340         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
341         Reported by Paul Eggert.
342
343         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
344         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
345         * lib/chdir-long.h: Include pathmax.h.
346         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
347         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
348         (PATH_MAX): Remove code that is done by pathmax.h.
349         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
350         * lib/tmpfile.c: Add a comment.
351         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
352         * modules/chdir-long (Depends-on): Add pathmax.
353         * modules/getcwd (Depends-on): Add pathmax.
354         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
355         is not defined.
356         * doc/posix-headers/limits.texi: Mention the pathmax module.
357         * NEWS: Mention the change.
358
359 2011-08-02  Bruno Haible  <bruno@clisp.org>
360
361         pthread_sigmask: Actually use results of gl_THREADLIB.
362         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
363         gl_THREADLIB, not gl_[]THREADLIB.
364         Reported by Eric Blake.
365
366 2011-08-02  Jim Meyering  <meyering@redhat.com>
367
368         maint.mk: relax the default _gl_TS_function_match regexp
369         * top/maint.mk (_gl_TS_function_match): Don't require at least one
370         space between function name and "(" in an "extern" declaration.
371         That would fail to match a decl with no space there: extern void foo();
372
373 2011-07-31  Iain Nicol  <iain@thenicols.net>
374
375         git-version-gen: document that EXTRA_DIST must include .version
376         * build-aux/git-version-gen: In the how-to-use comment, document
377         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
378         will fail when run from an unpacked distribution tarball.
379
380 2011-08-01  Bruno Haible  <bruno@clisp.org>
381
382         wctype-h: Fix last change.
383         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
384         REPLACE_TOWLOWER to 0.
385         Reported by Sam Steingold <sds@gnu.org>.
386
387 2011-07-31  Bruno Haible  <bruno@clisp.org>
388
389         frexpl: Update autoconf test.
390         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
391         according to changes of 2011-06-20.
392
393 2011-07-31  Bruno Haible  <bruno@clisp.org>
394
395         sys_utsname: Add support for Minix.
396         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
397         <sys/utsname.h>.
398         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
399         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
400
401 2011-07-31  Bruno Haible  <bruno@clisp.org>
402
403         strings: Add support for Minix.
404         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
405         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
406         * doc/posix-headers/strings.texi: Document the Minix problem.
407
408 2011-07-31  Bruno Haible  <bruno@clisp.org>
409
410         wctype-h: Add support for Minix.
411         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
412         REPLACE_TOWLOWER.
413         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
414         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
415         REPLACE_ISWCNTRL.
416
417 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
418
419         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
420         This is a performance improvement for 64-bit hosts: it causes the
421         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
422
423 2011-07-31  Bruno Haible  <bruno@clisp.org>
424
425         stdioext: Add support for Minix.
426         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
427         * lib/fpurge.c (fpurge): Likewise.
428         * lib/freadahead.c (freadahead): Likewise.
429         * lib/freadable.c (freadable): Likewise.
430         * lib/freading.c (freading): Likewise.
431         * lib/freadptr.c (freadptr): Likewise.
432         * lib/freadseek.c (freadptrinc): Likewise.
433         * lib/fseeko.c (rpl_fseeko): Likewise.
434         * lib/fseterr.c (fseterr): Likewise.
435         * lib/fwritable.c (fwritable): Likewise.
436         * lib/fwriting.c (fwriting): Likewise.
437         * lib/fflush.c (clear_ungetc_buffer): Update comment.
438         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
439
440 2011-07-31  Bruno Haible  <bruno@clisp.org>
441
442         errno: Port to Minix.
443         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
444         ECONNABORTED are defined.
445         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
446         GNULIB_defined_ECONNABORTED): New macros.
447         * lib/strerror-override.h (strerror_override): Test also
448         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
449         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
450         ECONNABORTED.
451         * doc/posix-headers/errno.texi: Mention the Minix problem.
452
453 2011-07-31  Bruno Haible  <bruno@clisp.org>
454
455         Work around declaration collisions on Minix.
456         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
457         defined, set REPLACE_MBSINIT.
458         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
459         defined, set REPLACE_MBRTOWC.
460         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
461         set REPLACE_MBRLEN.
462         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
463         defined, set REPLACE_MBSRTOWCS.
464         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
465         defined, set REPLACE_WCRTOMB.
466         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
467         defined, set REPLACE_WCSRTOMBS.
468
469 2011-07-31  Bruno Haible  <bruno@clisp.org>
470
471         Add support for Minix with ACK compiler.
472         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
473         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
474         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
475
476 2011-07-31  Bruno Haible  <bruno@clisp.org>
477
478         Documentation about Minix.
479         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
480         * doc/glibc-headers/*.texi: Likewise.
481         * doc/posix-functions/*.texi: Likewise.
482         * doc/glibc-functions/*.texi: Likewise.
483
484 2011-07-31  Bruno Haible  <bruno@clisp.org>
485
486         snippet/warn-on-use: Fix indentation.
487         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
488
489 2011-07-25  Jim Meyering  <meyering@redhat.com>
490
491         tests: test-update-copyright.sh: remove unnecessary "rm" commands
492         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
493         commands.
494
495 2011-07-27  Jim Meyering  <meyering@redhat.com>
496
497         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
498         * top/maint.mk (gl_extract_significant_defines_): Now that
499         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
500         gnulib/lib/signal.in.h, and now that we recommend to
501         define-if-undefined those two symbols in application code,
502         we must filter them out of the "significant" list.
503         This avoids a "make syntax-check" failure in coreutils.
504
505 2011-07-26  Eric Blake  <eblake@redhat.com>
506
507         warnings: add comments about previous patch
508         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
509         * m4/include_next.m4: Likewise.
510         * m4/warn-on-use.m4: Likewise.
511         * m4/warnings.m4: Likewise, and simplify use.
512         Suggested by Stefano Lattarini.
513
514         include-next, warnings: support older autoconf
515         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
516         AS_VAR_PUSHDEF in a way that works with older autoconf.
517         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
518         Reported by Daniel P. Berrange.
519
520 2011-07-25  Bruno Haible  <bruno@clisp.org>
521
522         fseek, ftell: Fix doc.
523         * doc/posix-functions/fseek.texi: Reword statement about
524         AC_SYS_LARGEFILE.
525         * doc/posix-functions/ftell.texi: Likewise.
526
527 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
528             Bruno Haible  <bruno@clisp.org>
529
530         Add dependencies to the 'largefile' module.
531         * modules/fopen (Depends-on): Add 'largefile'.
532         * modules/freopen (Depends-on): Likewise.
533         * modules/fseeko (Depends-on): Likewise.
534         * modules/ftello (Depends-on): Likewise.
535         * modules/glob (Depends-on): Likewise.
536         * modules/lseek (Depends-on): Likewise.
537         * modules/lstat (Depends-on): Likewise.
538         * modules/mkostemp (Depends-on): Likewise.
539         * modules/mkostemps (Depends-on): Likewise.
540         * modules/mkstemp (Depends-on): Likewise.
541         * modules/mkstemps (Depends-on): Likewise.
542         * modules/open (Depends-on): Likewise.
543         * modules/openat (Depends-on): Likewise.
544         * modules/pread (Depends-on): Likewise.
545         * modules/pwrite (Depends-on): Likewise.
546         * modules/scandir (Depends-on): Likewise.
547         * modules/stat (Depends-on): Likewise.
548         * modules/tmpfile (Depends-on): Likewise.
549         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
550         since the containing module now depends on the largefile module.
551         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
552         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
553         off_t is fixed by gnulib.
554         * doc/posix-functions/freopen.texi: Likewise.
555         * doc/posix-functions/fseeko.texi: Likewise.
556         * doc/posix-functions/fstatat.texi: Likewise.
557         * doc/posix-functions/ftello.texi: Likewise.
558         * doc/posix-functions/glob.texi: Likewise.
559         * doc/posix-functions/lseek.texi: Likewise.
560         * doc/posix-functions/lstat.texi: Likewise.
561         * doc/posix-functions/mkstemp.texi: Likewise.
562         * doc/posix-functions/open.texi: Likewise.
563         * doc/posix-functions/openat.texi: Likewise.
564         * doc/posix-functions/pread.texi: Likewise.
565         * doc/posix-functions/pwrite.texi: Likewise.
566         * doc/posix-functions/scandir.texi: Likewise.
567         * doc/posix-functions/stat.texi: Likewise.
568         * doc/posix-functions/tmpfile.texi: Likewise.
569         * doc/glibc-functions/mkostemp.texi: Likewise.
570         * doc/glibc-functions/mkostemps.texi: Likewise.
571         * doc/glibc-functions/mkstemps.texi: Likewise.
572
573 2011-07-25  Bruno Haible  <bruno@clisp.org>
574
575         fcntl: Move AC_LIBOBJ invocation to module description.
576         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
577         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
578
579         fcntl: Remove call-in from fchdir.m4.
580         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
581         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
582
583         dup3: Remove potential call-in from fchdir.m4.
584         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
585         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
586
587         dup2: Move AC_LIBOBJ invocation to module description.
588         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
589         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
590         Don't invoke AC_LIBOBJ.
591         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
592
593         dup2: Remove call-in from fchdir.m4.
594         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
595         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
596
597         fclose: Move AC_LIBOBJ invocation to module description.
598         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
599         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
600         to 1.
601         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
602
603         fclose: Remove call-in from close.m4.
604         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
605         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
606
607         close: Move AC_LIBOBJ invocation to module description.
608         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
609         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
610         1.
611         * modules/close (configure.ac): Invoke AC_LIBOBJ.
612
613         close: Remove call-in from fchdir.m4.
614         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
615         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
616
617         open: Move AC_LIBOBJ invocation to module description.
618         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
619         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
620         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
621
622         open: Remove call-in from fchdir.m4.
623         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
624         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
625
626         fchdir: Start to remove gl_REPLACE_* idiom.
627         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
628         (gl_FUNC_FCHDIR): Invoke it.
629
630 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
631
632         * lib/ftell.c (ftell): Comment out cast.
633
634         close: use gl_REPLACE_FCLOSE only if defined
635         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
636         is defined.  The close module doesn't depend on the fclose module
637         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
638         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
639         I reproduced the problem with "./gnulib-tool --test close sys_socket".
640
641 2011-07-24  Jim Meyering  <meyering@redhat.com>
642
643         test-select.h: avoid warning when using gcc's -Wmissing-declarations
644         * tests/test-select.h (test_function): Declare as "static".
645
646 2011-07-24  Bruno Haible  <bruno@clisp.org>
647
648         doc: Mention the effects of AC_SYS_LARGEFILE.
649         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
650         on this function.
651         * doc/posix-functions/aio_error.texi: Likewise.
652         * doc/posix-functions/aio_fsync.texi: Likewise.
653         * doc/posix-functions/aio_read.texi: Likewise.
654         * doc/posix-functions/aio_return.texi: Likewise.
655         * doc/posix-functions/aio_suspend.texi: Likewise.
656         * doc/posix-functions/aio_write.texi: Likewise.
657         * doc/posix-functions/fgetpos.texi: Likewise.
658         * doc/posix-functions/fopen.texi: Likewise.
659         * doc/posix-functions/freopen.texi: Likewise.
660         * doc/posix-functions/fsetpos.texi: Likewise.
661         * doc/posix-functions/fstatvfs.texi: Likewise.
662         * doc/posix-functions/ftruncate.texi: Likewise.
663         * doc/posix-functions/ftw.texi: Likewise.
664         * doc/posix-functions/getrlimit.texi: Likewise.
665         * doc/posix-functions/glob.texi: Likewise.
666         * doc/posix-functions/lio_listio.texi: Likewise.
667         * doc/posix-functions/lockf.texi: Likewise.
668         * doc/posix-functions/mkstemp.texi: Likewise.
669         * doc/posix-functions/mmap.texi: Likewise.
670         * doc/posix-functions/nftw.texi: Likewise.
671         * doc/posix-functions/openat.texi: Likewise.
672         * doc/posix-functions/opendir.texi: Likewise.
673         * doc/posix-functions/posix_fadvise.texi: Likewise.
674         * doc/posix-functions/posix_fallocate.texi: Likewise.
675         * doc/posix-functions/pread.texi: Likewise.
676         * doc/posix-functions/pwrite.texi: Likewise.
677         * doc/posix-functions/readdir.texi: Likewise.
678         * doc/posix-functions/readdir_r.texi: Likewise.
679         * doc/posix-functions/rewinddir.texi: Likewise.
680         * doc/posix-functions/scandir.texi: Likewise.
681         * doc/posix-functions/seekdir.texi: Likewise.
682         * doc/posix-functions/setrlimit.texi: Likewise.
683         * doc/posix-functions/statvfs.texi: Likewise.
684         * doc/posix-functions/telldir.texi: Likewise.
685         * doc/posix-functions/tmpfile.texi: Likewise.
686         * doc/posix-functions/truncate.texi: Likewise.
687         * doc/glibc-functions/fallocate.texi: Likewise.
688         * doc/glibc-functions/fstatfs.texi: Likewise.
689         * doc/glibc-functions/fts_children.texi: Likewise.
690         * doc/glibc-functions/fts_read.texi: Likewise.
691         * doc/glibc-functions/getdirentries.texi: Likewise.
692         * doc/glibc-functions/mkostemp.texi: Likewise.
693         * doc/glibc-functions/mkostemps.texi: Likewise.
694         * doc/glibc-functions/mkstemps.texi: Likewise.
695         * doc/glibc-functions/preadv.texi: Likewise.
696         * doc/glibc-functions/pwritev.texi: Likewise.
697         * doc/glibc-functions/sendfile.texi: Likewise.
698         * doc/glibc-functions/statfs.texi: Likewise.
699
700 2011-07-24  Bruno Haible  <bruno@clisp.org>
701
702         doc: Fix typo.
703         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
704
705 2011-07-24  Bruno Haible  <bruno@clisp.org>
706
707         doc: Mention fsusage.
708         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
709
710 2011-07-24  Bruno Haible  <bruno@clisp.org>
711
712         doc: Mention new glibc headers and functions.
713         * doc/glibc-headers/gshadow.texi: New file.
714         * doc/glibc-functions/endsgent.texi: New file.
715         * doc/glibc-functions/fgetsgent.texi: New file.
716         * doc/glibc-functions/fgetsgent_r.texi: New file.
717         * doc/glibc-functions/getsgent.texi: New file.
718         * doc/glibc-functions/getsgent_r.texi: New file.
719         * doc/glibc-functions/getsgnam.texi: New file.
720         * doc/glibc-functions/getsgnam_r.texi: New file.
721         * doc/glibc-functions/putsgent.texi: New file.
722         * doc/glibc-functions/setsgent.texi: New file.
723         * doc/glibc-functions/sgetsgent.texi: New file.
724         * doc/glibc-functions/sgetsgent_r.texi: New file.
725         * doc/glibc-functions/malloc_info.texi: New file.
726         * doc/glibc-functions/preadv.texi: New file.
727         * doc/glibc-functions/pwritev.texi: New file.
728         * doc/glibc-functions/register_printf_modifier.texi: New file.
729         * doc/glibc-functions/register_printf_specifier.texi: New file.
730         * doc/glibc-functions/register_printf_type.texi: New file.
731         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
732         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
733         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
734         * doc/glibc-functions/pthread_getname_np.texi: New file.
735         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
736         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
737         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
738         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
739         * doc/glibc-functions/pthread_setname_np.texi: New file.
740         * doc/glibc-functions/pthread_sigqueue.texi: New file.
741         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
742         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
743         * doc/glibc-functions/qsort_r.texi: New file.
744         * doc/glibc-functions/quick_exit.texi: New file.
745         * doc/glibc-functions/syncfs.texi: New file.
746         * doc/gnulib.texi: Include them.
747         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
748         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
749         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
750         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
751         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
752         * doc/glibc-functions/execvpe.texi: Likewise.
753
754 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
755
756         ftell: don't include <unistd.h>
757         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
758         guaranteed to define off_t, and the ftell module depends on the
759         stdio module.
760
761         ftell: do not assume wraparound signed arithmetic
762         * lib/ftell.c: Include <limits.h>.
763         (ftell): Don't assume wraparound signed arithmetic.
764
765 2011-07-24  Bruno Haible  <bruno@clisp.org>
766
767         close: No longer depend on module 'fclose'.
768         * modules/close (Depends-on): Remove fclose.
769         * NEWS: Mention the change.
770         Suggested by Sam Steingold <sds@gnu.org>.
771
772 2011-07-24  Bruno Haible  <bruno@clisp.org>
773
774         fsusage: Enable large volume support on AIX >= 5.2.
775         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
776         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
777         instead of STAT_STATVFS.
778         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
779
780         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
781         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
782         f_blocks field only on MacOS X.
783
784         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
785         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
786         * modules/fsusage (Depends-on): Add largefile.
787
788 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
789
790         * README: Modernize discussion of signed integers.
791         Assuming overflow wraparound is no longer safe.
792         Mention ones' complement and signed magnitude.
793
794 2011-07-22  Bruno Haible  <bruno@clisp.org>
795
796         select tests, pselect tests: Refactor.
797         * tests/test-select.h: New file, extracted from tests/test-select.c.
798         (select_fn): New type.
799         (test, do_select, do_select_nowait, do_select_wait, test_tty,
800         test_connect_first, test_accept_first, test_pair, test_socket_pair,
801         test_pipe): Add my_select argument.
802         (test_function): Renamed from main. Add my_select argument.
803         * tests/test-select.c: Move most code to tests/test-select.h. Include
804         test-select.h.
805         * modules/select-tests (Files): Add tests/test-select.h.
806         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
807         (my_select, main): New functions.
808         * modules/pselect-tests (Files): Add tests/test-select.h,
809         tests/macros.h, tests/signature.h.
810         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
811         (configure.ac): Check for <sys/wait.h>.
812
813 2011-07-22  Bruno Haible  <bruno@clisp.org>
814
815         sys_select tests: Check the signature of FD_*.
816         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
817         signature tests from here...
818         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
819         here.
820         * modules/sys_select-tests (Files): Add tests/signature.h.
821
822 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
823
824         largefile: new module, replacing large-inode
825         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
826         * MODULES.html.sh: Add largefile, remove large-inode.
827         * modules/largefile, m4/largefile.m4: New files.
828         * modules/large-inode, m4/large-inode.m4: Remove.
829
830         fsusage: port to MacOS X 10.7 with 4 TiB file systems
831         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
832         implementations that use only 32 bits to count blocks.
833         On typical hosts with 1024-byte blocks, this fails with file
834         systems as small as 4 TiB.  Problem reported by Herb Wartens
835         <http://debbugs.gnu.org/9140> and this should also fix a similar
836         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
837
838         large-inode: New module
839         * MODULES.html.sh: Add it.
840         * modules/large-inode, m4/large-inode.m4: New files.
841
842         extensions: Enable extensions on MacOS X 10.5 and later.
843         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
844
845 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
846
847         file-has-acl: use acl_extended_file_nofollow if available
848         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
849         (acl_extended_file): New macro.
850         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
851         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
852
853 2011-07-21  Bruno Haible  <bruno@clisp.org>
854
855         Declare system functions in a way that works with C++.
856         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
857         declare fdopendir as extern "C".
858         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
859         declare frexpl as extern "C".
860         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
861         declare gai_strerror as extern "C".
862         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
863         programs, declare gai_strerror as extern "C".
864         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
865         declare getlogin_r as extern "C".
866         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
867         as extern "C".
868         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
869         declare ldexpl as extern "C".
870         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
871         as extern "C".
872         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
873         program, declare getmntinfo as extern "C".
874         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
875         stpncpy as extern "C".
876         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
877         program, declare __xpg_strerror_r as extern "C".
878         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
879         strndup as extern "C".
880         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
881         declare memset and bzero as extern "C".
882         Reported by Sam Steingold <sds@gnu.org>.
883
884 2011-07-12  Jim Meyering  <meyering@redhat.com>
885
886         maint.mk: prohibit inclusion of "verify.h" without use
887         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
888
889 2011-07-19  Pádraig Brady  <P@draigBrady.com>
890
891         timer-time: A new module to check for timer_settime()
892         * m4/timer_time.m4: Check for the posix function.
893         * modules/timer-time: Add the new module.
894         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
895         Mention it.
896
897 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
898             Bruno Haible  <bruno@clisp.org>
899
900         pthread_sigmask: assume POSIX threads if --avoid=threadlib
901         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
902         not defined, assume POSIX threads and look for pthread_sigmask in
903         $LIBS, without changing $CPPFLAGS.
904
905 2011-07-19  Bruno Haible  <bruno@clisp.org>
906
907         strstr: Update cross-compilation guess.
908         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
909         CPUs, guess no, in view of glibc
910         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
911         Suggested by Eric Blake. Reported by Reuben Thomas.
912
913 2011-07-19  Pádraig Brady  <P@draigBrady.com>
914
915         getopt-gnu: suppress core dumps from detection code
916         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
917         to suppress core dumps that may well occur on glibc systems.
918         * modules/getopt-gnu: Depend on nocrash.
919
920 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
921
922         pthread_sigmask: ensure usleep is declared
923         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
924         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
925
926 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
927
928         doc: Document NonStop portability issues.
929         * doc/posix-functions/sigaction.texi (sigaction):
930         * doc/posix-headers/signal.texi (signal.h):
931         Document NonStop.  See Joachim Schmitz in
932         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
933
934 2011-07-15  Bruno Haible  <bruno@clisp.org>
935
936         ffsl, ffsll: Avoid unportable behaviour.
937         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
938
939 2011-07-15  Bruno Haible  <bruno@clisp.org>
940
941         ffs: More tests.
942         * tests/test-ffs.c (NBITS): New macro.
943         (main): Add more tests.
944         * tests/test-ffsl.c (NBITS): New macro.
945         (main): Add more tests.
946         * tests/test-ffsll.c (NBITS): New macro.
947         (main): Add more tests.
948
949 2011-07-15  Eric Blake  <eblake@redhat.com>
950
951         ffsl, ffsll: new modules
952         * modules/ffsl: New file.
953         * modules/ffsll: Likewise.
954         * m4/ffsl.m4: Likewise.
955         * m4/ffsll.m4: Likewise.
956         * lib/ffsl.c: Likewise.
957         * lib/ffsl.h: Likewise.
958         * lib/ffsll.c: Likewise.
959         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
960         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
961         * modules/string (Makefile.am): Substitute witnesses.
962         * lib/strings.in.h (ffsl, ffsll): Declare.
963         * modules/ffsl-tests: New test file.
964         * modules/ffsll-tests: Likewise.
965         * tests/test-ffsl.c: Likewise.
966         * tests/test-ffsll.c: Likewise.
967         * MODULES.html.sh (Integer arithmetic functions): Mention it.
968         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
969         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
970
971         ffs: fix m4 prerequisite
972         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
973
974         ffs: avoid undefined behavior
975         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
976         * tests/test-ffs.c (naive, main): Avoid signed shifts.
977         Reported by Bruno Haible.
978
979 2011-07-12  Bruno Haible  <bruno@clisp.org>
980
981         pthread_sigmask: Rely on module 'threadlib'.
982         * modules/pthread_sigmask (Depends-on): Add threadlib.
983         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
984         is defined.
985
986 2011-07-12  Bruno Haible  <bruno@clisp.org>
987
988         regex: Depend on module 'strcase'.
989         * modules/regex (Depends-on): Add strcase, for strcasecmp().
990
991 2011-07-12  Jim Meyering  <meyering@redhat.com>
992
993         warn-on-use: fix typo in file name
994         * modules/snippet/warn-on-use (Files): Correct file name:
995         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
996
997 2011-07-12  Bruno Haible  <bruno@clisp.org>
998
999         strings: Document module.
1000         * doc/posix-headers/strings.texi: Mention module 'strings'.
1001
1002 2011-07-12  Bruno Haible  <bruno@clisp.org>
1003
1004         Rename module '_Noreturn' to 'snippet/_Noreturn'.
1005         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
1006         (Files, Makefile.am): Update.
1007         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
1008         * modules/stdlib (Depends-on): Update.
1009
1010 2011-07-12  Bruno Haible  <bruno@clisp.org>
1011
1012         * NEWS: Mention the changes.
1013
1014         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
1015         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
1016         (Files, Makefile.am): Update.
1017         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
1018         * modules/arpa_inet (Depends-on): Update.
1019         * modules/ctype (Depends-on): Update.
1020         * modules/dirent (Depends-on): Update.
1021         * modules/fcntl-h (Depends-on): Update.
1022         * modules/glob (Depends-on): Update.
1023         * modules/iconv-h (Depends-on): Update.
1024         * modules/inttypes-incomplete (Depends-on): Update.
1025         * modules/langinfo (Depends-on): Update.
1026         * modules/locale (Depends-on): Update.
1027         * modules/math (Depends-on): Update.
1028         * modules/netdb (Depends-on): Update.
1029         * modules/poll-h (Depends-on): Update.
1030         * modules/pty (Depends-on): Update.
1031         * modules/search (Depends-on): Update.
1032         * modules/signal (Depends-on): Update.
1033         * modules/spawn (Depends-on): Update.
1034         * modules/stdio (Depends-on): Update.
1035         * modules/stdlib (Depends-on): Update.
1036         * modules/string (Depends-on): Update.
1037         * modules/strings (Depends-on): Update.
1038         * modules/sys_file (Depends-on): Update.
1039         * modules/sys_ioctl (Depends-on): Update.
1040         * modules/sys_select (Depends-on): Update.
1041         * modules/sys_socket (Depends-on): Update.
1042         * modules/sys_stat (Depends-on): Update.
1043         * modules/sys_time (Depends-on): Update.
1044         * modules/sys_times (Depends-on): Update.
1045         * modules/sys_utsname (Depends-on): Update.
1046         * modules/sys_wait (Depends-on): Update.
1047         * modules/termios (Depends-on): Update.
1048         * modules/time (Depends-on): Update.
1049         * modules/unistd (Depends-on): Update.
1050         * modules/wchar (Depends-on): Update.
1051         * modules/wctype-h (Depends-on): Update.
1052         * MODULES.html.sh (Support for building libraries and executables):
1053         Update.
1054
1055         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
1056         * modules/snippet/unused-parameter: Renamed from
1057         modules/unused-parameter.
1058         (Files, Makefile.am): Update.
1059         * build-aux/snippet/unused-parameter.h: Renamed from
1060         build-aux/unused-parameter.h.
1061         * modules/selinux-h (Depends-on): Update.
1062         * modules/unistr/base (Depends-on): Update.
1063         * MODULES.html.sh (Core language properties): Update.
1064
1065         Rename module 'link-warning' to 'snippet/link-warning'.
1066         * modules/snippet/link-warning: Renamed from modules/link-warning.
1067         (Files, Makefile.am): Update.
1068         * build-aux/snippet/link-warning.h: Renamed from
1069         build-aux/link-warning.h.
1070         * MODULES.html.sh (Support for building libraries and executables):
1071         Update.
1072
1073         Rename module 'c++defs' to 'snippet/c++defs'.
1074         * modules/snippet/c++defs: Renamed from modules/c++defs.
1075         (Files, Makefile.am): Update.
1076         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
1077         * modules/arpa_inet (Depends-on): Update.
1078         * modules/ctype (Depends-on): Update.
1079         * modules/dirent (Depends-on): Update.
1080         * modules/fcntl-h (Depends-on): Update.
1081         * modules/glob (Depends-on): Update.
1082         * modules/iconv-h (Depends-on): Update.
1083         * modules/langinfo (Depends-on): Update.
1084         * modules/locale (Depends-on): Update.
1085         * modules/math (Depends-on): Update.
1086         * modules/netdb (Depends-on): Update.
1087         * modules/poll-h (Depends-on): Update.
1088         * modules/pty (Depends-on): Update.
1089         * modules/search (Depends-on): Update.
1090         * modules/signal (Depends-on): Update.
1091         * modules/spawn (Depends-on): Update.
1092         * modules/stdio (Depends-on): Update.
1093         * modules/stdlib (Depends-on): Update.
1094         * modules/string (Depends-on): Update.
1095         * modules/strings (Depends-on): Update.
1096         * modules/sys_ioctl (Depends-on): Update.
1097         * modules/sys_select (Depends-on): Update.
1098         * modules/sys_socket (Depends-on): Update.
1099         * modules/sys_stat (Depends-on): Update.
1100         * modules/sys_time (Depends-on): Update.
1101         * modules/sys_wait (Depends-on): Update.
1102         * modules/termios (Depends-on): Update.
1103         * modules/time (Depends-on): Update.
1104         * modules/unistd (Depends-on): Update.
1105         * modules/wchar (Depends-on): Update.
1106         * modules/wctype-h (Depends-on): Update.
1107
1108         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
1109         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
1110         (Files, Makefile.am): Update.
1111         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
1112         * modules/argv-iter (Depends-on): Update.
1113         * modules/arpa_inet (Depends-on): Update.
1114         * modules/dirent (Depends-on): Update.
1115         * modules/fcntl-h (Depends-on): Update.
1116         * modules/fnmatch (Depends-on): Update.
1117         * modules/getopt-posix (Depends-on): Update.
1118         * modules/glob (Depends-on): Update.
1119         * modules/iconv-h (Depends-on): Update.
1120         * modules/inttypes-incomplete (Depends-on): Update.
1121         * modules/locale (Depends-on): Update.
1122         * modules/math (Depends-on): Update.
1123         * modules/netdb (Depends-on): Update.
1124         * modules/search (Depends-on): Update.
1125         * modules/signal (Depends-on): Update.
1126         * modules/spawn (Depends-on): Update.
1127         * modules/stdio (Depends-on): Update.
1128         * modules/stdlib (Depends-on): Update.
1129         * modules/string (Depends-on): Update.
1130         * modules/strings (Depends-on): Update.
1131         * modules/sys_socket (Depends-on): Update.
1132         * modules/sys_stat (Depends-on): Update.
1133         * modules/sys_time (Depends-on): Update.
1134         * modules/sys_times (Depends-on): Update.
1135         * modules/sys_utsname (Depends-on): Update.
1136         * modules/time (Depends-on): Update.
1137         * modules/unistd (Depends-on): Update.
1138         * modules/wchar (Depends-on): Update.
1139         * MODULES.html.sh (Support for building libraries and executables):
1140         Update.
1141
1142 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
1143
1144         Improvements on _Noreturn and related modules.
1145
1146         modules/_Exit-tests: test _Noreturn too
1147         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
1148         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
1149         (main): Use them.
1150
1151         stdnoreturn, stdnoreturn-tests: remove modules
1152         They're not needed here and a bit premature for use elsewhere.  See
1153         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
1154         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
1155         * tests/test-stdnoreturn.c: Remove files.
1156         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
1157         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
1158         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
1159         and using noreturn.
1160         * modules/openat, modules/sigpipe-die, modules/xalloc:
1161         * modules/xmemdup0, modules/xstrtol:
1162         Remove dependency on stdnoreturn.
1163
1164         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
1165         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
1166         Reparenthesize to avoid GCC warning.
1167         Support Microsoft's syntax.
1168         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
1169
1170         _Noreturn-tests: remove module
1171         * modules/_Noreturn-tests: Remove.
1172         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
1173         * tests/test-_Noreturn.c: Remove.
1174         * tests/test-stdnoreturn.c: Merge from the old
1175         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
1176
1177 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
1178
1179         _Noreturn, stdnoreturn, and related modules.
1180
1181         * top/maint.mk: Adjust to new noreturn support.
1182         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
1183         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
1184
1185         xalloc: use stdnoreturn.h
1186         * lib/xalloc.h: Include <stdnoreturn.h>.
1187         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1188         * modules/xalloc (Depends-on): Add stdnoreturn.
1189
1190         xstrtol: use stdnoreturn.h
1191         * lib/xstrtol.h: Include <stdnoreturn.h>.
1192         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1193         * modules/xstrtol (Depends-on): Add stdnoreturn.
1194
1195         xmemdup0: use stdnoreturn.h
1196         * lib/xmemdup0.h: Include <stdnoreturn.h>.
1197         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1198         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
1199
1200         sigpipe-die: use stdnoreturn.h
1201         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
1202         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1203         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
1204
1205         openat: use stdnoreturn.h
1206         * lib/openat.h: Include <stdnoreturn.h>.
1207         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
1208         * modules/openat (Depends-on): Add stdnoreturn.
1209
1210         * lib/openat-die.c (openat_save_fail): Modernize comment.
1211
1212         * lib/xalloc-die.c (xalloc_die): Modernize comment.
1213
1214         * lib/glthread/thread.h: Modernize comment.
1215
1216         obstack: use _Noreturn
1217         * lib/obstack.c (__attribute__): Remove macro.
1218         (print_and_abort): Use _Noreturn.
1219
1220         c-stack: use _Noreturn
1221         * lib/c-stack.c (die, overflow_handler, segv_handler):
1222         Use _Noreturn rather than __attribute__((noreturn)).
1223
1224         argmatch-tests, exclude_tests: use _Noreturn
1225         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
1226         Remove.
1227         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
1228
1229         stdlib: use _Noreturn
1230         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
1231         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
1232         * modules/stdlib (Depends-on): Add _Noreturn.
1233         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
1234
1235         stdnoreturn-tests: new module
1236         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
1237
1238         stdnoreturn: new module
1239         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
1240         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
1241
1242         _Noreturn-tests: new module
1243         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
1244
1245         _Noreturn: new module
1246         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
1247         New section, mentioning it.
1248         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
1249
1250         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
1251
1252 2011-07-11  Eric Blake  <eblake@redhat.com>
1253
1254         ffs: new module
1255         * modules/ffs: New file.
1256         * m4/ffs.m4: Likewise.
1257         * lib/ffs.c: Likewise.
1258         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
1259         * modules/strings (Makefile.am): Substitute witness.
1260         (Depends-on): Add c++defs.
1261         * lib/strings.in.h (ffs): Declare.
1262         * modules/ffs-tests: New test file.
1263         * tests/test-ffs.c: Test new module.
1264         * MODULES.html.sh (Integer arithmetic functions): Mention it.
1265         * doc/posix-functions/ffs.texi (ffs): Likewise.
1266
1267         regex: avoid compiler warning
1268         * lib/regex.c (includes): Include <strings.h>, for use of
1269         strcasecmp in regcomp.c.
1270         Reported by Joachim Schmitz.
1271
1272 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
1273
1274         stdint: respect system's intmax_t if INTMAX_MAX
1275         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
1276         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
1277         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
1278         long but int64_t is long long, and where we will clash with the
1279         system intmax_t if we override it.  See
1280         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
1281         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
1282         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
1283         similarly for UINTMAX_C.
1284
1285 2011-07-08  Bruno Haible  <bruno@clisp.org>
1286
1287         pthread_sigmask tests: Avoid a compiler warning.
1288         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
1289         non-zero.
1290
1291         sigprocmask tests: A better way to avoid a compiler warning.
1292         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
1293         (main): Complain if system() returns non-zero.
1294         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
1295
1296 2011-07-08  Bruno Haible  <bruno@clisp.org>
1297
1298         pthread_sigmask: Work around IRIX bug.
1299         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
1300         bug.
1301         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
1302         there may be unblocked pending signals.
1303         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
1304
1305 2011-07-08  Bruno Haible  <bruno@clisp.org>
1306
1307         pthread_sigmask: Work around Cygwin bug.
1308         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
1309         bug.
1310         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
1311         the system's pthread_sigmask function.
1312         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
1313
1314 2011-07-08  Bruno Haible  <bruno@clisp.org>
1315
1316         pthread_sigmask: Work around bug in single-threaded implementation.
1317         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
1318         FreeBSD, HP-UX, Solaris bug.
1319         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
1320         * lib/pthread_sigmask.c: Include <stddef.h>.
1321         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
1322         the system's pthread_sigmask function.
1323         * modules/pthread_sigmask (configure.ac): Invoke
1324         gl_PREREQ_PTHREAD_SIGMASK.
1325         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
1326         HP-UX, Solaris.
1327
1328 2011-07-08  Eric Blake  <eblake@redhat.com>
1329
1330         test-sigprocmask: avoid compiler warning
1331         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
1332         * tests/test-sigprocmask.c (main): Use it to silence warning.
1333         Reported by Jim Meyering.
1334
1335         test-snprintf: avoid compiler warning
1336         * tests/test-snprintf.c (main): Avoid shadowed declaration.
1337         * tests/test-vsnprintf.c (main): Likewise.
1338         Reported by Jim Meyering.
1339
1340 2011-07-08  Bruno Haible  <bruno@clisp.org>
1341
1342         Tests for module 'pthread_sigmask'.
1343         * modules/pthread_sigmask-tests: New file.
1344         * tests/test-pthread_sigmask1.c: New file, based on
1345         tests/test-sigprocmask.c.
1346         * tests/test-pthread_sigmask2.c: New file.
1347
1348 2011-07-08  Jim Meyering  <meyering@redhat.com>
1349
1350         test-getopt.h: avoid warning about an unused variable
1351         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
1352
1353 2011-07-07  Jim Meyering  <meyering@redhat.com>
1354
1355         maint: reduce list of files exempt from sc_prohibit_leading_TABs
1356         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
1357         now that it no longer contains leading TABs.
1358         Remove unused "url=FIXME" statement.
1359
1360 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
1361
1362         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
1363         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
1364         When gl_THREADLIB is not in use, assume that the POSIX sematics
1365         are desired.  This is better for Emacs, which uses POSIX semantics
1366         on GNUish and/or POSIXish platforms, and does not use threads at
1367         all otherwise.
1368
1369         pthread_sigmask: fix typo when testing for libraries
1370         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
1371         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
1372
1373 2011-07-08  Eric Blake  <eblake@redhat.com>
1374
1375         fts: introduce FTS_NOATIME
1376         * lib/fts_.h (FTS_NOATIME): New bit flag.
1377         (FTS_OPTIONMASK): Adjust.
1378         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
1379         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
1380
1381 2011-07-08  Bruno Haible  <bruno@clisp.org>
1382
1383         Tests for module 'thread'.
1384         * modules/thread-tests: New file.
1385         * tests/test-thread_self.c: New file.
1386         * tests/test-thread_create.cc: New file.
1387
1388 2011-07-08  Bruno Haible  <bruno@clisp.org>
1389
1390         thread: Avoid gcc warnings when using gl_thread_self().
1391         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
1392         'void *'.
1393         (gl_thread_self_pointer): Update.
1394
1395 2011-07-07  Bruno Haible  <bruno@clisp.org>
1396
1397         signal-c++-tests: Check declaration of pthread_sigmask.
1398         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
1399         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
1400         $(LIB_PTHREAD_SIGMASK).
1401
1402 2011-07-07  Bruno Haible  <bruno@clisp.org>
1403
1404         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
1405         * lib/signal.in.h (pthread_sigmask): Override if
1406         REPLACE_PTHREAD_SIGMASK is 1.
1407         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
1408         REPLACE_PTHREAD_SIGMASK.
1409         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
1410         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
1411         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
1412         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
1413         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
1414
1415 2011-07-07  Bruno Haible  <bruno@clisp.org>
1416
1417         pthread_sigmask: Ensure declaration in <signal.h>.
1418         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
1419         include <pthread.h>.
1420         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
1421         problem.
1422
1423 2011-07-07  Bruno Haible  <bruno@clisp.org>
1424
1425         pthread_sigmask: Document the module.
1426         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
1427
1428 2011-07-07  Bruno Haible  <bruno@clisp.org>
1429
1430         pthread_sigmask: Follow gnulib conventions.
1431         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
1432         gl_PTHREAD_SIGMASK.
1433         * modules/pthread_sigmask (configure.ac): Update.
1434
1435 2011-07-07  Bruno Haible  <bruno@clisp.org>
1436
1437         pthread_sigmask: Make declaration C++ safe.
1438         * lib/signal.in.h: In two special conditions, just do an #include_next.
1439         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
1440         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
1441         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
1442         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
1443         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
1444         not REPLACE_PTHREAD_MASK.
1445         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
1446         not REPLACE_PTHREAD_MASK.
1447         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
1448
1449 2011-07-07  Bruno Haible  <bruno@clisp.org>
1450
1451         pthread_sigmask: Fix return value.
1452         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
1453         * lib/pthread_sigmask.c: New file.
1454         * modules/pthread_sigmask (Files): Add it.
1455         (configure.ac): Invoke AC_LIBOBJ.
1456
1457 2011-07-07  Eric Blake  <eblake@redhat.com>
1458
1459         getopt: more portable argv creation
1460         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
1461         const, use char arrays rather than strings.
1462         Suggested by Paul Eggert.
1463
1464 2011-07-07  Bruno Haible  <bruno@clisp.org>
1465
1466         Tests for module 'sigprocmask'.
1467         * modules/sigprocmask-tests: New file.
1468         * tests/test-sigprocmask.c: New file.
1469
1470 2011-07-07  Bruno Haible  <bruno@clisp.org>
1471
1472         float tests: Tweak.
1473         * tests/test-float.c (main): Tweak skip message.
1474
1475 2011-07-07  Eric Blake  <eblake@redhat.com>
1476
1477         getopt: avoid compiler warning during configure
1478         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
1479         assigning string literals to non-const pointer.
1480
1481         getopt-gnu: avoid crash in glibc getopt
1482         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
1483         * tests/test-getopt.h (test_getopt): Enhance test.
1484         * tests/test-getopt_long.h (test_getopt_long): Likewise.
1485         * doc/posix-functions/getopt.texi (getopt): Document it.
1486         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
1487         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
1488         Likewise.
1489
1490 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
1491
1492         getopt: handle W; without long options in getopt [BZ #12922]
1493         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
1494         but no long options are defined, just return 'W'.
1495
1496 2011-07-07  Bruno Haible  <bruno@clisp.org>
1497
1498         Avoid literal tabs.
1499         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
1500         variable containing a tab instead of a literal tab.
1501         Reported by Jim Meyering.
1502
1503 2011-07-07  Bruno Haible  <bruno@clisp.org>
1504
1505         Comments.
1506         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
1507
1508 2011-07-06  Bruno Haible  <bruno@clisp.org>
1509
1510         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
1511         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
1512         <winsock2.h>.
1513         (rpl_fd_isset, FD_ISSET): New definitions, copied from
1514         lib/sys_socket.in.h.
1515         (close, gethostname): Hide declarations from <winsock2.h>.
1516         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
1517         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
1518         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
1519         (select): Don't override if gnulib's <sys/select.h> was already
1520         included.
1521         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
1522         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
1523         setsockopt, shutdown, select): Tweak indentation.
1524
1525 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1526
1527         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
1528         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
1529         in an application that does not use the sys_select module.
1530
1531 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
1532
1533         poll: do not return 0 on timeout=-1
1534         * lib/poll.c: Loop with yield if no events occured
1535
1536 2011-07-06  Eric Blake  <eblake@redhat.com>
1537
1538         pthread_sigmask: always replace when not using pthread
1539         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
1540         replacement when using some threading other than pthread.  Fix
1541         logic bug.
1542
1543 2011-07-06  Bruno Haible  <bruno@clisp.org>
1544
1545         Comments.
1546         * m4/printf.m4: Update comments about mingw.
1547
1548 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1549
1550         sys_select: define sigset_t more portably
1551         * lib/sys_select.in.h: Always include <sys/types.h>, since
1552         we now need sigset_t and mingw defines it there.
1553         Include <signal.h> before split inclusion guard, to avoid
1554         mishaps on Solaris, whose <signal.h> eventually includes us.
1555         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
1556         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
1557         which come from ...
1558         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
1559         gl_CHECK_TYPE_SIGSET_T.
1560         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
1561         does the real work.
1562         * modules/sys_select (Depends-on): Add 'signal'.
1563
1564         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
1565         Suggested by Bruno Haible.
1566
1567         pselect: Use pthread_sigmask, not sigprocmask.
1568         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
1569         multithreaded apps better than sigprocmask does.
1570         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
1571         sigprocmask directly.
1572
1573 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1574
1575         * lib/pselect.c (pselect): Use plain name, without "rpl_".
1576         Don't #undef,  since we don't need any underlying pselect.
1577         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
1578         (Depends-on): Add select.
1579         (Link): Add $(LIBSOCKET).
1580         These changes suggested by Bruno Haible.
1581
1582         pselect: document better
1583         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
1584         * doc/posix-functions/pselect.texi (pselect): Document new module.
1585
1586         pthread_sigmask: new module
1587         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
1588         * doc/posix-functions/pthread_sigmask.texi: Document new module.
1589         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
1590         This is done only as a macro; I don't know how well that'll
1591         work for C++.  Move <sys/types.h> include before the include_next,
1592         to avoid mishap on Solaris.
1593         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
1594         * modules/signal (Makefile.am): Substitute the check's results.
1595         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
1596
1597         test-pselect: new module
1598         * modules/pselect-tests, tests/test-pselect.c: New files.
1599         * tests/test-select.c, tests/test-sys_select-c++.cc:
1600         If TEST_PSELECT is defined, test pselect instead of testing select.
1601
1602         * tests/test-sys_select.c (sigset_t): Test for it, too.
1603         Suggested by Bruno Haible.
1604
1605 2011-07-05  Eric Blake  <eblake@redhat.com>
1606
1607         snprintf: guarantee %1$d, for libintl
1608         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
1609         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
1610         * doc/posix-functions/snprintf.texi (snprintf): Update.
1611         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
1612         * tests/test-snprintf.c (main): Enhance test.
1613         * tests/test-vsnprintf.c (main): Likewise.
1614
1615 2011-07-05  Jim Meyering  <meyering@redhat.com>
1616
1617         maint: exempt stdio-read.c and stdio-write.c from the cppi check
1618         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
1619         per Bruno's request, to accommodate this idiom (no space after "#")
1620         even when the function is inside an #if block:
1621         char *
1622         gets (char *s)
1623         #undef gets
1624         {
1625           ...
1626         }
1627
1628 2011-07-04  Jim Meyering  <meyering@redhat.com>
1629
1630         maint: indent with spaces, not TABs, and add a rule to check this
1631         * tests/test-userspec.c: Indent with spaces, not TABs.
1632         * tests/test-argp.c: Likewise.
1633         * tests/test-c-stack2.sh: Likewise.
1634         * tests/test-parse-duration.sh: Likewise
1635         * m4/strtod.m4: Likewise.
1636         * m4/alloca.m4: Likewise.
1637         * m4/pselect.m4: Likewise.
1638         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
1639
1640 2011-07-03  Jim Meyering  <meyering@redhat.com>
1641
1642         maint.mk: correct omissions in prohibit_argmatch_without_use check
1643         This rule would mistakenly report that argmatch.h is included without
1644         use even when both the argmatch and invalid_arg macro were used.
1645         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
1646         of argmatch and invalid_arg.
1647
1648 2011-07-03  Bruno Haible  <bruno@clisp.org>
1649
1650         Comments about EINTR.
1651         * lib/safe-read.h: Explain the purpose of this module.
1652         * lib/safe-write.h: Likewise.
1653         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
1654         module.
1655         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
1656         module.
1657         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1658
1659 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1660
1661         xnanosleep: Rewrite to use new dtotimespec module.
1662         It has the conversion code that used to be in xnanosleep.
1663         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
1664         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
1665         (TIME_T_MAX): Remove.
1666         (xnanosleep): Rewrite in terms of dtotimespec.
1667         * modules/xnanosleep (Depends-on): Add dtotimespec.
1668         Remove intprops, stdbool.
1669
1670         timespec-add, timespec-sub: new modules
1671         * lib/timespec.h (timespec_add, timespec_sub): New decls.
1672         * lib/timespec-add.c, lib/timespec-sub.c:
1673         * modules/timespec-add, modules/timespec-sub: New files.
1674
1675         dtotimespec: new module
1676         * lib/timespec.h (dtotimespec): New decl.
1677         * lib/dtotimespec.c, modules/dtotimespec: New files.
1678
1679         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
1680
1681         pselect: new module
1682         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
1683         (pselect): New decls.
1684         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
1685         since the standard pselect decl uses 'restrict'.
1686         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
1687         HAVE_PSELECT, REPLACE_PSELECT.
1688         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
1689         HAVE_PSELECT, REPLACE_PSELECT.
1690         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
1691
1692         sys_select: don't depend on sys_socket
1693         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
1694         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
1695         This fix works on GNU and GNU-like platforms, but has not been tested
1696         on native Windows.
1697         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
1698         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
1699         gl_HEADER_SYS_SOCKET.
1700         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
1701         gl_PREREQ_SYS_H_WINSOCK2.
1702
1703 2011-06-29  Eric Blake  <eblake@redhat.com>
1704
1705         pipe2: fix C89 compile problem
1706         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
1707         Reported by Bruno Haible.
1708
1709         pipe, pipe2: don't corrupt fd on error
1710         * lib/pipe.c (pipe): Leave fd unchanged on error.
1711         * lib/pipe2.c (pipe2): Likewise.
1712         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
1713         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
1714
1715 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
1716
1717         mmap-anon: do not use regular expressions inadvertently
1718         * m4/mmap-anon.m4: Remove trailing period from strings sought
1719         in the output.
1720
1721 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1722
1723         nanosleep: fix integer overflow problem
1724         * lib/nanosleep.c (my_usleep): Don't assume signed integer
1725         arithmetic wraps around on overflow.
1726
1727         nanosleep: simplify carrying
1728         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
1729         first call to the underyling nanosleep, not for the last one.
1730         This doesn't fix any bugs, but it simplifies the computation of
1731         the remaining delay.  Found while auditing integer overflow issues.
1732
1733         dup2: remove test for existence of fcntl
1734         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
1735         "#if HAVE_FCNTL", in the configure-time test program.
1736         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
1737         and therefore speeds up "configure" a bit.  Found while
1738         adding the dup2 module to Emacs.
1739
1740 2011-06-24  Eric Blake  <eblake@redhat.com>
1741
1742         maint.mk: enhance useless header checks
1743         * top/maint.mk (_sc_header_without_use): Check both include
1744         styles.
1745         (sc_prohibit_assert_without_use)
1746         (sc_prohibit_close_stream_without_use)
1747         (sc_prohibit_getopt_without_use)
1748         (sc_prohibit_quotearg_without_use)
1749         (sc_prohibit_quote_without_use)
1750         (sc_prohibit_long_options_without_use)
1751         (sc_prohibit_inttostr_without_use)
1752         (sc_prohibit_ignore_value_without_use)
1753         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
1754         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
1755         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
1756         (sc_prohibit_hash_pjw_without_use)
1757         (sc_prohibit_safe_read_without_use)
1758         (sc_prohibit_argmatch_without_use)
1759         (sc_prohibit_canonicalize_without_use)
1760         (sc_prohibit_root_dev_ino_without_use)
1761         (sc_prohibit_openat_without_use)
1762         (sc_prohibit_c_ctype_without_use)
1763         (sc_prohibit_signal_without_use)
1764         (sc_prohibit_stdio--_without_use)
1765         (sc_prohibit_stdio-safer_without_use)
1766         (sc_prohibit_strings_without_use)
1767         (sc_prohibit_intprops_without_use)
1768         (sc_prohibit_stddef_without_use)
1769         (sc_prohibit_xfreopen_without_use): Update clients.
1770
1771 2011-06-24  Jim Meyering  <meyering@redhat.com>
1772
1773         syntax-check: keep one maint.mk rule in sync with its header
1774         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
1775         of the bug Eric has just fixed, with today's commit 25e4c2ec.
1776         I prefer to avoid temporary files here, so use <(...), but that
1777         is not supported by /bin/sh, so...
1778         (SHELL): Define to /bin/bash.
1779
1780 2011-06-24  Eric Blake  <eblake@redhat.com>
1781
1782         maint.mk: update sc_prohibit_intprops_without_use
1783         * top/maint.mk (_intprops_names): Match recent changes.
1784
1785 2011-06-24  Bruno Haible  <bruno@clisp.org>
1786
1787         strerror-override: No-op tweak.
1788         * lib/strerror-override.h (strerror_override): Reorder conditions,
1789         for consistency with lib/strerror-override.c.
1790
1791 2011-06-23  Eric Blake  <eblake@redhat.com>
1792
1793         maint.mk: test further PATH_MAX issues
1794         * top/maint.mk (sc_prohibit_path_max_array): Rename...
1795         (sc_prohibit_path_max_allocation): ...and also test alloca.
1796         Suggested by Jim Meyering.
1797
1798 2011-06-22  Eric Blake  <eblake@redhat.com>
1799
1800         maint.mk: add syntax-check to avoid char[PATH_MAX]
1801         * top/maint.mk (sc_prohibit_path_max_array): New rule.
1802
1803         stat: be robust to PATH_MAX definition
1804         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
1805         * modules/stat (Depends-on): Add verify.
1806
1807         link: work around IRIX bug
1808         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
1809         * lib/link.c (rpl_link): Work around it.
1810         * tests/test-link.h (test_link): Enhance test.
1811         * doc/posix-functions/link.texi (link): Document the bug.
1812
1813         getopt: silence clang warning
1814         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
1815         dereference.
1816         Reported by Gustavo Martin Domato.
1817
1818 2011-06-22  Jim Meyering  <meyering@redhat.com>
1819
1820         bootstrap: do not insert a blank line into each .gitignore file
1821         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
1822
1823 2011-06-21  Eric Blake  <eblake@redhat.com>
1824
1825         perror: test for output mismatch
1826         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
1827         perror on IRIX.
1828
1829         strerror_r: fix OpenBSD behavior on out-of-range
1830         * lib/strerror_r.c (strerror_r): Always use maximal string.
1831         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
1832
1833         strerror_r: fix OpenBSD behavior on 0
1834         * lib/strerror-override.c (strerror_override): Also override 0
1835         when needed.
1836         * lib/strerror-override.h (strerror_override): Likewise.
1837         * lib/strerror.c (strerror): Simplify, now that 0 override is done
1838         earlier.
1839         * lib/strerror_r.c (strerror_r): Likewise.
1840         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
1841         behavior...
1842         (gl_FUNC_STRERROR_0): ...into new macro.
1843         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
1844         is overridden.
1845         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
1846         * modules/strerror-override (Files): Add strerror.m4.
1847         (configure.ac): Also provide override for 0 when needed.
1848         * doc/posix-functions/strerror.texi (strerror): Document this.
1849         * doc/posix-functions/perror.texi (perror): Likewise.
1850
1851         perror: adjust array size
1852         * modules/perror (Depends-on): Add strerror-override.
1853         * lib/perror.c (perror): Use it to avoid magic number.
1854
1855         strerror-override: reduce size
1856         * lib/strerror-override.c (strerror_override): Use fewer lines.
1857
1858 2011-06-20  Bruno Haible  <bruno@clisp.org>
1859
1860         pathmax: Ensure correct value for PATH_MAX on HP-UX.
1861         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
1862
1863 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1864
1865         alloca: port to compilers that can optimize like GCC 4.6.0
1866         * lib/alloca.c (find_stack_direction): New signature, taken from
1867         Autoconf git.  This works with GCC 4.6.0.  This code should never
1868         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
1869         be used with other compilers that optimize as well as GCC 4.6.0 does.
1870         (alloca): Adjust to new signature.
1871         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
1872         New macro, which patches Autoconf in a similar way.
1873
1874         c-stack: stop worrying about stack direction
1875         * lib/c-stack.c (find_stack_direction): Remove.
1876         (segv_handler): Don't worry about stack direction growth, as it's
1877         too much of a pain to configure this correctly, given how compilers
1878         are optimizing-away our stack-growth detection code.  Instead, assume
1879         that any access to just before or just after the stack is OK.
1880         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
1881         Don't require AC_FUNC_ALLOCA; no longer needed.
1882
1883 2011-06-20  Eric Blake  <eblake@redhat.com>
1884
1885         test-stat: don't allocate PATH_MAX bytes
1886         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
1887         PATH_MAX-sized buffer.
1888         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
1889         * modules/stat-tests (Depends-on): Likewise.
1890         * tests/test-fstatat.c (includes): Drop pathmax.h.
1891         * tests/test-stat.c (includes): Likewise.
1892         Reported by Bruno Haible.
1893
1894 2011-06-20  Bruno Haible  <bruno@clisp.org>
1895
1896         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
1897         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
1898         * lib/float.c: New file.
1899         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
1900         REPLACE_FLOAT_LDBL.
1901         * modules/float (Files): Add lib/float.c.
1902         (configure.ac): Invoke AC_LIBOBJ.
1903         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
1904
1905 2011-06-20  Bruno Haible  <bruno@clisp.org>
1906
1907         Tests for module 'float'.
1908         * modules/float-tests: New file.
1909         * tests/test-float.c: New file.
1910
1911 2011-06-19  Bruno Haible  <bruno@clisp.org>
1912
1913         isinf: Coding style.
1914         * lib/isinf.c: Use GNU coding style.
1915
1916 2011-06-19  Bruno Haible  <bruno@clisp.org>
1917
1918         linkat test: Avoid test failure on AIX 7.1.
1919         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
1920         * tests/test-link.h (test_link): Likewise.
1921
1922 2011-06-19  Bruno Haible  <bruno@clisp.org>
1923
1924         pread test: Avoid test failure on OpenBSD 4.9.
1925         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
1926
1927 2011-06-19  Bruno Haible  <bruno@clisp.org>
1928
1929         sprintf-posix: Fix test failure on AIX 7.1.
1930         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
1931         * doc/posix-functions/dprintf.texi: Mention limited precision problem
1932         on AIX.
1933         * doc/posix-functions/fprintf.texi: Likewise.
1934         * doc/posix-functions/printf.texi: Likewise.
1935         * doc/posix-functions/snprintf.texi: Likewise.
1936         * doc/posix-functions/sprintf.texi: Likewise.
1937         * doc/posix-functions/vdprintf.texi: Likewise.
1938         * doc/posix-functions/vfprintf.texi: Likewise.
1939         * doc/posix-functions/vprintf.texi: Likewise.
1940         * doc/posix-functions/vsnprintf.texi: Likewise.
1941         * doc/posix-functions/vsprintf.texi: Likewise.
1942
1943 2011-06-19  Bruno Haible  <bruno@clisp.org>
1944
1945         roundl-ieee: Fix test failure on AIX 7.1.
1946         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
1947         * doc/posix-functions/roundl.texi: Mention problem with negative
1948         arguments.
1949
1950 2011-06-19  Bruno Haible  <bruno@clisp.org>
1951
1952         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
1953         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
1954         * doc/posix-functions/round.texi: Mention problem with negative
1955         arguments.
1956         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
1957
1958 2011-06-19  Bruno Haible  <bruno@clisp.org>
1959
1960         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
1961         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
1962         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
1963         * doc/posix-functions/roundf.texi: Mention problem with negative
1964         arguments.
1965         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
1966
1967 2011-06-19  Bruno Haible  <bruno@clisp.org>
1968
1969         ceilf-ieee: Work around bug on MacOS X 10.5.
1970         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
1971
1972         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
1973         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
1974         IEEE compliant, avoid compiler optimizations.
1975         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
1976         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
1977         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
1978         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
1979         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
1980         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
1981         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1982         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1983         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1984         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
1985
1986 2011-06-19  Bruno Haible  <bruno@clisp.org>
1987
1988         ceilf-ieee: Work around bug on AIX 7.1.
1989         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
1990         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
1991
1992 2011-06-19  Bruno Haible  <bruno@clisp.org>
1993
1994         ceil-ieee: Work around bug on AIX 7.1.
1995         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
1996         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
1997
1998 2011-06-18  Bruno Haible  <bruno@clisp.org>
1999
2000         fsync test: Avoid test failure on MacOS X and AIX.
2001         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
2002         EINVAL.
2003
2004 2011-06-18  Bruno Haible  <bruno@clisp.org>
2005
2006         openat, fdopendir tests: Fix link errors.
2007         * modules/openat-tests (Depends-on): Add progname.
2008         * modules/fdopendir-tests (Depends-on): Likewise.
2009         * tests/test-fchownat.c: Include progname.h.
2010         (main): Call set_program_name.
2011         * tests/test-fstatat.c: Include progname.h.
2012         (main): Call set_program_name.
2013         * tests/test-mkdirat.c: Include progname.h.
2014         (main): Call set_program_name.
2015         * tests/test-openat.c: Include progname.h.
2016         (main): Call set_program_name.
2017         * tests/test-unlinkat.c: Include progname.h.
2018         (main): Call set_program_name.
2019         * tests/test-fdopendir.c: Include progname.h.
2020         (main): Call set_program_name.
2021
2022 2011-06-18  Bruno Haible  <bruno@clisp.org>
2023
2024         Doc update.
2025         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
2026         HP-UX.
2027         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
2028
2029 2011-06-18  Bruno Haible  <bruno@clisp.org>
2030
2031         getcwd tests: Avoid compilation error on HP-UX 11.31.
2032         * modules/getcwd-tests (Depends-on): Add pathmax.
2033         * tests/test-getcwd.c: Include pathmax.h.
2034
2035 2011-06-18  Bruno Haible  <bruno@clisp.org>
2036
2037         isfinite, isinf: Fix link error on AIX 6 and 7.
2038         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
2039         needed, also test the macro with a 'float' argument.
2040         * m4/isinf.m4 (gl_ISINF): Likewise.
2041
2042 2011-06-18  Bruno Haible  <bruno@clisp.org>
2043
2044         getloadavg: Don't clobber LIBS. Regression from previous commit.
2045         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
2046         AC_CHECK_LIB from here...
2047         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
2048         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
2049         gl_func_getloadavg_done.
2050         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2051
2052 2011-06-18  Bruno Haible  <bruno@clisp.org>
2053
2054         clean-temp: Improve documentation.
2055         * lib/clean-temp.h: Explain better how to use this module.
2056         Reported by John Darrington <john@darrington.wattle.id.au>.
2057
2058 2011-06-17  Bruno Haible  <bruno@clisp.org>
2059
2060         pread, pwrite: Avoid cc warning on AIX.
2061         * lib/unistd.in.h (pread): Undefine before defining as a macro.
2062         (pwrite): Likewise.
2063
2064 2011-06-17  Bruno Haible  <bruno@clisp.org>
2065
2066         spawn-pipe tests: Fix link error.
2067         * tests/test-spawn-pipe-child.c: Undefine fprintf.
2068         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2069
2070 2011-06-17  Bruno Haible  <bruno@clisp.org>
2071
2072         Tests: Remove unnecessary dependency.
2073         * modules/canonicalize-tests (Depends-on): Remove progname.
2074         * modules/chown-tests (Depends-on): Likewise.
2075         * modules/dirname-tests (Depends-on): Likewise.
2076         * modules/fdopendir-tests (Depends-on): Likewise.
2077         * modules/fdutimensat-tests (Depends-on): Likewise.
2078         * modules/hash-tests (Depends-on): Likewise.
2079         * modules/lchown-tests (Depends-on): Likewise.
2080         * modules/linkat-tests (Depends-on): Likewise.
2081         * modules/renameat-tests (Depends-on): Likewise.
2082         * modules/spawn-pipe-tests (Depends-on): Likewise.
2083         * modules/utimensat-tests (Depends-on): Likewise.
2084
2085 2011-06-17  Bruno Haible  <bruno@clisp.org>
2086
2087         spawn-pipe tests: Fix link error.
2088         * tests/test-spawn-pipe-child.c: Undefine fflush.
2089
2090 2011-06-17  Bruno Haible  <bruno@clisp.org>
2091
2092         Fix tests link errors.
2093         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
2094         * modules/chown-tests (Makefile.am): Don't link test-chown with
2095         LIBINTL.
2096         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
2097         LIBINTL.
2098         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
2099         LIBINTL.
2100         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
2101         LIBINTL.
2102
2103 2011-06-16  Bruno Haible  <bruno@clisp.org>
2104
2105         crypto/gc-sha1: Fix recent regression.
2106         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
2107         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
2108
2109         crypto/gc-md5: Fix recent regression.
2110         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
2111
2112         crypto/gc-md4: Fix recent regression.
2113         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
2114         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
2115
2116         crypto/gc-arctwo: Fix recent regression.
2117         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
2118         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
2119
2120         crypto/gc-rijndael: Fix recent regression.
2121         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
2122         (configure.ac): Invoke AC_LIBOBJ here.
2123         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
2124         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2125
2126         crypto/gc-hmac-sha1: Fix recent regression.
2127         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
2128         (configure.ac): Invoke AC_LIBOBJ here.
2129         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
2130         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2131
2132         crypto/gc-hmac-md5: Fix recent regression.
2133         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
2134         (configure.ac): Invoke AC_LIBOBJ here.
2135         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
2136         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2137
2138         crypto/gc-des: Fix recent regression.
2139         * modules/crypto/gc-des (Files): Remove m4/des.m4.
2140         (configure.ac): Invoke AC_LIBOBJ here.
2141         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
2142         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2143
2144         crypto/gc-arcfour: Fix recent regression.
2145         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
2146         (configure.ac): Invoke AC_LIBOBJ here.
2147         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
2148         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2149
2150 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
2151
2152         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
2153         After the 2011-05-21 change, this macro requires
2154         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
2155         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
2156
2157 2011-06-16  Bruno Haible  <bruno@clisp.org>
2158
2159         fprintftime: Move AC_LIBOBJ invocations to module description.
2160         * m4/fprintftime.m4: Remove file.
2161         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
2162         (configure.ac): Remove gl_FPRINTFTIME call.
2163         (Makefile.am): Augment lib_SOURCES.
2164         Reported by Jim Meyering.
2165
2166 2011-06-16  Bruno Haible  <bruno@clisp.org>
2167
2168         tmpfile-safer: Finish 2011-05-23 commit.
2169         * m4/stdio-safer.m4: Really remove file.
2170         Reported by Jim Meyering.
2171
2172 2011-06-16  Bruno Haible  <bruno@clisp.org>
2173
2174         syntax-check: Fix typo.
2175         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
2176         printf-posix.m4.
2177         Reported by Jim Meyering.
2178
2179 2011-06-13  Jim Meyering  <meyering@redhat.com>
2180
2181         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
2182         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
2183
2184 2011-05-23  Bruno Haible  <bruno@clisp.org>
2185
2186         yesno: Move AC_LIBOBJ invocations to module description.
2187         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
2188         * modules/yesno (Makefile.am): Augment lib_SOURCES.
2189
2190 2011-05-23  Bruno Haible  <bruno@clisp.org>
2191
2192         xstrtol: Move AC_LIBOBJ invocations to module description.
2193         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
2194         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
2195
2196 2011-05-23  Bruno Haible  <bruno@clisp.org>
2197
2198         xstrtold: Move AC_LIBOBJ invocations to module description.
2199         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
2200         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
2201
2202 2011-05-23  Bruno Haible  <bruno@clisp.org>
2203
2204         xstrtod: Move AC_LIBOBJ invocations to module description.
2205         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
2206         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
2207
2208 2011-05-23  Bruno Haible  <bruno@clisp.org>
2209
2210         xnanosleep: Move AC_LIBOBJ invocations to module description.
2211         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
2212         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
2213
2214 2011-05-23  Bruno Haible  <bruno@clisp.org>
2215
2216         xgetcwd: Move AC_LIBOBJ invocations to module description.
2217         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
2218         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
2219
2220 2011-05-23  Bruno Haible  <bruno@clisp.org>
2221
2222         xalloc: Move AC_LIBOBJ invocations to module description.
2223         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
2224         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
2225
2226 2011-05-23  Bruno Haible  <bruno@clisp.org>
2227
2228         write-any-file: Move AC_LIBOBJ invocations to module description.
2229         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
2230         invocation.
2231         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
2232
2233 2011-05-23  Bruno Haible  <bruno@clisp.org>
2234
2235         utimens: Move AC_LIBOBJ invocations to module description.
2236         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
2237         * modules/utimens (Makefile.am): Augment lib_SOURCES.
2238
2239 2011-05-23  Bruno Haible  <bruno@clisp.org>
2240
2241         utimecmp: Move AC_LIBOBJ invocations to module description.
2242         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
2243         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
2244
2245 2011-05-23  Bruno Haible  <bruno@clisp.org>
2246
2247         userspec: Move AC_LIBOBJ invocations to module description.
2248         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
2249         * modules/userspec (Makefile.am): Augment lib_SOURCES.
2250
2251 2011-05-23  Bruno Haible  <bruno@clisp.org>
2252
2253         unlinkdir: Move AC_LIBOBJ invocations to module description.
2254         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
2255         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
2256
2257 2011-05-23  Bruno Haible  <bruno@clisp.org>
2258
2259         unistd-safer: Move AC_LIBOBJ invocations to module description.
2260         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
2261         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
2262
2263 2011-05-23  Bruno Haible  <bruno@clisp.org>
2264
2265         tempname: Move AC_LIBOBJ invocations to module description.
2266         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
2267         * modules/tempname (Makefile.am): Augment lib_SOURCES.
2268
2269 2011-05-23  Bruno Haible  <bruno@clisp.org>
2270
2271         strftime: Move AC_LIBOBJ invocations to module description.
2272         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
2273         * modules/strftime (Makefile.am): Augment lib_SOURCES.
2274
2275 2011-05-23  Bruno Haible  <bruno@clisp.org>
2276
2277         stdlib-safer: Move AC_LIBOBJ invocations to module description.
2278         * m4/stdlib-safer.m4: Remove file.
2279         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
2280         (configure.ac): Remove gl_STDLIB_SAFER call.
2281         (Makefile.am): Augment lib_SOURCES.
2282
2283 2011-05-23  Bruno Haible  <bruno@clisp.org>
2284
2285         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
2286         * m4/stdio-safer.m4: Remove file.
2287         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
2288         (configure.ac): Remove gl_TMPFILE_SAFER call.
2289         (Makefile.am): Augment lib_SOURCES.
2290
2291 2011-05-23  Bruno Haible  <bruno@clisp.org>
2292
2293         popen-safer: Move AC_LIBOBJ invocations to module description.
2294         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
2295         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
2296         (configure.ac): Remove gl_POPEN_SAFER call.
2297         (Makefile.am): Augment lib_SOURCES.
2298
2299 2011-05-23  Bruno Haible  <bruno@clisp.org>
2300
2301         freopen-safer: Move AC_LIBOBJ invocations to module description.
2302         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
2303         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
2304         (configure.ac): Remove gl_FREOPEN_SAFER call.
2305         (Makefile.am): Augment lib_SOURCES.
2306
2307 2011-05-23  Bruno Haible  <bruno@clisp.org>
2308
2309         fopen-safer: Move AC_LIBOBJ invocations to module description.
2310         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
2311         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
2312         (configure.ac): Remove gl_FOPEN_SAFER call.
2313         (Makefile.am): Augment lib_SOURCES.
2314
2315 2011-05-23  Bruno Haible  <bruno@clisp.org>
2316
2317         crypto/sha512: Move AC_LIBOBJ invocations to module description.
2318         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
2319         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
2320
2321 2011-05-23  Bruno Haible  <bruno@clisp.org>
2322
2323         crypto/sha256: Move AC_LIBOBJ invocations to module description.
2324         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
2325         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
2326
2327 2011-05-23  Bruno Haible  <bruno@clisp.org>
2328
2329         crypto/sha1: Move AC_LIBOBJ invocations to module description.
2330         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
2331         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
2332
2333 2011-05-23  Bruno Haible  <bruno@clisp.org>
2334
2335         settime: Move AC_LIBOBJ invocations to module description.
2336         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
2337         * modules/settime (Makefile.am): Augment lib_SOURCES.
2338
2339 2011-05-23  Bruno Haible  <bruno@clisp.org>
2340
2341         savedir: Move AC_LIBOBJ invocations to module description.
2342         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
2343         * modules/savedir (Makefile.am): Augment lib_SOURCES.
2344
2345 2011-05-23  Bruno Haible  <bruno@clisp.org>
2346
2347         save-cwd: Move AC_LIBOBJ invocations to module description.
2348         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
2349         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
2350
2351 2011-05-23  Bruno Haible  <bruno@clisp.org>
2352
2353         same: Move AC_LIBOBJ invocations to module description.
2354         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
2355         * modules/same (Makefile.am): Augment lib_SOURCES.
2356
2357 2011-05-23  Bruno Haible  <bruno@clisp.org>
2358
2359         safe-write: Move AC_LIBOBJ invocations to module description.
2360         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
2361         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
2362         instead of gl_SAFE_WRITE.
2363         (Makefile.am): Augment lib_SOURCES.
2364
2365 2011-05-23  Bruno Haible  <bruno@clisp.org>
2366
2367         safe-read: Move AC_LIBOBJ invocations to module description.
2368         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
2369         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
2370         of gl_SAFE_READ.
2371         (Makefile.am): Augment lib_SOURCES.
2372
2373 2011-05-23  Bruno Haible  <bruno@clisp.org>
2374
2375         safe-alloc: Move AC_LIBOBJ invocations to module description.
2376         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
2377         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
2378
2379 2011-05-23  Bruno Haible  <bruno@clisp.org>
2380
2381         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
2382         * m4/rijndael.m4: Remove file.
2383         * modules/crypto/rijndael (Files): Remove it.
2384         (configure.ac): Remove gl_RIJNDAEL call.
2385         (Makefile.am): Augment lib_SOURCES.
2386
2387 2011-05-23  Bruno Haible  <bruno@clisp.org>
2388
2389         readtokens: Move AC_LIBOBJ invocations to module description.
2390         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
2391         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
2392
2393 2011-05-23  Bruno Haible  <bruno@clisp.org>
2394
2395         read-file: Move AC_LIBOBJ invocations to module description.
2396         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
2397         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
2398         of gl_FUNC_READ_FILE.
2399         (Makefile.am): Augment lib_SOURCES.
2400
2401 2011-05-23  Bruno Haible  <bruno@clisp.org>
2402
2403         quotearg: Move AC_LIBOBJ invocations to module description.
2404         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
2405         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
2406
2407 2011-05-23  Bruno Haible  <bruno@clisp.org>
2408
2409         quote: Move AC_LIBOBJ invocations to module description.
2410         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
2411         * modules/quote (Makefile.am): Augment lib_SOURCES.
2412
2413 2011-05-23  Bruno Haible  <bruno@clisp.org>
2414
2415         posixver: Move AC_LIBOBJ invocations to module description.
2416         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
2417         * modules/posixver (Makefile.am): Augment lib_SOURCES.
2418
2419 2011-05-23  Bruno Haible  <bruno@clisp.org>
2420
2421         posixtm: Move AC_LIBOBJ invocations to module description.
2422         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
2423         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
2424
2425 2011-05-23  Bruno Haible  <bruno@clisp.org>
2426
2427         physmem: Move AC_LIBOBJ invocations to module description.
2428         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
2429         * modules/physmem (Makefile.am): Augment lib_SOURCES.
2430
2431 2011-05-23  Bruno Haible  <bruno@clisp.org>
2432
2433         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
2434         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
2435         invocation.
2436         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
2437
2438 2011-05-23  Bruno Haible  <bruno@clisp.org>
2439
2440         mpsort: Move AC_LIBOBJ invocations to module description.
2441         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
2442         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
2443
2444 2011-05-23  Bruno Haible  <bruno@clisp.org>
2445
2446         modechange: Move AC_LIBOBJ invocations to module description.
2447         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
2448         * modules/modechange (Makefile.am): Augment lib_SOURCES.
2449
2450 2011-05-23  Bruno Haible  <bruno@clisp.org>
2451
2452         mkdir-p: Move AC_LIBOBJ invocations to module description.
2453         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
2454         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
2455
2456 2011-05-23  Bruno Haible  <bruno@clisp.org>
2457
2458         mkancesdirs: Move AC_LIBOBJ invocations to module description.
2459         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
2460         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
2461
2462 2011-05-23  Bruno Haible  <bruno@clisp.org>
2463
2464         mgetgroups: Move AC_LIBOBJ invocations to module description.
2465         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
2466         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
2467
2468 2011-05-23  Bruno Haible  <bruno@clisp.org>
2469
2470         memxor: Move AC_LIBOBJ invocations to module description.
2471         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
2472         * modules/memxor (Makefile.am): Augment lib_SOURCES.
2473
2474 2011-05-23  Bruno Haible  <bruno@clisp.org>
2475
2476         memcoll: Move AC_LIBOBJ invocations to module description.
2477         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
2478         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
2479
2480 2011-05-23  Bruno Haible  <bruno@clisp.org>
2481
2482         memcasecmp: Move AC_LIBOBJ invocations to module description.
2483         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
2484         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
2485
2486 2011-05-23  Bruno Haible  <bruno@clisp.org>
2487
2488         crypto/md5: Move AC_LIBOBJ invocations to module description.
2489         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
2490         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
2491
2492 2011-05-23  Bruno Haible  <bruno@clisp.org>
2493
2494         crypto/md4: Move AC_LIBOBJ invocations to module description.
2495         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
2496         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
2497
2498 2011-05-23  Bruno Haible  <bruno@clisp.org>
2499
2500         crypto/md2: Move AC_LIBOBJ invocations to module description.
2501         * m4/md2.m4: Remove file.
2502         * modules/crypto/md2 (Files): Remove it.
2503         (configure.ac): Remove gl_MD2 call.
2504         (Makefile.am): Augment lib_SOURCES.
2505
2506 2011-05-23  Bruno Haible  <bruno@clisp.org>
2507
2508         long-options: Move AC_LIBOBJ invocations to module description.
2509         * m4/long-options.m4: Remove file.
2510         * modules/long-options (Files): Remove it.
2511         (configure.ac): Remove gl_LONG_OPTIONS call.
2512         (Makefile.am): Augment lib_SOURCES.
2513
2514 2011-05-23  Bruno Haible  <bruno@clisp.org>
2515
2516         i-ring: Move AC_LIBOBJ invocations to module description.
2517         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
2518         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
2519
2520 2011-05-23  Bruno Haible  <bruno@clisp.org>
2521
2522         idcache: Move AC_LIBOBJ invocations to module description.
2523         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
2524         * modules/idcache (Makefile.am): Augment lib_SOURCES.
2525
2526 2011-05-23  Bruno Haible  <bruno@clisp.org>
2527
2528         human: Move AC_LIBOBJ invocations to module description.
2529         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
2530         * modules/human (Makefile.am): Augment lib_SOURCES.
2531
2532 2011-05-23  Bruno Haible  <bruno@clisp.org>
2533
2534         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
2535         * m4/hmac-sha1.m4: Remove file.
2536         * modules/crypto/hmac-sha1 (Files): Remove it.
2537         (configure.ac): Remove gl_HMAC_SHA1 call.
2538         (Makefile.am): Augment lib_SOURCES.
2539
2540 2011-05-23  Bruno Haible  <bruno@clisp.org>
2541
2542         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
2543         * m4/hmac-md5.m4: Remove file.
2544         * modules/crypto/hmac-md5 (Files): Remove it.
2545         (configure.ac): Remove gl_HMAC_MD5 call.
2546         (Makefile.am): Augment lib_SOURCES.
2547
2548 2011-05-23  Bruno Haible  <bruno@clisp.org>
2549
2550         hash: Move AC_LIBOBJ invocations to module description.
2551         * m4/hash.m4: Remove file.
2552         * modules/hash (Files): Remove it.
2553         (configure.ac): Remove gl_HASH call.
2554         (Makefile.am): Augment lib_SOURCES.
2555
2556 2011-05-23  Bruno Haible  <bruno@clisp.org>
2557
2558         hard-locale: Move AC_LIBOBJ invocations to module description.
2559         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
2560         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
2561
2562 2011-05-23  Bruno Haible  <bruno@clisp.org>
2563
2564         getugroups: Move AC_LIBOBJ invocations to module description.
2565         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
2566         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
2567
2568 2011-05-23  Bruno Haible  <bruno@clisp.org>
2569
2570         gettime: Move AC_LIBOBJ invocations to module description.
2571         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
2572         * modules/gettime (Makefile.am): Augment lib_SOURCES.
2573
2574 2011-05-23  Bruno Haible  <bruno@clisp.org>
2575
2576         getndelim2: Move AC_LIBOBJ invocations to module description.
2577         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
2578         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
2579
2580 2011-05-23  Bruno Haible  <bruno@clisp.org>
2581
2582         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
2583         * m4/gc-pbkdf2-sha1.m4: Remove file.
2584         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
2585         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
2586         (Makefile.am): Augment lib_SOURCES.
2587
2588 2011-05-23  Bruno Haible  <bruno@clisp.org>
2589
2590         fts: Move AC_LIBOBJ invocations to module description.
2591         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
2592         * modules/fts (configure.ac): ... to here.
2593
2594 2011-05-23  Bruno Haible  <bruno@clisp.org>
2595
2596         file-type: Move AC_LIBOBJ invocations to module description.
2597         * m4/file-type.m4: Remove file.
2598         * modules/file-type (Files): Remove it.
2599         (configure.ac): Remove gl_FILE_TYPE call.
2600         (Makefile.am): Augment lib_SOURCES.
2601
2602 2011-05-23  Bruno Haible  <bruno@clisp.org>
2603
2604         filenamecat*: Respect rules for use of AC_LIBOBJ.
2605         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
2606         Remove AC_LIBOBJ invocation.
2607         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
2608         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
2609
2610 2011-05-23  Bruno Haible  <bruno@clisp.org>
2611
2612         filemode: Move AC_LIBOBJ invocations to module description.
2613         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
2614         * modules/filemode (Makefile.am): Augment lib_SOURCES.
2615
2616 2011-05-23  Bruno Haible  <bruno@clisp.org>
2617
2618         openat-safer: Move AC_LIBOBJ invocations to module description.
2619         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
2620         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
2621
2622 2011-05-23  Bruno Haible  <bruno@clisp.org>
2623
2624         fcntl-safer: Move AC_LIBOBJ invocations to module description.
2625         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
2626         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
2627
2628 2011-05-23  Bruno Haible  <bruno@clisp.org>
2629
2630         exclude: Move AC_LIBOBJ invocations to module description.
2631         * m4/exclude.m4: Remove file.
2632         * modules/exclude (Files): Remove it.
2633         (configure.ac): Remove gl_EXCLUDE call.
2634         (Makefile.am): Augment lib_SOURCES.
2635
2636 2011-05-23  Bruno Haible  <bruno@clisp.org>
2637
2638         dirname*: Respect rules for use of AC_LIBOBJ.
2639         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
2640         invocations.
2641         * modules/dirname (Makefile.am): Augment lib_SOURCES.
2642         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
2643
2644 2011-05-23  Bruno Haible  <bruno@clisp.org>
2645
2646         dirent-safer: Move AC_LIBOBJ invocations to module description.
2647         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
2648         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
2649
2650 2011-05-23  Bruno Haible  <bruno@clisp.org>
2651
2652         crypto/des: Move AC_LIBOBJ invocations to module description.
2653         * m4/des.m4: Remove file.
2654         * modules/crypto/des (Files): Remove it.
2655         (configure.ac): Remove gl_DES call.
2656         (Makefile.am): Augment lib_SOURCES.
2657
2658 2011-05-23  Bruno Haible  <bruno@clisp.org>
2659
2660         cycle-check: Move AC_LIBOBJ invocations to module description.
2661         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
2662         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
2663
2664 2011-05-23  Bruno Haible  <bruno@clisp.org>
2665
2666         c-strtold: Move AC_LIBOBJ invocations to module description.
2667         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
2668         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
2669
2670 2011-05-23  Bruno Haible  <bruno@clisp.org>
2671
2672         c-strtod: Move AC_LIBOBJ invocations to module description.
2673         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
2674         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
2675
2676 2011-05-23  Bruno Haible  <bruno@clisp.org>
2677
2678         crc: Move AC_LIBOBJ invocations to module description.
2679         * m4/crc.m4: Remove file.
2680         * modules/crc (Files): Remove it.
2681         (configure.ac): Remove gl_CRC call.
2682         (Makefile.am): Augment lib_SOURCES.
2683
2684 2011-05-23  Bruno Haible  <bruno@clisp.org>
2685
2686         close-stream: Move AC_LIBOBJ invocations to module description.
2687         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
2688         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
2689
2690 2011-05-23  Bruno Haible  <bruno@clisp.org>
2691
2692         closeout: Move AC_LIBOBJ invocations to module description.
2693         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
2694         * modules/closeout (Makefile.am): Augment lib_SOURCES.
2695
2696 2011-05-23  Bruno Haible  <bruno@clisp.org>
2697
2698         closein: Move AC_LIBOBJ invocations to module description.
2699         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
2700         * modules/closein (Makefile.am): Augment lib_SOURCES.
2701
2702 2011-05-23  Bruno Haible  <bruno@clisp.org>
2703
2704         cloexec: Move AC_LIBOBJ invocations to module description.
2705         * m4/cloexec.m4: Remove file.
2706         * modules/cloexec (Files): Remove it.
2707         (configure.ac): Remove gl_CLOEXEC call.
2708         (Makefile.am): Augment lib_SOURCES.
2709
2710 2011-05-23  Bruno Haible  <bruno@clisp.org>
2711
2712         check-version: Move AC_LIBOBJ invocations to module description.
2713         * m4/check-version.m4: Remove file.
2714         * modules/check-version (Files): Remove it.
2715         (configure.ac): Remove gl_CHECK_VERSION call.
2716         (Makefile.am): Augment lib_SOURCES.
2717
2718 2011-05-23  Bruno Haible  <bruno@clisp.org>
2719
2720         chdir-safer: Move AC_LIBOBJ invocations to module description.
2721         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
2722         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
2723
2724 2011-05-23  Bruno Haible  <bruno@clisp.org>
2725
2726         canonicalize: Move AC_LIBOBJ invocations to module description.
2727         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
2728         AC_LIBOBJ invocation.
2729         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
2730
2731 2011-05-23  Bruno Haible  <bruno@clisp.org>
2732
2733         canon-host: Move AC_LIBOBJ invocations to module description.
2734         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
2735         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
2736         instead of gl_CANON_HOST.
2737         (Makefile.am): Augment lib_SOURCES.
2738
2739 2011-05-23  Bruno Haible  <bruno@clisp.org>
2740
2741         backupfile: Move AC_LIBOBJ invocations to module description.
2742         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
2743         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
2744
2745 2011-05-23  Bruno Haible  <bruno@clisp.org>
2746
2747         argmatch: Move AC_LIBOBJ invocations to module description.
2748         * m4/argmatch.m4: Remove file.
2749         * modules/argmatch (Files): Remove it.
2750         (configure.ac): Remove gl_ARGMATCH call.
2751         (Makefile.am): Augment lib_SOURCES.
2752
2753 2011-05-23  Bruno Haible  <bruno@clisp.org>
2754
2755         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
2756         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
2757         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
2758
2759 2011-05-23  Bruno Haible  <bruno@clisp.org>
2760
2761         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
2762         * m4/arcfour.m4: Remove file.
2763         * modules/crypto/arcfour (Files): Remove it.
2764         (configure.ac): Remove gl_ARCFOUR call.
2765         (Makefile.am): Augment lib_SOURCES.
2766
2767 2011-05-22  Bruno Haible  <bruno@clisp.org>
2768
2769         write: Move AC_LIBOBJ invocations to module description.
2770         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
2771         * modules/write (configure.ac): ... to here.
2772
2773 2011-05-22  Bruno Haible  <bruno@clisp.org>
2774
2775         wmemset: Move AC_LIBOBJ invocations to module description.
2776         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
2777         here...
2778         * modules/wmemset (configure.ac): ... to here.
2779
2780 2011-05-22  Bruno Haible  <bruno@clisp.org>
2781
2782         wmemmove: Move AC_LIBOBJ invocations to module description.
2783         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
2784         here...
2785         * modules/wmemmove (configure.ac): ... to here.
2786
2787 2011-05-22  Bruno Haible  <bruno@clisp.org>
2788
2789         wmemcpy: Move AC_LIBOBJ invocations to module description.
2790         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
2791         here...
2792         * modules/wmemcpy (configure.ac): ... to here.
2793
2794 2011-05-22  Bruno Haible  <bruno@clisp.org>
2795
2796         wmemcmp: Move AC_LIBOBJ invocations to module description.
2797         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
2798         here...
2799         * modules/wmemcmp (configure.ac): ... to here.
2800
2801 2011-05-22  Bruno Haible  <bruno@clisp.org>
2802
2803         wmemchr: Move AC_LIBOBJ invocations to module description.
2804         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
2805         here...
2806         * modules/wmemchr (configure.ac): ... to here.
2807
2808 2011-05-22  Bruno Haible  <bruno@clisp.org>
2809
2810         wcswidth: Move AC_LIBOBJ invocations to module description.
2811         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
2812         here...
2813         * modules/wcswidth (configure.ac): ... to here.
2814
2815 2011-05-22  Bruno Haible  <bruno@clisp.org>
2816
2817         wcwidth: Respect rules for use of AC_LIBOBJ.
2818         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
2819         invocation from here...
2820         * modules/wcwidth (configure.ac): ... to here.
2821         (Depends-on): Update conditions.
2822
2823 2011-05-22  Bruno Haible  <bruno@clisp.org>
2824
2825         wctype: Move AC_LIBOBJ invocations to module description.
2826         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
2827         invocation from here...
2828         * modules/wctype (configure.ac): ... to here.
2829         (Depends-on): Update conditions.
2830
2831 2011-05-22  Bruno Haible  <bruno@clisp.org>
2832
2833         wctrans: Move AC_LIBOBJ invocations to module description.
2834         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
2835         invocation from here...
2836         * modules/wctrans (configure.ac): ... to here.
2837
2838 2011-05-22  Bruno Haible  <bruno@clisp.org>
2839
2840         wctomb: Move AC_LIBOBJ invocations to module description.
2841         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
2842         invocations from here...
2843         * modules/wctomb (configure.ac): ... to here.
2844
2845 2011-05-22  Bruno Haible  <bruno@clisp.org>
2846
2847         wctob: Move AC_LIBOBJ invocations to module description.
2848         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
2849         gl_PREREQ_WCTOB invocations from here...
2850         * modules/wctob (configure.ac): ... to here.
2851         (Depends-on): Update conditions.
2852
2853 2011-05-22  Bruno Haible  <bruno@clisp.org>
2854
2855         wcsxfrm: Move AC_LIBOBJ invocations to module description.
2856         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
2857         here...
2858         * modules/wcsxfrm (configure.ac): ... to here.
2859
2860 2011-05-22  Bruno Haible  <bruno@clisp.org>
2861
2862         wcstok: Move AC_LIBOBJ invocations to module description.
2863         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
2864         * modules/wcstok (configure.ac): ... to here.
2865
2866 2011-05-22  Bruno Haible  <bruno@clisp.org>
2867
2868         wcsstr: Move AC_LIBOBJ invocations to module description.
2869         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
2870         * modules/wcsstr (configure.ac): ... to here.
2871
2872 2011-05-22  Bruno Haible  <bruno@clisp.org>
2873
2874         wcsspn: Move AC_LIBOBJ invocations to module description.
2875         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
2876         * modules/wcsspn (configure.ac): ... to here.
2877
2878 2011-05-22  Bruno Haible  <bruno@clisp.org>
2879
2880         wcsrtombs: Move AC_LIBOBJ invocations to module description.
2881         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
2882         gl_PREREQ_WCSRTOMBS invocations from here...
2883         * modules/wcsrtombs (configure.ac): ... to here.
2884
2885 2011-05-22  Bruno Haible  <bruno@clisp.org>
2886
2887         wcsrchr: Move AC_LIBOBJ invocations to module description.
2888         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
2889         here...
2890         * modules/wcsrchr (configure.ac): ... to here.
2891
2892 2011-05-22  Bruno Haible  <bruno@clisp.org>
2893
2894         wcspbrk: Move AC_LIBOBJ invocations to module description.
2895         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
2896         here...
2897         * modules/wcspbrk (configure.ac): ... to here.
2898
2899 2011-05-22  Bruno Haible  <bruno@clisp.org>
2900
2901         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
2902         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
2903         gl_PREREQ_WCSNRTOMBS invocations from here...
2904         * modules/wcsnrtombs (configure.ac): ... to here.
2905
2906 2011-05-22  Bruno Haible  <bruno@clisp.org>
2907
2908         wcsnlen: Move AC_LIBOBJ invocations to module description.
2909         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
2910         here...
2911         * modules/wcsnlen (configure.ac): ... to here.
2912
2913 2011-05-22  Bruno Haible  <bruno@clisp.org>
2914
2915         wcsncpy: Move AC_LIBOBJ invocations to module description.
2916         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
2917         here...
2918         * modules/wcsncpy (configure.ac): ... to here.
2919
2920 2011-05-22  Bruno Haible  <bruno@clisp.org>
2921
2922         wcsncmp: Move AC_LIBOBJ invocations to module description.
2923         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
2924         here...
2925         * modules/wcsncmp (configure.ac): ... to here.
2926
2927 2011-05-22  Bruno Haible  <bruno@clisp.org>
2928
2929         wcsncat: Move AC_LIBOBJ invocations to module description.
2930         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
2931         here...
2932         * modules/wcsncat (configure.ac): ... to here.
2933
2934 2011-05-22  Bruno Haible  <bruno@clisp.org>
2935
2936         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
2937         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
2938         from here...
2939         * modules/wcsncasecmp (configure.ac): ... to here.
2940
2941 2011-05-22  Bruno Haible  <bruno@clisp.org>
2942
2943         wcslen: Move AC_LIBOBJ invocations to module description.
2944         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
2945         * modules/wcslen (configure.ac): ... to here.
2946
2947 2011-05-22  Bruno Haible  <bruno@clisp.org>
2948
2949         wcsdup: Move AC_LIBOBJ invocations to module description.
2950         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
2951         * modules/wcsdup (configure.ac): ... to here.
2952
2953 2011-05-22  Bruno Haible  <bruno@clisp.org>
2954
2955         wcscspn: Move AC_LIBOBJ invocations to module description.
2956         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
2957         here...
2958         * modules/wcscspn (configure.ac): ... to here.
2959
2960 2011-05-22  Bruno Haible  <bruno@clisp.org>
2961
2962         wcscpy: Move AC_LIBOBJ invocations to module description.
2963         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
2964         * modules/wcscpy (configure.ac): ... to here.
2965
2966 2011-05-22  Bruno Haible  <bruno@clisp.org>
2967
2968         wcscoll: Move AC_LIBOBJ invocations to module description.
2969         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
2970         here...
2971         * modules/wcscoll (configure.ac): ... to here.
2972
2973 2011-05-22  Bruno Haible  <bruno@clisp.org>
2974
2975         wcscmp: Move AC_LIBOBJ invocations to module description.
2976         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
2977         * modules/wcscmp (configure.ac): ... to here.
2978
2979 2011-05-22  Bruno Haible  <bruno@clisp.org>
2980
2981         wcschr: Move AC_LIBOBJ invocations to module description.
2982         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
2983         * modules/wcschr (configure.ac): ... to here.
2984
2985 2011-05-22  Bruno Haible  <bruno@clisp.org>
2986
2987         wcscat: Move AC_LIBOBJ invocations to module description.
2988         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
2989         * modules/wcscat (configure.ac): ... to here.
2990
2991 2011-05-22  Bruno Haible  <bruno@clisp.org>
2992
2993         wcscasecmp: Move AC_LIBOBJ invocations to module description.
2994         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
2995         here...
2996         * modules/wcscasecmp (configure.ac): ... to here.
2997
2998 2011-05-22  Bruno Haible  <bruno@clisp.org>
2999
3000         wcrtomb: Move AC_LIBOBJ invocations to module description.
3001         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
3002         invocations from here...
3003         * modules/wcrtomb (configure.ac): ... to here.
3004
3005 2011-05-22  Bruno Haible  <bruno@clisp.org>
3006
3007         wcpncpy: Move AC_LIBOBJ invocations to module description.
3008         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
3009         here...
3010         * modules/wcpncpy (configure.ac): ... to here.
3011
3012 2011-05-22  Bruno Haible  <bruno@clisp.org>
3013
3014         wcpcpy: Move AC_LIBOBJ invocations to module description.
3015         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
3016         * modules/wcpcpy (configure.ac): ... to here.
3017
3018 2011-05-22  Bruno Haible  <bruno@clisp.org>
3019
3020         waitpid: Move AC_LIBOBJ invocations to module description.
3021         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
3022         invocation from here...
3023         * modules/waitpid (configure.ac): ... to here.
3024
3025 2011-05-22  Bruno Haible  <bruno@clisp.org>
3026
3027         utimensat: Move AC_LIBOBJ invocations to module description.
3028         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
3029         here...
3030         * modules/utimensat (configure.ac): ... to here.
3031
3032 2011-05-22  Bruno Haible  <bruno@clisp.org>
3033
3034         usleep: Move AC_LIBOBJ invocations to module description.
3035         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
3036         here...
3037         * modules/usleep (configure.ac): ... to here.
3038
3039 2011-05-22  Bruno Haible  <bruno@clisp.org>
3040
3041         unlockpt: Move AC_LIBOBJ invocations to module description.
3042         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
3043         gl_PREREQ_UNLOCKPT invocations from here...
3044         * modules/unlockpt (configure.ac): ... to here.
3045
3046 2011-05-22  Bruno Haible  <bruno@clisp.org>
3047
3048         unlink: Respect rules for use of AC_LIBOBJ.
3049         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
3050         * modules/unlink (configure.ac): ... to here.
3051
3052 2011-05-22  Bruno Haible  <bruno@clisp.org>
3053
3054         uname: Move AC_LIBOBJ invocations to module description.
3055         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
3056         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
3057         here...
3058         * modules/uname (configure.ac): ... to here.
3059
3060 2011-05-22  Bruno Haible  <bruno@clisp.org>
3061
3062         ttyname_r: Move AC_LIBOBJ invocations to module description.
3063         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
3064         gl_PREREQ_TTYNAME_R invocations from here...
3065         * modules/ttyname_r (configure.ac): ... to here.
3066
3067 2011-05-22  Bruno Haible  <bruno@clisp.org>
3068
3069         tsearch: Move AC_LIBOBJ invocations to module description.
3070         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
3071         invocations from here...
3072         * modules/tsearch (configure.ac): ... to here.
3073
3074 2011-05-22  Bruno Haible  <bruno@clisp.org>
3075
3076         towctrans: Move AC_LIBOBJ invocations to module description.
3077         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
3078         AC_LIBOBJ invocation from here...
3079         * modules/towctrans (configure.ac): ... to here.
3080
3081 2011-05-22  Bruno Haible  <bruno@clisp.org>
3082
3083         tmpfile: Move AC_LIBOBJ invocations to module description.
3084         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
3085         invocations from here...
3086         * modules/tmpfile (configure.ac): ... to here.
3087
3088 2011-05-22  Bruno Haible  <bruno@clisp.org>
3089
3090         times: Move AC_LIBOBJ invocations to module description.
3091         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
3092         * modules/times (configure.ac): ... to here.
3093
3094 2011-05-22  Bruno Haible  <bruno@clisp.org>
3095
3096         time_r: Move AC_LIBOBJ invocations to module description.
3097         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
3098         invocations from here...
3099         * modules/time_r (configure.ac): ... to here.
3100
3101 2011-05-22  Bruno Haible  <bruno@clisp.org>
3102
3103         timegm: Move AC_LIBOBJ invocations to module description.
3104         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
3105         invocations from here...
3106         * modules/timegm (configure.ac): ... to here.
3107
3108 2011-05-22  Bruno Haible  <bruno@clisp.org>
3109
3110         tcgetsid: Move AC_LIBOBJ invocations to module description.
3111         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
3112         and gl_PREREQ_TCGETSID invocations from here...
3113         * modules/tcgetsid (configure.ac): ... to here.
3114         (Depends-on): Update conditions.
3115
3116 2011-05-22  Bruno Haible  <bruno@clisp.org>
3117
3118         symlinkat: Move AC_LIBOBJ invocations to module description.
3119         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
3120         here...
3121         * modules/symlinkat (configure.ac): ... to here.
3122
3123 2011-05-22  Bruno Haible  <bruno@clisp.org>
3124
3125         symlink: Move AC_LIBOBJ invocations to module description.
3126         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
3127         here...
3128         * modules/symlink (configure.ac): ... to here.
3129
3130 2011-05-22  Bruno Haible  <bruno@clisp.org>
3131
3132         strverscmp: Move AC_LIBOBJ invocations to module description.
3133         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
3134         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
3135         from here...
3136         * modules/strverscmp (configure.ac): ... to here.
3137
3138 2011-05-22  Bruno Haible  <bruno@clisp.org>
3139
3140         strtok_r: Move AC_LIBOBJ invocations to module description.
3141         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
3142         and gl_PREREQ_STRTOK_R invocations from here...
3143         * modules/strtok_r (configure.ac): ... to here.
3144         (Depends-on): Update conditions.
3145
3146 2011-05-22  Bruno Haible  <bruno@clisp.org>
3147
3148         strtoumax: Move AC_LIBOBJ invocations to module description.
3149         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
3150         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
3151         from here...
3152         * modules/strtoumax (configure.ac): ... to here.
3153
3154 2011-05-22  Bruno Haible  <bruno@clisp.org>
3155
3156         strtoimax: Move AC_LIBOBJ invocations to module description.
3157         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
3158         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
3159         from here...
3160         * modules/strtoimax (configure.ac): ... to here.
3161
3162 2011-05-22  Bruno Haible  <bruno@clisp.org>
3163
3164         strtoull: Move AC_LIBOBJ invocations to module description.
3165         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
3166         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
3167         from here...
3168         * modules/strtoull (configure.ac): ... to here.
3169
3170 2011-05-22  Bruno Haible  <bruno@clisp.org>
3171
3172         strtoll: Move AC_LIBOBJ invocations to module description.
3173         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
3174         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
3175         here...
3176         * modules/strtoll (configure.ac): ... to here.
3177
3178 2011-05-22  Bruno Haible  <bruno@clisp.org>
3179
3180         strtoul: Move AC_LIBOBJ invocations to module description.
3181         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
3182         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
3183         * modules/strtoul (configure.ac): ... to here.
3184
3185 2011-05-22  Bruno Haible  <bruno@clisp.org>
3186
3187         strtol: Move AC_LIBOBJ invocations to module description.
3188         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
3189         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
3190         * modules/strtol (configure.ac): ... to here.
3191
3192 2011-05-22  Bruno Haible  <bruno@clisp.org>
3193
3194         strtod: Move AC_LIBOBJ invocations to module description.
3195         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
3196         invocations from here...
3197         * modules/strtod (configure.ac): ... to here.
3198
3199 2011-05-22  Bruno Haible  <bruno@clisp.org>
3200
3201         strstr*: Move AC_LIBOBJ invocations to module description.
3202         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
3203         invocations from here...
3204         * modules/strstr-simple (configure.ac): ... to here.
3205         * modules/strstr (configure.ac): ... and here.
3206
3207 2011-05-22  Bruno Haible  <bruno@clisp.org>
3208
3209         strsignal: Move AC_LIBOBJ invocations to module description.
3210         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
3211         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
3212         * modules/strsignal (configure.ac): ... to here.
3213         (Depends-on): Update conditions.
3214
3215 2011-05-22  Bruno Haible  <bruno@clisp.org>
3216
3217         strsep: Move AC_LIBOBJ invocations to module description.
3218         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
3219         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
3220         here...
3221         * modules/strsep (configure.ac): ... to here.
3222
3223 2011-05-22  Bruno Haible  <bruno@clisp.org>
3224
3225         strptime: Move AC_LIBOBJ invocations to module description.
3226         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
3227         gl_PREREQ_STRPTIME invocations from here...
3228         * modules/strptime (configure.ac): ... to here.
3229
3230 2011-05-22  Bruno Haible  <bruno@clisp.org>
3231
3232         strpbrk: Move AC_LIBOBJ invocations to module description.
3233         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
3234         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
3235         here...
3236         * modules/strpbrk (configure.ac): ... to here.
3237
3238 2011-05-22  Bruno Haible  <bruno@clisp.org>
3239
3240         strnlen: Move AC_LIBOBJ invocations to module description.
3241         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
3242         invocations from here...
3243         * modules/strnlen (configure.ac): ... to here.
3244
3245 2011-05-22  Bruno Haible  <bruno@clisp.org>
3246
3247         strndup: Move AC_LIBOBJ invocations to module description.
3248         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
3249         invocations from here...
3250         * modules/strndup (configure.ac): ... to here.
3251         (Depends-on): Update conditions.
3252
3253 2011-05-22  Bruno Haible  <bruno@clisp.org>
3254
3255         strncat: Move AC_LIBOBJ invocations to module description.
3256         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
3257         invocations from here...
3258         * modules/strncat (configure.ac): ... to here.
3259
3260 2011-05-22  Bruno Haible  <bruno@clisp.org>
3261
3262         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
3263         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
3264         invocations from here...
3265         * modules/strdup (configure.ac): ... to here.
3266         * modules/strdup-posix (configure.ac): ... and here.
3267
3268 2011-05-22  Bruno Haible  <bruno@clisp.org>
3269
3270         strcspn: Move AC_LIBOBJ invocations to module description.
3271         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
3272         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
3273         here...
3274         * modules/strcspn (configure.ac): ... to here.
3275
3276 2011-05-22  Bruno Haible  <bruno@clisp.org>
3277
3278         strchrnul: Move AC_LIBOBJ invocations to module description.
3279         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
3280         gl_PREREQ_STRCHRNUL invocations from here...
3281         * modules/strchrnul (configure.ac): ... to here.
3282
3283 2011-05-22  Bruno Haible  <bruno@clisp.org>
3284
3285         strcasestr*: Move AC_LIBOBJ invocations to module description.
3286         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
3287         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
3288         * modules/strcasestr-simple (configure.ac): ... to here.
3289         * modules/strcasestr (configure.ac): ... and here.
3290
3291 2011-05-22  Bruno Haible  <bruno@clisp.org>
3292
3293         strcase: Move AC_LIBOBJ invocations to module description.
3294         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
3295         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
3296         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
3297         gl_PREREQ_STRNCASECMP invocations from here...
3298         * modules/strcase (configure.ac): ... to here.
3299
3300 2011-05-22  Bruno Haible  <bruno@clisp.org>
3301
3302         stpncpy: Move AC_LIBOBJ invocations to module description.
3303         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
3304         here...
3305         * modules/stpncpy (configure.ac): ... to here.
3306
3307 2011-05-22  Bruno Haible  <bruno@clisp.org>
3308
3309         stpcpy: Move AC_LIBOBJ invocations to module description.
3310         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
3311         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
3312         here...
3313         * modules/stpcpy (configure.ac): ... to here.
3314
3315 2011-05-21  Bruno Haible  <bruno@clisp.org>
3316
3317         stat: Move AC_LIBOBJ invocations to module description.
3318         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
3319         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
3320         here...
3321         * modules/stat (configure.ac): ... to here.
3322
3323 2011-05-21  Bruno Haible  <bruno@clisp.org>
3324
3325         sleep: Move AC_LIBOBJ invocations to module description.
3326         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
3327         * modules/sleep (configure.ac): ... to here.
3328
3329 2011-05-21  Bruno Haible  <bruno@clisp.org>
3330
3331         signbit: Move AC_LIBOBJ invocations to module description.
3332         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
3333         * modules/signbit (configure.ac): ... to here.
3334
3335 2011-05-21  Bruno Haible  <bruno@clisp.org>
3336
3337         sigprocmask: Move AC_LIBOBJ invocations to module description.
3338         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
3339         gl_PREREQ_SIGPROMASK invocations from here...
3340         * modules/sigprocmask (configure.ac): ... to here.
3341
3342 2011-05-21  Bruno Haible  <bruno@clisp.org>
3343
3344         sigaction: Move AC_LIBOBJ invocations to module description.
3345         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
3346         gl_PREREQ_SIGACTION invocations from here...
3347         * modules/sigaction (configure.ac): ... to here.
3348
3349 2011-05-21  Bruno Haible  <bruno@clisp.org>
3350
3351         sig2str: Move AC_LIBOBJ invocations to module description.
3352         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
3353         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
3354         here...
3355         * modules/sig2str (configure.ac): ... to here.
3356
3357 2011-05-21  Bruno Haible  <bruno@clisp.org>
3358
3359         setlocale: Move AC_LIBOBJ invocations to module description.
3360         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
3361         gl_PREREQ_SETLOCALE invocations from here...
3362         * modules/setlocale (configure.ac): ... to here.
3363
3364 2011-05-21  Bruno Haible  <bruno@clisp.org>
3365
3366         unsetenv: Move AC_LIBOBJ invocations to module description.
3367         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
3368         and gl_PREREQ_UNSETENV invocations from here...
3369         * modules/unsetenv (configure.ac): ... to here.
3370         (Depends-on): Update.
3371
3372 2011-05-21  Bruno Haible  <bruno@clisp.org>
3373
3374         setenv: Move AC_LIBOBJ invocations to module description.
3375         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
3376         here...
3377         * modules/setenv (configure.ac): ... to here.
3378
3379 2011-05-21  Bruno Haible  <bruno@clisp.org>
3380
3381         selinux-h: Move AC_LIBOBJ invocations to module description.
3382         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
3383         AC_LIBOBJ invocation from here...
3384         * modules/selinux-h (configure.ac): ... to here.
3385
3386 2011-05-21  Bruno Haible  <bruno@clisp.org>
3387
3388         select: Respect rules for use of AC_LIBOBJ.
3389         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
3390         here...
3391         * modules/select (configure.ac): ... to here.
3392
3393 2011-05-21  Bruno Haible  <bruno@clisp.org>
3394
3395         scandir: Move AC_LIBOBJ invocations to module description.
3396         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
3397         invocations from here...
3398         * modules/scandir (configure.ac): ... to here.
3399
3400 2011-05-21  Bruno Haible  <bruno@clisp.org>
3401
3402         rpmatch: Move AC_LIBOBJ invocations to module description.
3403         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
3404         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
3405         here...
3406         * modules/rpmatch (configure.ac): ... to here.
3407
3408 2011-05-21  Bruno Haible  <bruno@clisp.org>
3409
3410         rmdir: Respect rules for use of AC_LIBOBJ.
3411         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
3412         * modules/rmdir (configure.ac): ... to here.
3413
3414 2011-05-21  Bruno Haible  <bruno@clisp.org>
3415
3416         renameat: Move AC_LIBOBJ invocations to module description.
3417         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
3418         here...
3419         * modules/renameat (configure.ac): ... to here.
3420
3421 2011-05-21  Bruno Haible  <bruno@clisp.org>
3422
3423         rename: Respect rules for use of AC_LIBOBJ.
3424         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
3425         here...
3426         * modules/rename (configure.ac): ... to here.
3427
3428 2011-05-21  Bruno Haible  <bruno@clisp.org>
3429
3430         remove: Move AC_LIBOBJ invocations to module description.
3431         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
3432         here...
3433         * modules/remove (configure.ac): ... to here.
3434
3435 2011-05-21  Bruno Haible  <bruno@clisp.org>
3436
3437         relocatable-lib: Move AC_LIBOBJ invocations to module description.
3438         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
3439         macro.
3440         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
3441         * modules/relocatable-lib (configure.ac): ... to here.
3442         * modules/relocatable-prog-wrapper (configure.ac): Invoke
3443         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
3444
3445 2011-05-21  Bruno Haible  <bruno@clisp.org>
3446
3447         relocatable-prog: Move AC_LIBOBJ invocations to module description.
3448         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
3449         here...
3450         * modules/relocatable-prog (configure.ac): ... to here.
3451
3452 2011-05-21  Bruno Haible  <bruno@clisp.org>
3453
3454         regex: Move AC_LIBOBJ invocations to module description.
3455         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
3456         invocations from here...
3457         * modules/regex (configure.ac): ... to here.
3458
3459 2011-05-21  Bruno Haible  <bruno@clisp.org>
3460
3461         realloc-*: Move AC_LIBOBJ invocations to module description.
3462         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
3463         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
3464         AC_LIBOBJ invocations from here...
3465         * modules/realloc-gnu (configure.ac): ... to here.
3466         * modules/realloc-posix (configure.ac): ... and here.
3467
3468 2011-05-21  Bruno Haible  <bruno@clisp.org>
3469
3470         readutmp: Move AC_LIBOBJ invocations to module description.
3471         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
3472         * modules/readutmp (configure.ac): ... to here.
3473
3474 2011-05-21  Bruno Haible  <bruno@clisp.org>
3475
3476         readlinkat: Move AC_LIBOBJ invocations to module description.
3477         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
3478         here...
3479         * modules/readlinkat (configure.ac): ... to here.
3480
3481 2011-05-21  Bruno Haible  <bruno@clisp.org>
3482
3483         readlink: Move AC_LIBOBJ invocations to module description.
3484         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
3485         gl_PREREQ_READLINK invocations from here...
3486         * modules/readlink (configure.ac): ... to here.
3487
3488 2011-05-21  Bruno Haible  <bruno@clisp.org>
3489
3490         readline: Move AC_LIBOBJ invocations to module description.
3491         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
3492         gl_PREREQ_READLINE invocations from here...
3493         * modules/readline (configure.ac): ... to here.
3494
3495 2011-05-21  Bruno Haible  <bruno@clisp.org>
3496
3497         read: Move AC_LIBOBJ invocations to module description.
3498         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
3499         * modules/read (configure.ac): ... to here.
3500
3501 2011-05-21  Bruno Haible  <bruno@clisp.org>
3502
3503         rawmemchr: Move AC_LIBOBJ invocations to module description.
3504         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
3505         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
3506         from here...
3507         * modules/rawmemchr (configure.ac): ... to here.
3508
3509 2011-05-21  Bruno Haible  <bruno@clisp.org>
3510
3511         random_r: Move AC_LIBOBJ invocations to module description.
3512         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
3513         gl_PREREQ_RANDOM_R invocations from here...
3514         * modules/random_r (configure.ac): ... to here.
3515
3516 2011-05-21  Bruno Haible  <bruno@clisp.org>
3517
3518         pwrite: Move AC_LIBOBJ invocations to module description.
3519         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
3520         * modules/pwrite (configure.ac): ... to here.
3521
3522 2011-05-21  Bruno Haible  <bruno@clisp.org>
3523
3524         putenv: Move AC_LIBOBJ invocations to module description.
3525         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
3526         * modules/putenv (configure.ac): ... to here.
3527
3528 2011-05-21  Bruno Haible  <bruno@clisp.org>
3529
3530         login_tty: Move AC_LIBOBJ invocations to module description.
3531         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
3532         * modules/login_tty (configure.ac): ... to here.
3533
3534 2011-05-21  Bruno Haible  <bruno@clisp.org>
3535
3536         openpty: Move AC_LIBOBJ invocations to module description.
3537         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
3538         * modules/openpty (configure.ac): ... to here.
3539
3540 2011-05-21  Bruno Haible  <bruno@clisp.org>
3541
3542         forkpty: Move AC_LIBOBJ invocations to module description.
3543         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
3544         * modules/forkpty (configure.ac): ... to here.
3545
3546 2011-05-21  Bruno Haible  <bruno@clisp.org>
3547
3548         ptsname: Move AC_LIBOBJ invocations to module description.
3549         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
3550         invocations from here...
3551         * modules/ptsname (configure.ac): ... to here.
3552
3553 2011-05-21  Bruno Haible  <bruno@clisp.org>
3554
3555         pread: Move AC_LIBOBJ invocations to module description.
3556         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
3557         * modules/pread (configure.ac): ... to here.
3558
3559 2011-05-21  Bruno Haible  <bruno@clisp.org>
3560
3561         posix_spawn*: Move AC_LIBOBJ invocations to module description.
3562         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
3563         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
3564         * modules/posix_spawn (configure.ac): ... to here.
3565         * modules/posix_spawnp (configure.ac): ... and here.
3566
3567 2011-05-21  Bruno Haible  <bruno@clisp.org>
3568
3569         popen: Move AC_LIBOBJ invocations to module description.
3570         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
3571         invocations from here...
3572         * modules/popen (configure.ac): ... to here.
3573
3574 2011-05-21  Bruno Haible  <bruno@clisp.org>
3575
3576         poll: Move AC_LIBOBJ invocations to module description.
3577         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
3578         invocations from here...
3579         * modules/poll (configure.ac): ... to here.
3580
3581 2011-05-21  Bruno Haible  <bruno@clisp.org>
3582
3583         pipe-posix: Move AC_LIBOBJ invocations to module description.
3584         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
3585         * modules/pipe-posix (configure.ac): ... to here.
3586
3587 2011-05-21  Bruno Haible  <bruno@clisp.org>
3588
3589         openat: Respect rules for use of AC_LIBOBJ.
3590         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
3591         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
3592         * modules/openat (configure.ac): ... to here.
3593
3594 2011-05-21  Bruno Haible  <bruno@clisp.org>
3595
3596         obstack-printf*: Move AC_LIBOBJ invocations to module description.
3597         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
3598         invocation from here...
3599         * modules/obstack-printf (configure.ac): ... to here.
3600         * modules/obstack-printf-posix (configure.ac): ... and here.
3601
3602 2011-05-21  Bruno Haible  <bruno@clisp.org>
3603
3604         nl_langinfo: Move AC_LIBOBJ invocations to module description.
3605         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
3606         from here...
3607         * modules/nl_langinfo (configure.ac): ... to here.
3608
3609 2011-05-21  Bruno Haible  <bruno@clisp.org>
3610
3611         nanosleep: Move AC_LIBOBJ invocations to module description.
3612         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
3613         gl_PREREQ_NANOSLEEP invocations from here...
3614         * modules/nanosleep (configure.ac): ... to here.
3615
3616 2011-05-21  Bruno Haible  <bruno@clisp.org>
3617
3618         mountlist: Move AC_LIBOBJ invocations to module description.
3619         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
3620         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
3621         * modules/mountlist (configure.ac): ... to here.
3622
3623 2011-05-21  Bruno Haible  <bruno@clisp.org>
3624
3625         mktime: Respect rules for use of AC_LIBOBJ.
3626         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
3627         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
3628         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
3629         (gl_FUNC_MKTIME_INTERNAL): ... and here...
3630         * modules/mktime (configure.ac): ... to here.
3631         * modules/mktime-internal (configure.ac): ... and here.
3632         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
3633
3634 2011-05-21  Bruno Haible  <bruno@clisp.org>
3635
3636         mkstemps: Move AC_LIBOBJ invocations to module description.
3637         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
3638         here...
3639         * modules/mkstemps (configure.ac): ... to here.
3640
3641 2011-05-21  Bruno Haible  <bruno@clisp.org>
3642
3643         mkstemp: Move AC_LIBOBJ invocations to module description.
3644         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
3645         gl_PREREQ_MKSTEMP invocations from here...
3646         * modules/mkstemp (configure.ac): ... to here.
3647
3648 2011-05-21  Bruno Haible  <bruno@clisp.org>
3649
3650         mkostemps: Move AC_LIBOBJ invocations to module description.
3651         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
3652         here...
3653         * modules/mkostemps (configure.ac): ... to here.
3654
3655 2011-05-21  Bruno Haible  <bruno@clisp.org>
3656
3657         mkostemp: Move AC_LIBOBJ invocations to module description.
3658         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
3659         gl_PREREQ_MKOSTEMP invocations from here...
3660         * modules/mkostemp (configure.ac): ... to here.
3661
3662 2011-05-21  Bruno Haible  <bruno@clisp.org>
3663
3664         mknod: Move AC_LIBOBJ invocations to module description.
3665         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
3666         * modules/mknod (configure.ac): ... to here.
3667
3668 2011-05-21  Bruno Haible  <bruno@clisp.org>
3669
3670         mkfifoat: Move AC_LIBOBJ invocations to module description.
3671         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
3672         here...
3673         * modules/mkfifoat (configure.ac): ... to here.
3674
3675 2011-05-21  Bruno Haible  <bruno@clisp.org>
3676
3677         mkfifo: Respect rules for use of AC_LIBOBJ.
3678         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
3679         here...
3680         * modules/mkfifo (configure.ac): ... to here.
3681
3682 2011-05-21  Bruno Haible  <bruno@clisp.org>
3683
3684         mkdtemp: Move AC_LIBOBJ invocations to module description.
3685         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
3686         invocations from here...
3687         * modules/mkdtemp (configure.ac): ... to here.
3688
3689 2011-05-21  Bruno Haible  <bruno@clisp.org>
3690
3691         mkdir: Move AC_LIBOBJ invocations to module description.
3692         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
3693         * modules/mkdir (configure.ac): ... to here.
3694
3695 2011-05-21  Bruno Haible  <bruno@clisp.org>
3696
3697         memset: Move AC_LIBOBJ invocations to module description.
3698         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
3699         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
3700         here...
3701         * modules/memset (configure.ac): ... to here.
3702
3703 2011-05-21  Bruno Haible  <bruno@clisp.org>
3704
3705         memrchr: Move AC_LIBOBJ invocations to module description.
3706         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
3707         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
3708         here...
3709         * modules/memrchr (configure.ac): ... to here.
3710
3711 2011-05-21  Bruno Haible  <bruno@clisp.org>
3712
3713         mempcpy: Move AC_LIBOBJ invocations to module description.
3714         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
3715         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
3716         here...
3717         * modules/mempcpy (configure.ac): ... to here.
3718
3719 2011-05-21  Bruno Haible  <bruno@clisp.org>
3720
3721         memmove: Move AC_LIBOBJ invocations to module description.
3722         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
3723         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
3724         here...
3725         * modules/memmove (configure.ac): ... to here.
3726
3727 2011-05-21  Bruno Haible  <bruno@clisp.org>
3728
3729         memmem*: Move AC_LIBOBJ invocations to module description.
3730         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
3731         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
3732         here...
3733         (gl_FUNC_MEMMEM): ... and here...
3734         * modules/memmem-simple (configure.ac): ... to here.
3735         * modules/memmem (configure.ac): ... and here.
3736
3737 2011-05-21  Bruno Haible  <bruno@clisp.org>
3738
3739         memcpy: Move AC_LIBOBJ invocations to module description.
3740         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
3741         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
3742         here...
3743         * modules/memcpy (configure.ac): ... to here.
3744
3745 2011-05-21  Bruno Haible  <bruno@clisp.org>
3746
3747         memcmp: Simplify autoconf macro.
3748         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
3749         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
3750         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
3751
3752 2011-05-21  Bruno Haible  <bruno@clisp.org>
3753
3754         memcmp: Move AC_LIBOBJ invocations to module description.
3755         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
3756         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
3757         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
3758         * modules/memcmp (configure.ac): ... to here.
3759         (Depends-on): Update conditions.
3760
3761 2011-05-21  Bruno Haible  <bruno@clisp.org>
3762
3763         memchr: Respect rules for use of AC_LIBOBJ.
3764         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
3765         invocations from here...
3766         * modules/memchr (configure.ac): ... to here.
3767
3768 2011-05-21  Bruno Haible  <bruno@clisp.org>
3769
3770         mbtowc: Move AC_LIBOBJ invocations to module description.
3771         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
3772         invocations from here...
3773         * modules/mbtowc (configure.ac): ... to here.
3774
3775 2011-05-21  Bruno Haible  <bruno@clisp.org>
3776
3777         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
3778         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
3779         gl_PREREQ_MBSRTOWCS invocations from here...
3780         * modules/mbsrtowcs (configure.ac): ... to here.
3781
3782 2011-05-21  Bruno Haible  <bruno@clisp.org>
3783
3784         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
3785         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
3786         gl_PREREQ_MBSNRTOWCS invocations from here...
3787         * modules/mbsnrtowcs (configure.ac): ... to here.
3788
3789 2011-05-21  Bruno Haible  <bruno@clisp.org>
3790
3791         mbsinit: Move AC_LIBOBJ invocations to module description.
3792         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
3793         invocations from here...
3794         * modules/mbsinit (configure.ac): ... to here.
3795
3796 2011-05-21  Bruno Haible  <bruno@clisp.org>
3797
3798         mbrlen: Move AC_LIBOBJ invocations to module description.
3799         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
3800         invocations from here...
3801         * modules/mbrlen (configure.ac): ... to here.
3802
3803 2011-05-21  Bruno Haible  <bruno@clisp.org>
3804
3805         mbrtowc: Respect rules for use of AC_LIBOBJ.
3806         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
3807         invocations from here...
3808         * modules/mbrtowc (configure.ac): ... to here.
3809
3810 2011-05-21  Bruno Haible  <bruno@clisp.org>
3811
3812         malloc-*: Move AC_LIBOBJ invocations to module description.
3813         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
3814         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
3815         AC_LIBOBJ invocations from here...
3816         * modules/malloc-gnu (configure.ac): ... to here.
3817         * modules/malloc-posix (configure.ac): ... and here.
3818
3819 2011-05-21  Bruno Haible  <bruno@clisp.org>
3820
3821         lstat, openat: Respect rules for use of AC_LIBOBJ.
3822         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
3823         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
3824         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
3825         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
3826         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
3827         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
3828         here.
3829         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
3830
3831 2011-05-21  Bruno Haible  <bruno@clisp.org>
3832
3833         lseek: Move AC_LIBOBJ invocations to module description.
3834         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
3835         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
3836         * modules/lseek (configure.ac): ... to here.
3837
3838 2011-05-21  Bruno Haible  <bruno@clisp.org>
3839
3840         linkat: Move AC_LIBOBJ invocations to module description.
3841         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
3842         here...
3843         * modules/linkat (configure.ac): ... to here.
3844
3845 2011-05-21  Bruno Haible  <bruno@clisp.org>
3846
3847         link: Respect rules for use of AC_LIBOBJ.
3848         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
3849         * modules/link (configure.ac): ... to here.
3850
3851 2011-05-21  Bruno Haible  <bruno@clisp.org>
3852
3853         lchown: Move AC_LIBOBJ invocations to module description.
3854         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
3855         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
3856         * modules/lchown (configure.ac): ... to here.
3857
3858 2011-05-21  Bruno Haible  <bruno@clisp.org>
3859
3860         iswctype: Move AC_LIBOBJ invocations to module description.
3861         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
3862         here...
3863         * modules/iswctype (configure.ac): ... to here.
3864
3865 2011-05-21  Bruno Haible  <bruno@clisp.org>
3866
3867         iswblank: Move AC_LIBOBJ invocations to module description.
3868         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
3869         here...
3870         * modules/iswblank (configure.ac): ... to here.
3871
3872 2011-05-21  Bruno Haible  <bruno@clisp.org>
3873
3874         atanl: Move AC_LIBOBJ invocations to module description.
3875         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
3876         * modules/atanl (configure.ac): ... to here.
3877
3878 2011-05-21  Bruno Haible  <bruno@clisp.org>
3879
3880         acosl: Move AC_LIBOBJ invocations to module description.
3881         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
3882         * modules/acosl (configure.ac): ... to here.
3883
3884 2011-05-21  Bruno Haible  <bruno@clisp.org>
3885
3886         asinl: Respect rules for use of AC_LIBOBJ.
3887         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
3888         * modules/asinl (configure.ac): ... to here.
3889
3890 2011-05-21  Bruno Haible  <bruno@clisp.org>
3891
3892         tanl: Move AC_LIBOBJ invocations to module description.
3893         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
3894         * modules/tanl (configure.ac): ... to here.
3895
3896 2011-05-21  Bruno Haible  <bruno@clisp.org>
3897
3898         cosl: Move AC_LIBOBJ invocations to module description.
3899         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
3900         * modules/cosl (configure.ac): ... to here.
3901
3902 2011-05-21  Bruno Haible  <bruno@clisp.org>
3903
3904         sinl: Move AC_LIBOBJ invocations to module description.
3905         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
3906         * modules/sinl (configure.ac): ... to here.
3907
3908 2011-05-21  Bruno Haible  <bruno@clisp.org>
3909
3910         logl: Move AC_LIBOBJ invocations to module description.
3911         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
3912         * modules/logl (configure.ac): ... to here.
3913
3914 2011-05-21  Bruno Haible  <bruno@clisp.org>
3915
3916         expl: Move AC_LIBOBJ invocations to module description.
3917         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
3918         * modules/expl (configure.ac): ... to here.
3919
3920 2011-05-21  Bruno Haible  <bruno@clisp.org>
3921
3922         roundl: Move AC_LIBOBJ invocations to module description.
3923         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
3924         * modules/roundl (configure.ac): ... to here.
3925
3926 2011-05-21  Bruno Haible  <bruno@clisp.org>
3927
3928         round: Move AC_LIBOBJ invocations to module description.
3929         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
3930         * modules/round (configure.ac): ... to here.
3931
3932 2011-05-21  Bruno Haible  <bruno@clisp.org>
3933
3934         roundf: Move AC_LIBOBJ invocations to module description.
3935         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
3936         * modules/roundf (configure.ac): ... to here.
3937
3938 2011-05-21  Bruno Haible  <bruno@clisp.org>
3939
3940         truncl: Move AC_LIBOBJ invocations to module description.
3941         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
3942         * modules/truncl (configure.ac): ... to here.
3943
3944 2011-05-21  Bruno Haible  <bruno@clisp.org>
3945
3946         trunc: Move AC_LIBOBJ invocations to module description.
3947         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
3948         * modules/trunc (configure.ac): ... to here.
3949
3950 2011-05-21  Bruno Haible  <bruno@clisp.org>
3951
3952         truncf: Move AC_LIBOBJ invocations to module description.
3953         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
3954         * modules/truncf (configure.ac): ... to here.
3955
3956 2011-05-21  Bruno Haible  <bruno@clisp.org>
3957
3958         ceill: Move AC_LIBOBJ invocations to module description.
3959         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
3960         * modules/ceill (configure.ac): ... to here.
3961
3962 2011-05-21  Bruno Haible  <bruno@clisp.org>
3963
3964         ceil: Move AC_LIBOBJ invocations to module description.
3965         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
3966         * modules/ceil (configure.ac): ... to here.
3967
3968 2011-05-21  Bruno Haible  <bruno@clisp.org>
3969
3970         ceilf: Move AC_LIBOBJ invocations to module description.
3971         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
3972         * modules/ceilf (configure.ac): ... to here.
3973
3974 2011-05-21  Bruno Haible  <bruno@clisp.org>
3975
3976         floorl: Respect rules for use of AC_LIBOBJ.
3977         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
3978         * modules/floorl (configure.ac): ... to here.
3979
3980 2011-05-21  Bruno Haible  <bruno@clisp.org>
3981
3982         floor: Respect rules for use of AC_LIBOBJ.
3983         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
3984         * modules/floor (configure.ac): ... to here.
3985
3986 2011-05-21  Bruno Haible  <bruno@clisp.org>
3987
3988         floorf: Move AC_LIBOBJ invocations to module description.
3989         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
3990         * modules/floorf (configure.ac): ... to here.
3991
3992 2011-05-20  Bruno Haible  <bruno@clisp.org>
3993
3994         sqrtl: Respect rules for use of AC_LIBOBJ.
3995         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
3996         * modules/sqrtl (configure.ac): ... to here.
3997
3998 2011-05-20  Bruno Haible  <bruno@clisp.org>
3999
4000         ldexpl: Respect rules for use of AC_LIBOBJ.
4001         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
4002         * modules/ldexpl (configure.ac): ... to here.
4003
4004 2011-05-20  Bruno Haible  <bruno@clisp.org>
4005
4006         frexpl*: Respect rules for use of AC_LIBOBJ.
4007         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
4008         invocation from here...
4009         * modules/frexpl (configure.ac): ... to here.
4010         * modules/frexpl-nolibm (configure.ac): ... and here.
4011
4012 2011-05-20  Bruno Haible  <bruno@clisp.org>
4013
4014         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
4015         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
4016         invocation from here...
4017         * modules/frexp (configure.ac): ... to here.
4018         * modules/frexp-nolibm (configure.ac): ... and here.
4019
4020 2011-05-20  Bruno Haible  <bruno@clisp.org>
4021
4022         isnan: Respect rules for use of AC_LIBOBJ.
4023         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
4024         invocations here.
4025         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
4026         REPLACE_ISNAN.
4027         * modules/isnand (configure.ac): Likewise.
4028         * modules/isnanl (configure.ac): Likewise.
4029
4030 2011-05-20  Bruno Haible  <bruno@clisp.org>
4031
4032         isnanl*: Respect rules for use of AC_LIBOBJ.
4033         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
4034         invocation from here...
4035         * modules/isnanl (configure.ac): ... to here.
4036         * modules/isnanl-nolibm (configure.ac): ... and here.
4037
4038 2011-05-20  Bruno Haible  <bruno@clisp.org>
4039
4040         isnand*: Move AC_LIBOBJ invocations to module description.
4041         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
4042         invocation from here...
4043         * modules/isnand (configure.ac): ... to here.
4044         * modules/isnand-nolibm (configure.ac): ... and here.
4045
4046 2011-05-20  Bruno Haible  <bruno@clisp.org>
4047
4048         isnanf*: Move AC_LIBOBJ invocations to module description.
4049         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
4050         invocation from here...
4051         * modules/isnanf (configure.ac): ... to here.
4052         * modules/isnanf-nolibm (configure.ac): ... and here.
4053
4054 2011-05-20  Bruno Haible  <bruno@clisp.org>
4055
4056         isnan*: Separate the AC_LIBOBJ invocations.
4057         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
4058         AC_LIBOBJ invocation.
4059         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
4060         here.
4061         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
4062         AC_LIBOBJ invocation.
4063         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
4064         here.
4065         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
4066         AC_LIBOBJ invocation.
4067         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
4068         here.
4069         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
4070
4071 2011-05-08  Bruno Haible  <bruno@clisp.org>
4072
4073         isinf: Move AC_LIBOBJ invocations to module description.
4074         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
4075         * modules/isinf (configure.ac): ... to here.
4076
4077 2011-05-08  Bruno Haible  <bruno@clisp.org>
4078
4079         isfinite: Move AC_LIBOBJ invocations to module description.
4080         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
4081         * modules/isfinite (configure.ac): ... to here.
4082
4083 2011-05-08  Bruno Haible  <bruno@clisp.org>
4084
4085         isblank: Move AC_LIBOBJ invocations to module description.
4086         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
4087         here...
4088         * modules/isblank (configure.ac): ... to here.
4089
4090 2011-05-08  Bruno Haible  <bruno@clisp.org>
4091
4092         isapipe: Move AC_LIBOBJ invocations to module description.
4093         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
4094         gl_PREREQ_ISAPIPE invocations from here...
4095         * modules/isapipe (configure.ac): ... to here.
4096         (Depends-on): Update condition.
4097
4098 2011-05-08  Bruno Haible  <bruno@clisp.org>
4099
4100         ioctl: Move AC_LIBOBJ invocations to module description.
4101         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
4102         invocations from here...
4103         * modules/ioctl (configure.ac): ... to here.
4104         (Depends-on): Update condition.
4105
4106 2011-05-08  Bruno Haible  <bruno@clisp.org>
4107
4108         imaxdiv: Move AC_LIBOBJ invocations to module description.
4109         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
4110         invocations from here...
4111         * modules/imaxdiv (configure.ac): ... to here.
4112
4113 2011-05-08  Bruno Haible  <bruno@clisp.org>
4114
4115         imaxabs: Move AC_LIBOBJ invocations to module description.
4116         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
4117         invocations from here...
4118         * modules/imaxabs (configure.ac): ... to here.
4119
4120 2011-05-08  Bruno Haible  <bruno@clisp.org>
4121
4122         getaddrinfo: Move AC_LIBOBJ invocations to module description.
4123         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
4124         AC_LIBOBJ invocations from here...
4125         * modules/getaddrinfo (configure.ac): ... to here.
4126         (Depends-on): Add conditions.
4127
4128 2011-05-08  Bruno Haible  <bruno@clisp.org>
4129
4130         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
4131         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
4132         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
4133         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
4134         (gl_PREREQ_INET_PTON): ... from here.
4135         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
4136         gl_PREREQ_INET_PTON here.
4137         (Depends-on): Update condition.
4138
4139 2011-05-08  Bruno Haible  <bruno@clisp.org>
4140
4141         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
4142         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
4143         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
4144         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
4145         (gl_PREREQ_INET_NTOP): ... from here.
4146         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
4147         gl_PREREQ_INET_NTOP here.
4148         (Depends-on): Update condition.
4149
4150 2011-05-08  Bruno Haible  <bruno@clisp.org>
4151
4152         iconv_open: Move AC_LIBOBJ invocations to module description.
4153         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
4154         AC_LIBOBJ invocations from here...
4155         * modules/iconv_open (configure.ac): ... to here.
4156
4157 2011-05-08  Bruno Haible  <bruno@clisp.org>
4158
4159         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
4160         If module 'iconv_open' is among the main modules and module
4161         'iconv_open-utf' is among the tests dependencies, then
4162         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
4163         return the special iconv_t values. Therefore iconv() and iconv_close()
4164         must support these special iconv_t values, already in lib, not only in
4165         tests.
4166         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
4167         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
4168         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
4169         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
4170         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
4171         (Depends-on): Add the dependencies of iconv_open-utf.
4172         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
4173         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
4174         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
4175
4176 2011-05-08  Bruno Haible  <bruno@clisp.org>
4177
4178         group-member: Move AC_LIBOBJ invocations to module description.
4179         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
4180         gl_PREREQ_GROUP_MEMBER invocations from here...
4181         * modules/group-member (configure.ac): ... to here.
4182
4183 2011-05-08  Bruno Haible  <bruno@clisp.org>
4184
4185         grantpt: Move AC_LIBOBJ invocations to module description.
4186         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
4187         invocations from here...
4188         * modules/grantpt (configure.ac): ... to here.
4189
4190 2011-05-08  Bruno Haible  <bruno@clisp.org>
4191
4192         glob: Move AC_LIBOBJ invocations to module description.
4193         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
4194         from here...
4195         * modules/glob (configure.ac): ... to here.
4196
4197 2011-05-08  Bruno Haible  <bruno@clisp.org>
4198
4199         getusershell: Move AC_LIBOBJ invocations to module description.
4200         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
4201         Move AC_LIBOBJ invocation from here...
4202         * modules/getusershell (configure.ac): ... to here.
4203         (Depends-on): Update condition.
4204
4205 2011-05-08  Bruno Haible  <bruno@clisp.org>
4206
4207         gettimeofday: Move AC_LIBOBJ invocations to module description.
4208         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
4209         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
4210         gl_PREREQ_GETTIMEOFDAY invocations from here...
4211         * modules/gettimeofday (configure.ac): ... to here.
4212
4213 2011-05-08  Bruno Haible  <bruno@clisp.org>
4214
4215         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
4216         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
4217         just gl_FUNC_TZSET.
4218         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
4219         (gl_FUNC_TZSET_CLOBBER): Remove actions.
4220         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
4221         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
4222
4223 2011-05-08  Bruno Haible  <bruno@clisp.org>
4224
4225         getsubopt: Move AC_LIBOBJ invocations to module description.
4226         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
4227         gl_PREREQ_GETSUBOPT invocations from here...
4228         * modules/getsubopt (configure.ac): ... to here.
4229
4230 2011-05-08  Bruno Haible  <bruno@clisp.org>
4231
4232         getpass-gnu: Move AC_LIBOBJ invocations to module description.
4233         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
4234         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
4235         * modules/getpass-gnu (configure.ac): ... to here.
4236
4237 2011-05-08  Bruno Haible  <bruno@clisp.org>
4238
4239         getpass: Move AC_LIBOBJ invocations to module description.
4240         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
4241         gl_PREREQ_GETPASS invocations from here...
4242         * modules/getpass (configure.ac): ... to here.
4243
4244 2011-05-08  Bruno Haible  <bruno@clisp.org>
4245
4246         getpagesize: Move AC_LIBOBJ invocations to module description.
4247         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
4248         from here...
4249         * modules/getpagesize (configure.ac): ... to here.
4250
4251 2011-05-08  Bruno Haible  <bruno@clisp.org>
4252
4253         getopt: Move AC_LIBOBJ invocations to module description.
4254         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
4255         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
4256         invocations from here...
4257         * modules/getopt-gnu (configure.ac): ... to here.
4258         * modules/getopt-posix (configure.ac): ... and here.
4259         (Depends-on): Update condition.
4260
4261 2011-05-08  Bruno Haible  <bruno@clisp.org>
4262
4263         getopt, argp: Respect rules for use of AC_LIBOBJ.
4264         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
4265         (gl_REPLACE_GETOPT_ALWAYS): New macro.
4266         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
4267         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
4268
4269 2011-05-08  Bruno Haible  <bruno@clisp.org>
4270
4271         getlogin_r: Move AC_LIBOBJ invocations to module description.
4272         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
4273         gl_PREREQ_GETLOGIN_R invocations from here...
4274         * modules/getlogin_r (configure.ac): ... to here.
4275
4276 2011-05-08  Bruno Haible  <bruno@clisp.org>
4277
4278         getlogin: Move AC_LIBOBJ invocations to module description.
4279         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
4280         here...
4281         * modules/getlogin (configure.ac): ... to here.
4282
4283 2011-05-08  Bruno Haible  <bruno@clisp.org>
4284
4285         getloadavg: Move AC_LIBOBJ invocations to module description.
4286         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
4287         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
4288         * modules/getloadavg (configure.ac): ... to here.
4289
4290 2011-05-08  Bruno Haible  <bruno@clisp.org>
4291
4292         gethrxtime: Move AC_LIBOBJ invocations to module description.
4293         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
4294         LIB_GETHRXTIME from here...
4295         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
4296         invocations from here...
4297         * modules/gethrxtime (configure.ac): ... to here.
4298
4299 2011-05-08  Bruno Haible  <bruno@clisp.org>
4300
4301         gethostname: Move AC_LIBOBJ invocations to module description.
4302         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
4303         gl_PREREQ_GETHOSTNAME invocations from here...
4304         * modules/gethostname (configure.ac): ... to here.
4305
4306 2011-05-08  Bruno Haible  <bruno@clisp.org>
4307
4308         getgroups: Move AC_LIBOBJ invocations to module description.
4309         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
4310         here...
4311         * modules/getgroups (configure.ac): ... to here.
4312
4313 2011-05-08  Bruno Haible  <bruno@clisp.org>
4314
4315         getdtablesize: Move AC_LIBOBJ invocations to module description.
4316         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
4317         invocation from here...
4318         * modules/getdtablesize (configure.ac): ... to here.
4319
4320 2011-05-08  Bruno Haible  <bruno@clisp.org>
4321
4322         getdomainname: Move AC_LIBOBJ invocations to module description.
4323         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
4324         gl_PREREQ_GETDOMAINNAME invocations from here...
4325         * modules/getdomainname (configure.ac): ... to here.
4326
4327 2011-05-08  Bruno Haible  <bruno@clisp.org>
4328
4329         getline: Move AC_LIBOBJ invocations to module description.
4330         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
4331         invocations from here...
4332         * modules/getline (configure.ac): ... to here.
4333
4334 2011-05-08  Bruno Haible  <bruno@clisp.org>
4335
4336         getline: Simplify.
4337         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
4338         It's already handled through the module dependency.
4339
4340 2011-05-08  Bruno Haible  <bruno@clisp.org>
4341
4342         getdelim: Move AC_LIBOBJ invocations to module description.
4343         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
4344         and gl_PREREQ_GETDELIM invocations from here...
4345         * modules/getdelim (configure.ac): ... to here.
4346         (Depends-on): Fix condition.
4347
4348 2011-05-08  Bruno Haible  <bruno@clisp.org>
4349
4350         getcwd: Move AC_LIBOBJ invocations to module description.
4351         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
4352         invocations from here...
4353         * modules/getcwd (configure.ac): ... to here.
4354
4355 2011-05-08  Bruno Haible  <bruno@clisp.org>
4356
4357         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
4358         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
4359         here...
4360         * modules/getcwd-lgpl (configure.ac): ... to here.
4361
4362 2011-05-07  Bruno Haible  <bruno@clisp.org>
4363
4364         crypto/gc: Move AC_LIBOBJ invocations to module description.
4365         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
4366         * modules/crypto/gc (configure.ac): ... to here.
4367
4368 2011-05-07  Bruno Haible  <bruno@clisp.org>
4369
4370         fwriting: Move AC_LIBOBJ invocations to module description.
4371         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
4372         here...
4373         * modules/fwriting (configure.ac): ... to here.
4374
4375 2011-05-07  Bruno Haible  <bruno@clisp.org>
4376
4377         fwritable: Move AC_LIBOBJ invocations to module description.
4378         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
4379         here...
4380         * modules/fwritable (configure.ac): ... to here.
4381
4382 2011-05-07  Bruno Haible  <bruno@clisp.org>
4383
4384         futimens: Move AC_LIBOBJ invocations to module description.
4385         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
4386         here...
4387         * modules/futimens (configure.ac): ... to here.
4388
4389 2011-05-07  Bruno Haible  <bruno@clisp.org>
4390
4391         ftruncate: Move AC_LIBOBJ invocations to module description.
4392         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
4393         gl_PREREQ_FTRUNCATE invocations from here...
4394         * modules/ftruncate (configure.ac): ... to here.
4395
4396 2011-05-07  Bruno Haible  <bruno@clisp.org>
4397
4398         fsync: Move AC_LIBOBJ invocations to module description.
4399         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
4400         invocations from here...
4401         * modules/fsync (configure.ac): ... to here.
4402
4403 2011-05-07  Bruno Haible  <bruno@clisp.org>
4404
4405         fsusage: Move AC_LIBOBJ invocations to module description.
4406         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
4407         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
4408         * modules/fsusage (configure.ac): ... to here.
4409
4410 2011-05-07  Bruno Haible  <bruno@clisp.org>
4411
4412         freopen: Move AC_LIBOBJ invocations to module description.
4413         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
4414         invocations from here...
4415         * modules/freopen (configure.ac): ... to here.
4416
4417 2011-05-07  Bruno Haible  <bruno@clisp.org>
4418
4419         free: Move AC_LIBOBJ invocations to module description.
4420         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
4421         invocations from here...
4422         * modules/free (configure.ac): ... to here.
4423
4424 2011-05-07  Bruno Haible  <bruno@clisp.org>
4425
4426         freadable: Move AC_LIBOBJ invocations to module description.
4427         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
4428         here...
4429         * modules/freadable (configure.ac): ... to here.
4430
4431 2011-05-07  Bruno Haible  <bruno@clisp.org>
4432
4433         fpurge: Move AC_LIBOBJ invocations to module description.
4434         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
4435         invocations from here...
4436         * modules/fpurge (configure.ac): ... to here.
4437
4438 2011-05-07  Bruno Haible  <bruno@clisp.org>
4439
4440         fpending: Move AC_LIBOBJ invocations to module description.
4441         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
4442         gl_FUNC_FPENDING.
4443         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
4444         invocations from here...
4445         * modules/fpending (configure.ac): ... to here.
4446
4447 2011-05-07  Bruno Haible  <bruno@clisp.org>
4448
4449         fopen: Move AC_LIBOBJ invocations to module description.
4450         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
4451         invocations from here...
4452         * modules/fopen (configure.ac): ... to here.
4453
4454 2011-05-07  Bruno Haible  <bruno@clisp.org>
4455
4456         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
4457         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
4458         gl_FUNC_FNMATCH_POSIX.
4459         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
4460         invocations from here...
4461         * modules/fnmatch (configure.ac): ... to here.
4462         * modules/fnmatch-gnu (configure.ac): ... and here.
4463
4464 2011-05-07  Bruno Haible  <bruno@clisp.org>
4465
4466         flock: Move AC_LIBOBJ invocations to module description.
4467         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
4468         invocations from here...
4469         * modules/flock (configure.ac): ... to here.
4470
4471 2011-05-07  Bruno Haible  <bruno@clisp.org>
4472
4473         fileblocks: Move AC_LIBOBJ invocations to module description.
4474         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
4475         gl_PREREQ_FILEBLOCKS invocations from here...
4476         * modules/fileblocks (configure.ac): ... to here.
4477
4478 2011-05-06  Bruno Haible  <bruno@clisp.org>
4479
4480         fflush: Move AC_LIBOBJ invocations to module description.
4481         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
4482         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
4483         invocations from here...
4484         * modules/fflush (configure.ac): ... to here.
4485
4486 2011-05-06  Bruno Haible  <bruno@clisp.org>
4487
4488         fdopendir: Move AC_LIBOBJ invocations to module description.
4489         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
4490         here...
4491         * modules/fdopendir (configure.ac): ... to here.
4492         (Depends-on): Improve conditions.
4493
4494 2011-05-06  Bruno Haible  <bruno@clisp.org>
4495
4496         _Exit: Move AC_LIBOBJ invocations to module description.
4497         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
4498         invocations from here...
4499         * modules/_Exit (configure.ac): ... to here.
4500
4501 2011-05-21  Bruno Haible  <bruno@clisp.org>
4502
4503         euidaccess: Respect rules for use of AC_LIBOBJ.
4504         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
4505         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
4506         from here...
4507         * modules/euidaccess (configure.ac): ... to here.
4508
4509 2011-05-06  Bruno Haible  <bruno@clisp.org>
4510
4511         error: Move AC_LIBOBJ invocations to module description.
4512         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
4513         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
4514         invocations from here...
4515         * modules/error (configure.ac): ... to here.
4516
4517 2011-05-06  Bruno Haible  <bruno@clisp.org>
4518
4519         duplocale: Move AC_LIBOBJ invocations to module description.
4520         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
4521         gl_PREREQ_DUPLOCALE invocations from here...
4522         * modules/duplocale (configure.ac): ... to here.
4523
4524 2011-05-05  Bruno Haible  <bruno@clisp.org>
4525
4526         dirfd: Move AC_LIBOBJ invocations to module description.
4527         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
4528         gl_FUNC_DIRFD.
4529         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
4530         here...
4531         * modules/dirfd (configure.ac): ... to here.
4532         (Depends-on): Fix condition.
4533
4534 2011-05-05  Bruno Haible  <bruno@clisp.org>
4535
4536         chown: Respect rules for use of AC_LIBOBJ.
4537         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
4538         * modules/chown (configure.ac): ... to here.
4539
4540 2011-05-05  Bruno Haible  <bruno@clisp.org>
4541
4542         chdir-long: Move AC_LIBOBJ invocations to module description.
4543         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
4544         gl_PREREQ_CHDIR_LONG invocations from here...
4545         * modules/chdir-long (configure.ac): ... to here.
4546
4547 2011-05-05  Bruno Haible  <bruno@clisp.org>
4548
4549         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
4550         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
4551         from here...
4552         * modules/canonicalize-lgpl (configure.ac): ... to here.
4553
4554 2011-05-05  Bruno Haible  <bruno@clisp.org>
4555
4556         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
4557         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
4558         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
4559         REPLACE_CALLOC.
4560         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
4561         * modules/calloc-gnu (configure.ac): Likewise.
4562
4563 2011-05-05  Bruno Haible  <bruno@clisp.org>
4564
4565         btowc: Move AC_LIBOBJ invocations to module description.
4566         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
4567         invocations from here...
4568         * modules/btowc (configure.ac): ... to here.
4569
4570 2011-05-21  Bruno Haible  <bruno@clisp.org>
4571
4572         atexit: Move AC_LIBOBJ invocations to module description.
4573         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
4574         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
4575         here...
4576         * modules/atexit (configure.ac): ... to here.
4577
4578 2011-05-05  Bruno Haible  <bruno@clisp.org>
4579
4580         atoll: Move AC_LIBOBJ invocations to module description.
4581         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
4582         invocations from here...
4583         * modules/atoll (configure.ac): ... to here.
4584
4585 2011-05-05  Bruno Haible  <bruno@clisp.org>
4586
4587         argz: Move AC_LIBOBJ invocations to module description.
4588         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
4589         * modules/argz (configure.ac): ... to here.
4590
4591 2011-05-05  Bruno Haible  <bruno@clisp.org>
4592
4593         alphasort: Move AC_LIBOBJ invocations to module description.
4594         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
4595         gl_PREREQ_ALPHASORT invocations from here...
4596         * modules/alphasort (configure.ac): ... to here.
4597
4598 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
4599
4600         verify: new macro verify_expr; verify_true deprecated
4601         * NEWS: Mention this.
4602         * doc/verify.texi (Compile-time Assertions): Document this.
4603         * lib/verify.h (verify_true): Deprecate.
4604         (verify_expr): New macro.
4605         * tests/test-verify.c (function): Test verify_expr.
4606
4607 2011-06-14  Jim Meyering  <meyering@redhat.com>
4608
4609         init.sh: give more portable redirection-related advice in a comment
4610         * tests/init.sh (stderr_fileno_): Update the advice in comments.
4611         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
4612         for lots of discussion.  Stefano Lattarini suggested the solution
4613         of putting "9>&2" after the command.  Reported by Bruno Haible.
4614
4615 2011-06-13  Bruno Haible  <bruno@clisp.org>
4616
4617         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
4618         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
4619         'none'.
4620
4621 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
4622
4623         ftoastr: use strtof only if HAVE_STRTOF
4624         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
4625         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
4626         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
4627         * modules/ftoastr (configure.ac): Check for strtof.
4628
4629 2011-06-13  Bruno Haible  <bruno@clisp.org>
4630
4631         gnulib-tool: Addendum to 2011-06-08 commit.
4632         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
4633         and --witness-c-macro have been given, augment AM_CPPFLAGS.
4634
4635 2011-06-13  Bruno Haible  <bruno@clisp.org>
4636
4637         fseeko: Provide a non-inline replacement of fseek().
4638         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
4639         * modules/fseeko (Depends-on): Add fseek.
4640         * modules/fseek (License): Change to LGPLv2+.
4641
4642 2011-06-13  Bruno Haible  <bruno@clisp.org>
4643
4644         ftello: Provide a non-inline replacement of ftell().
4645         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
4646         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
4647         not have ftello() (such as on mingw).
4648         * modules/ftello (Depends-on): Add ftell.
4649         * modules/ftell (License): Change to LGPLv2+.
4650
4651 2011-05-07  Bruno Haible  <bruno@clisp.org>
4652
4653         ftell: Move AC_LIBOBJ invocations to module description.
4654         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
4655         * modules/ftell (configure.ac): ... to here.
4656
4657 2011-05-07  Bruno Haible  <bruno@clisp.org>
4658
4659         ftello: Respect rules for use of AC_LIBOBJ.
4660         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
4661         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
4662         here...
4663         * modules/ftello (configure.ac): ... to here.
4664
4665 2011-05-07  Bruno Haible  <bruno@clisp.org>
4666
4667         fseeko: Simplify.
4668         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
4669         (gl_FUNC_FSEEKO): Inline it here.
4670
4671 2011-05-07  Bruno Haible  <bruno@clisp.org>
4672
4673         fseek: Move AC_LIBOBJ invocations to module description.
4674         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
4675         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
4676         * modules/fseek (configure.ac): ... to here.
4677
4678 2011-05-07  Bruno Haible  <bruno@clisp.org>
4679
4680         fseek: Respect rules for use of AC_LIBOBJ.
4681         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
4682         here...
4683         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
4684
4685 2011-05-07  Bruno Haible  <bruno@clisp.org>
4686
4687         fseeko: Respect rules for use of AC_LIBOBJ.
4688         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
4689         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
4690         here...
4691         * modules/fseeko (configure.ac): ... to here.
4692
4693 2011-06-13  Bruno Haible  <bruno@clisp.org>
4694
4695         gnulib-tool: Allow comments in the 'Depends-on' section.
4696         * doc/gnulib.texi (Module description): Mention comment syntax in the
4697         Depends-on section.
4698         * gnulib-tool (func_get_dependencies): Filter out comment lines.
4699
4700 2011-06-13  Bruno Haible  <bruno@clisp.org>
4701
4702         file-set.h: guard __attibute__ use, now that it's not always defined
4703         * lib/file-set.h (record_file): Use __attribute__ only with compiler
4704         versions that support it.  This fixes a coreutils build failure with
4705         the vendor cc on HP-UX 11.31.
4706
4707 2011-06-12  Bruno Haible  <bruno@clisp.org>
4708
4709         acl: Add support for HP-UX >= 11.11 JFS ACLs.
4710         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
4711         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
4712         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
4713         (acl, aclsort): New declarations.
4714         (aclv_nontrivial): New declaration.
4715         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
4716         (file_has_acl): Read also the second kind of HP-UX ACLs.
4717         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
4718         kind of HP-UX ACLs if the first kind fails.
4719         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
4720         second kind of HP-UX ACLs.
4721         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
4722         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
4723         agree.
4724         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
4725         hpuxjfs.
4726         Handle hpuxjfs.
4727         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
4728         hpuxjfs.
4729         Handle hpuxjfs.
4730         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
4731         (func_test_same_acls): Use both lsacl and getacl.
4732         Handle hpuxjfs.
4733         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
4734         (func_test_same_acls): Use both lsacl and getacl.
4735         Handle hpuxjfs.
4736
4737 2011-06-12  Bruno Haible  <bruno@clisp.org>
4738
4739         acl: Complete the 2010-08-10 fix.
4740         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
4741         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
4742         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
4743         explicitly.
4744         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
4745         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
4746
4747 2011-06-12  Bruno Haible  <bruno@clisp.org>
4748
4749         spawn-pipe tests: Comments.
4750         * tests/test-spawn-pipe-child.c (main): Update comment.
4751         Reported by James Youngman <jay@gnu.org>.
4752
4753 2011-06-11  James Youngman  <jay@gnu.org>
4754
4755         New module 'stat-size'.
4756         * modules/stat-size: New module.  Provides macros for accessing
4757         file size information in instances of struct stat.  Depends on the
4758         fileblocks module because it calls st_blocks.
4759         * lib/stat-size.h: New file, adapted from coreutils' system.h.
4760         * doc/gnulib.texi: Include stat-size.texi.
4761         * doc/stat-size.texi: Documentation for this module.
4762         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
4763         * m4/fileblocks.m4: Mention that stat-size depends on the call to
4764         AC_STRUCT_ST_BLOCKS.
4765
4766 2011-06-09  Bruno Haible  <bruno@clisp.org>
4767
4768         thread: Support pthreads-win32.
4769         * lib/glthread/thread.h (gl_thread_self): Define differently on
4770         pthreads-win32.
4771         (gl_null_thread): New declaration.
4772         (gl_thread_self_pointer): New macro.
4773         * lib/glthread/thread.c (gl_null_thread): New constant.
4774         * tests/test-lock.c: Use gl_thread_self_pointer instead of
4775         gl_thread_self.
4776         * tests/test-tls.c: Likewise.
4777         Suggested by Paul Eggert. Reported by Eric Blake.
4778
4779 2011-06-09  Bruno Haible  <bruno@clisp.org>
4780
4781         thread: Fix confusion between NULL and 0.
4782         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
4783         Reported by Paul Eggert.
4784
4785 2011-06-09  Bruno Haible  <bruno@clisp.org>
4786
4787         spawn-pipe tests: Avoid test failure on HP-UX 11.
4788         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
4789         is closed.
4790
4791 2011-06-09  Bruno Haible  <bruno@clisp.org>
4792
4793         acl tests: Fix compilation error on HP-UX 11.
4794         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
4795
4796 2011-06-09  Bruno Haible  <bruno@clisp.org>
4797
4798         rmdir: Avoid test failure on HP-UX 10.20.
4799         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
4800         EEXIST.
4801
4802 2011-06-08  Eric Blake  <eblake@redhat.com>
4803
4804         perror: fix test on mingw
4805         * modules/perror-tests (Depends-on): Add dup2.
4806
4807         strerror_r-posix: fix on MacOS
4808         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
4809         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
4810         logic bug.
4811         * lib/strerror_r.c (strerror_r): Fix the bug.
4812         * lib/strerror.c (strerror): Likewise.
4813         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
4814         problem.
4815         * doc/posix-functions/strerror.texi (strerror): Likewise.
4816         * doc/posix-functions/perror.texi (perror): Likewise.
4817         * tests/test-strerror.c (main): Enhance test.
4818         * tests/test-strerror_r.c (main): Likewise.
4819
4820 2011-06-08  Bruno Haible  <bruno@clisp.org>
4821
4822         gnulib-tool: Better isolation between different gnulib-tool invocations.
4823         * gnulib-tool: New option --witness-c-macro.
4824         (witness_c_macro): New variable.
4825         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
4826         AM_CPPFLAGS define it as a C macro.
4827         (func_emit_tests_Makefile_am): Likewise.
4828         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
4829         read it from there.
4830         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
4831         m4_define, not AC_DEFUN.
4832         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
4833         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
4834         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
4835         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
4836         s|...|...|, to substitute the values of the GNULIB_* module indicator
4837         variables.
4838         * modules/dirent (Makefile.am): Likewise.
4839         * modules/fcntl-h (Makefile.am): Likewise.
4840         * modules/iconv-h (Makefile.am): Likewise.
4841         * modules/langinfo (Makefile.am): Likewise.
4842         * modules/locale (Makefile.am): Likewise.
4843         * modules/math (Makefile.am): Likewise.
4844         * modules/netdb (Makefile.am): Likewise.
4845         * modules/poll-h (Makefile.am): Likewise.
4846         * modules/pty (Makefile.am): Likewise.
4847         * modules/search (Makefile.am): Likewise.
4848         * modules/signal (Makefile.am): Likewise.
4849         * modules/spawn (Makefile.am): Likewise.
4850         * modules/stdio (Makefile.am): Likewise.
4851         * modules/stdlib (Makefile.am): Likewise.
4852         * modules/string (Makefile.am): Likewise.
4853         * modules/sys_ioctl (Makefile.am): Likewise.
4854         * modules/sys_select (Makefile.am): Likewise.
4855         * modules/sys_socket (Makefile.am): Likewise.
4856         * modules/sys_stat (Makefile.am): Likewise.
4857         * modules/sys_times (Makefile.am): Likewise.
4858         * modules/sys_utsname (Makefile.am): Likewise.
4859         * modules/sys_wait (Makefile.am): Likewise.
4860         * modules/termios (Makefile.am): Likewise.
4861         * modules/time (Makefile.am): Likewise.
4862         * modules/unistd (Makefile.am): Likewise.
4863         * modules/wchar (Makefile.am): Likewise.
4864
4865 2011-06-08  Eric Blake  <eblake@redhat.com>
4866
4867         strerror: simplify replacement
4868         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
4869         * modules/strerror (configure.ac): No prereqs needed here...
4870         * modules/strerror-override (configure.ac): ...but this needs it.
4871         (Files): Add file for needed prereq macro.
4872
4873 2011-06-08  Bruno Haible  <bruno@clisp.org>
4874
4875         strerror_r-posix: Tweaks.
4876         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
4877         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
4878         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
4879         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
4880         (gl_FUNC_STRERROR_R): ... to here.
4881         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
4882
4883 2011-06-07  Eric Blake  <eblake@redhat.com>
4884
4885         perror: document fixed bugs
4886         * doc/posix-functions/perror.texi (perror): Document recent
4887         patches.
4888
4889 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
4890
4891         stat-time: get_stat_birthtime failure is better-defined
4892         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
4893         return a timestamp whose tv_sec and tv_nsec values are both -1.
4894         Previously, the spec said only that the tv_nsec value was negative.
4895         This upward-compatible change simplifies GNU tar a bit.
4896
4897 2011-06-07  Eric Blake  <eblake@redhat.com>
4898
4899         strerror_r-posix: work around cygwin 1.7.9
4900         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
4901         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
4902         bug without replacing strerror_r.
4903         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
4904         strerror_r is buggy, but without requiring strerror_r compilation.
4905         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
4906
4907         test-perror: relax test to ignore cygwin bug
4908         * tests/test-perror2.c (main): Relax test on requiring detection
4909         of stream errors, and use unbuffered stream.
4910         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
4911         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
4912         * doc/posix-functions/fputc.texi (fputc): Likewise.
4913         * doc/posix-functions/fputs.texi (fputs): Likewise.
4914         * doc/posix-functions/fputws.texi (fputws): Likewise.
4915         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
4916         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
4917         * doc/posix-functions/getopt.texi (getopt): Likewise.
4918         * doc/posix-functions/perror.texi (perror): Likewise.
4919         * doc/posix-functions/printf.texi (printf): Likewise.
4920         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
4921         * doc/posix-functions/psignal.texi (psignal): Likewise.
4922         * doc/posix-functions/putc.texi (putc): Likewise.
4923         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
4924         Likewise.
4925         * doc/posix-functions/putchar.texi (putchar): Likewise.
4926         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
4927         Likewise.
4928         * doc/posix-functions/puts.texi (puts): Likewise.
4929         * doc/posix-functions/putwc.texi (putwc): Likewise.
4930         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
4931         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
4932         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
4933         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
4934         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
4935         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
4936         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
4937         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
4938
4939 2011-05-22  Bruno Haible  <bruno@clisp.org>
4940
4941         strerror: Move AC_LIBOBJ invocations to module description.
4942         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
4943         gl_PREREQ_STRERROR invocations from here...
4944         * modules/strerror (configure.ac): ... to here.
4945
4946 2011-05-21  Bruno Haible  <bruno@clisp.org>
4947
4948         perror: Use common idiom.
4949         * modules/perror (configure.ac): Reorder statements.
4950
4951 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4952
4953         tests: fix usage message in 'mktempd_'
4954         * tests/init.sh (mktempd_): In the usage message, use literal
4955         'mktempd_', not '$ME' (which is even undefined), as the name of
4956         the subroutine.
4957
4958 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
4959
4960         tests init: new function 'fatal_', for hard errors
4961         Before this patch, the only way offered by tests/init.sh to
4962         properly signal a hard error was the `framework_failure_'
4963         function.  But the error message issued by that function,
4964         as its name would suggest, refers to a set-up failure in the
4965         testsuite, while hard errors can obviously also be due to
4966         other reasons.  The best way to fix this inconsistency is to
4967         introduce a new function with a more general error message.
4968         * tests/init.sh (fatal_): New function.
4969
4970 2011-06-06  Eric Blake  <eblake@redhat.com>
4971
4972         canonicalize-lgpl: use common idiom
4973         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
4974         over newer POSIX -Rf.
4975         Reported by Bruno Haible.
4976
4977         canonicalize-lgpl: work around AIX realpath bug
4978         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
4979         * doc/posix-functions/realpath.texi (realpath): Document it.
4980         Reported by Bruno Haible.
4981
4982         strerror: work around FreeBSD bug
4983         * lib/strerror.c (strerror): Special case 0.
4984         Reported by Bruno Haible.
4985
4986         strerror-override: avoid bloating errno module
4987         * modules/errno (Files, configure.ac): Move replacement strings...
4988         * modules/strerror-override: ...to new module.
4989         * modules/strerror (Depends-on): Add strerror-override.
4990         * modules/strerror_r-posix (Depends-on): Likewise.
4991         * MODULES.html.sh: Document new module.
4992         Reported by Bruno Haible.
4993
4994 2011-06-06  Bruno Haible  <bruno@clisp.org>
4995
4996         spawn-pipe tests: Rename program.
4997         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
4998         * tests/test-spawn-pipe-child.c: Update comment.
4999         * tests/test-spawn-pipe.sh: Update.
5000         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
5001
5002         spawn-pipe tests: Link the child program only against libc.
5003         * tests/test-spawn-pipe-child.c: New file, extracted from
5004         tests/test-spawn-pipe.c.
5005         (main): Expect only one argument.
5006         (is_open): New function, copied from tests/test-pipe.c.
5007         * tests/test-spawn-pipe.c: Don't include <errno.h>.
5008         (child_main): Remove function.
5009         (test_pipe): Pass only one argument to the child program.
5010         (main): Remove child process code. Expect the child program's name as
5011         first argument.
5012         * tests/test-spawn-pipe.sh: Pass the child program's name as first
5013         argument.
5014         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
5015         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
5016         test-spawn-pipe-child against no libraries.
5017
5018 2011-06-06  Bruno Haible  <bruno@clisp.org>
5019
5020         careadlinkat: Avoid mismatch between ssize_t and int.
5021         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
5022         * lib/careadlinkat.c (careadlinkatcwd): Define always.
5023
5024 2011-06-06  Jim Meyering  <meyering@redhat.com>
5025
5026         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
5027         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
5028         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
5029
5030 2011-06-05  Bruno Haible  <bruno@clisp.org>
5031
5032         ansi-c++-opt: Interoperability with libtool.
5033         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
5034         set the variable to "no", not to ":".
5035         * NEWS: Mention the change.
5036
5037 2011-06-05  Bruno Haible  <bruno@clisp.org>
5038
5039         acl: Fix test failure on AIX 7.
5040         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
5041         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
5042
5043 2011-06-05  Bruno Haible  <bruno@clisp.org>
5044
5045         pipe-filter-ii: Fix test failure on AIX and IRIX.
5046         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
5047         with EAGAIN, retry with a smaller buffer size.
5048
5049 2011-06-05  Bruno Haible  <bruno@clisp.org>
5050
5051         localename: Fix link dependencies.
5052         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
5053         * modules/localename-tests (Makefile.am): Link test-localename with
5054         $(LIBTHREAD).
5055
5056 2011-06-05  Bruno Haible  <bruno@clisp.org>
5057
5058         error: Avoid gcc warning.
5059         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
5060
5061 2011-06-05  Bruno Haible  <bruno@clisp.org>
5062
5063         unsetenv: Avoid gcc warning.
5064         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
5065
5066 2011-06-05  Bruno Haible  <bruno@clisp.org>
5067
5068         setenv: Avoid gcc warning.
5069         * lib/setenv.c (setenv): Provide declaration if system lacks it.
5070
5071 2011-06-05  Bruno Haible  <bruno@clisp.org>
5072
5073         sys_select: Ensure memset is declared also on AIX 7.
5074         * lib/sys_select.in.h: Include <string.h> also on AIX.
5075         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
5076         self-contained also on AIX 7.1.
5077
5078 2011-06-04  Jim Meyering  <meyering@redhat.com>
5079
5080         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
5081         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
5082         function name, "error".
5083         (_gl_translatable_diag_func_re): New configurable variable.
5084
5085 2011-06-04  Bruno Haible  <bruno@clisp.org>
5086
5087         getopt: Avoid gcc warning.
5088         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
5089
5090 2011-06-04  Bruno Haible  <bruno@clisp.org>
5091
5092         strerror_r: Fix comments.
5093         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
5094         commit.
5095
5096 2011-06-04  Bruno Haible  <bruno@clisp.org>
5097
5098         perror: Fix compilation error.
5099         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
5100         Undefine fprintf, not sprintf.
5101         * modules/perror (Depends-on): Remove intprops, verify.
5102
5103 2011-06-04  Bruno Haible  <bruno@clisp.org>
5104
5105         setlocale: Enable replacement on Cygwin 1.5.
5106         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
5107         Cygwin 1.5.x.
5108         * doc/posix-functions/setlocale.texi: Mention that the problem with the
5109         LC_CTYPE category also exists on Cygwin 1.5.x.
5110
5111 2011-06-04  Bruno Haible  <bruno@clisp.org>
5112
5113         strerror-override: Don't disable symbol renamings.
5114         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
5115         * lib/strerror-override.c: Include config.h.
5116         (strerror_override): Don't undefine.
5117
5118 2011-06-03  Bruno Haible  <bruno@clisp.org>
5119
5120         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
5121         * lib/localename.h: Update copyright header.
5122         * lib/localename.c: Likewise.
5123         * lib/relocatable.h: Likewise.
5124         * lib/relocatable.c: Likewise.
5125
5126 2011-06-02  Bruno Haible  <bruno@clisp.org>
5127
5128         doc: Fix a module name.
5129         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
5130
5131 2011-06-02  Bruno Haible  <bruno@clisp.org>
5132
5133         pipe2: Remove dependency on 'nonblocking' module.
5134         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
5135         O_NONBLOCK is defined by gnulib.
5136         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
5137         is zero.
5138         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
5139         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
5140         defined by gnulib.
5141         (get_nonblocking_flag): New function.
5142         (main): Test O_NONBLOCK flag only if it is nonzero.
5143         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
5144
5145 2011-06-03  Jim Meyering  <meyering@redhat.com>
5146
5147         maint: three new prohibit-header-without-use rules
5148         Prohibit use of cloexec.h, posixver.h, same.h without use.
5149         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
5150         (sc_prohibit_posixver_without_use): Likewise.
5151         (sc_prohibit_same_without_use): Likewise.
5152
5153 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
5154
5155         allocator: 'die' routine is now given requested size
5156         * lib/allocator.h (struct allocator.die): New size arg.
5157         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
5158         If the actual problem is an ssize_t limitation, not a size_t or
5159         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
5160
5161 2011-06-01  Eric Blake  <eblake@redhat.com>
5162
5163         strerror: drop strerror_r dependency
5164         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
5165         * lib/strerror-override.c (strerror_override): ...to new file.
5166         * lib/strerror-override.h: Add prototype.
5167         * lib/strerror-impl.h: Delete.
5168         * lib/strerror.c (strerror): New implementation.
5169         * modules/errno (Files): Add new files.
5170         (configure.ac): Compile new file as appropriate.
5171         * modules/strerror (Files): Drop unused file.
5172         (Depends-on): Drop strerror_r-posix.
5173         * MODULES.html.sh: Document strerror_r-posix.
5174         Requested by Sam Steingold.
5175
5176         perror: call strerror_r directly
5177         * modules/perror (Files): Drop strerror-impl.h.
5178         * lib/perror.c (perror): Use our own stack buffer, rather than
5179         calling a wrapper that uses static storage.
5180         * doc/posix-functions/perror.texi (perror): Document a limitation
5181         of our replacement.
5182
5183         strerror_r: fix includes for FreeBSD
5184         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
5185         since we use abort on some platforms.
5186         Reported by Matthias Bolte.
5187
5188 2011-05-31  Bruno Haible  <bruno@clisp.org>
5189
5190         Fix link errors in tests: openat-die uses gettext-h.
5191         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
5192         against $(LIBINTL).
5193         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
5194         against $(LIBINTL).
5195         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
5196         $(LIBINTL).
5197         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
5198         against $(LIBINTL).
5199         * modules/linkat-tests (Makefile.am): Link test-linkat against
5200         $(LIBINTL).
5201         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
5202         $(LIBINTL).
5203         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
5204         against $(LIBINTL).
5205         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
5206         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
5207         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
5208         $(LIBINTL).
5209         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
5210         $(LIBINTL).
5211         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
5212         $(LIBINTL).
5213         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5214
5215 2011-05-31  Bruno Haible  <bruno@clisp.org>
5216
5217         Fix link errors in tests: wait-process uses gettext-h.
5218         * modules/nonblocking-pipe-tests (Makefile.am): Set
5219         test_nonblocking_pipe_main_LDADD.
5220         * modules/nonblocking-socket-tests (Makefile.am): Link
5221         test-nonblocking-socket-main against $(LIBINTL).
5222         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5223
5224 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
5225
5226         assert-h: work around 'verify' incompatibility
5227         * lib/verify.h: Use @...@ directives, not ifdef.
5228         * modules/assert-h (assert.h): Implement the directives.
5229         (assert.h): Substitute the symbol-prefix more consistently.
5230
5231 2011-05-29  Jim Meyering  <meyering@redhat.com>
5232
5233         trim: remove three superfluous assignments
5234         * lib/trim.c (trim2): Remove three superfluous assignments
5235         and correct brace positioning.
5236
5237 2011-05-29  Bruno Haible  <bruno@clisp.org>
5238
5239         wctype-h: Avoid namespace pollution on Solaris 2.6.
5240         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
5241         identifiers.
5242         * doc/posix-headers/wctype.texi: Mention the problem.
5243         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5244
5245 2011-05-28  Jim Meyering  <meyering@redhat.com>
5246
5247         parse-datetime.y: accommodate -Wstrict-overflow
5248         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
5249         placate -Wstrict-overflow.
5250
5251         trim: avoid a warning from -O2 -Wstrict-overflow
5252         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
5253
5254 2011-05-29  Bruno Haible  <bruno@clisp.org>
5255
5256         gnulib-tool: Fix bug in yesterday's commit.
5257         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
5258         twice.
5259
5260 2011-05-29  Bruno Haible  <bruno@clisp.org>
5261
5262         Allow multiple gnulib generated include files to be combined.
5263         * gnulib-tool (func_compute_include_guard_prefix): New function.
5264         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
5265         ${gl_include_guard_prefix} references.
5266         (func_import, func_create_testdir): Invoke
5267         func_compute_include_guard_prefix.
5268         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
5269         * lib/ctype.in.h: Likewise.
5270         * lib/dirent.in.h: Likewise.
5271         * lib/errno.in.h: Likewise.
5272         * lib/fcntl.in.h: Likewise.
5273         * lib/float.in.h: Likewise.
5274         * lib/getopt.in.h: Likewise.
5275         * lib/iconv.in.h: Likewise.
5276         * lib/langinfo.in.h: Likewise.
5277         * lib/locale.in.h: Likewise.
5278         * lib/math.in.h: Likewise.
5279         * lib/netdb.in.h: Likewise.
5280         * lib/netinet_in.in.h: Likewise.
5281         * lib/poll.in.h: Likewise.
5282         * lib/pthread.in.h: Likewise.
5283         * lib/pty.in.h: Likewise.
5284         * lib/sched.in.h: Likewise.
5285         * lib/se-selinux.in.h: Likewise.
5286         * lib/search.in.h: Likewise.
5287         * lib/signal.in.h: Likewise.
5288         * lib/spawn.in.h: Likewise.
5289         * lib/stdarg.in.h: Likewise.
5290         * lib/stddef.in.h: Likewise.
5291         * lib/stdint.in.h: Likewise.
5292         * lib/stdio.in.h: Likewise.
5293         * lib/stdlib.in.h: Likewise.
5294         * lib/string.in.h: Likewise.
5295         * lib/strings.in.h: Likewise.
5296         * lib/sys_file.in.h: Likewise.
5297         * lib/sys_ioctl.in.h: Likewise.
5298         * lib/sys_select.in.h: Likewise.
5299         * lib/sys_socket.in.h: Likewise.
5300         * lib/sys_stat.in.h: Likewise.
5301         * lib/sys_time.in.h: Likewise.
5302         * lib/sys_times.in.h: Likewise.
5303         * lib/sys_uio.in.h: Likewise.
5304         * lib/sys_utsname.in.h: Likewise.
5305         * lib/sys_wait.in.h: Likewise.
5306         * lib/sysexits.in.h: Likewise.
5307         * lib/termios.in.h: Likewise.
5308         * lib/time.in.h: Likewise.
5309         * lib/unistd.in.h: Likewise.
5310         * lib/wchar.in.h: Likewise.
5311         * lib/wctype.in.h: Likewise.
5312         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
5313         * modules/ctype (Makefile.am): Likewise.
5314         * modules/dirent (Makefile.am): Likewise.
5315         * modules/errno (Makefile.am): Likewise.
5316         * modules/fcntl-h (Makefile.am): Likewise.
5317         * modules/float (Makefile.am): Likewise.
5318         * modules/getopt-posix (Makefile.am): Likewise.
5319         * modules/iconv-h (Makefile.am): Likewise.
5320         * modules/langinfo (Makefile.am): Likewise.
5321         * modules/locale (Makefile.am): Likewise.
5322         * modules/math (Makefile.am): Likewise.
5323         * modules/netdb (Makefile.am): Likewise.
5324         * modules/netinet_in (Makefile.am): Likewise.
5325         * modules/poll-h (Makefile.am): Likewise.
5326         * modules/pthread (Makefile.am): Likewise.
5327         * modules/pty (Makefile.am): Likewise.
5328         * modules/sched (Makefile.am): Likewise.
5329         * modules/search (Makefile.am): Likewise.
5330         * modules/selinux-h (Makefile.am): Likewise.
5331         * modules/signal (Makefile.am): Likewise.
5332         * modules/spawn (Makefile.am): Likewise.
5333         * modules/stdarg (Makefile.am): Likewise.
5334         * modules/stddef (Makefile.am): Likewise.
5335         * modules/stdint (Makefile.am): Likewise.
5336         * modules/stdio (Makefile.am): Likewise.
5337         * modules/stdlib (Makefile.am): Likewise.
5338         * modules/string (Makefile.am): Likewise.
5339         * modules/strings (Makefile.am): Likewise.
5340         * modules/sys_file (Makefile.am): Likewise.
5341         * modules/sys_ioctl (Makefile.am): Likewise.
5342         * modules/sys_select (Makefile.am): Likewise.
5343         * modules/sys_socket (Makefile.am): Likewise.
5344         * modules/sys_stat (Makefile.am): Likewise.
5345         * modules/sys_time (Makefile.am): Likewise.
5346         * modules/sys_times (Makefile.am): Likewise.
5347         * modules/sys_uio (Makefile.am): Likewise.
5348         * modules/sys_utsname (Makefile.am): Likewise.
5349         * modules/sys_wait (Makefile.am): Likewise.
5350         * modules/sysexits (Makefile.am): Likewise.
5351         * modules/termios (Makefile.am): Likewise.
5352         * modules/time (Makefile.am): Likewise.
5353         * modules/unistd (Makefile.am): Likewise.
5354         * modules/wchar (Makefile.am): Likewise.
5355         * modules/wctype-h (Makefile.am): Likewise.
5356         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
5357
5358 2011-05-29  Bruno Haible  <bruno@clisp.org>
5359
5360         assert-h: Allow multiple gnulib generated replacements to coexist.
5361         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
5362
5363 2011-05-29  Bruno Haible  <bruno@clisp.org>
5364
5365         argp: Allow coexistence with strerror_r-posix module.
5366         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
5367         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
5368         by gnulib's <string.h> replacement), assume it has the POSIX signature,
5369         not the glibc signature.
5370
5371 2011-05-28  Bruno Haible  <bruno@clisp.org>
5372
5373         gnulib-tool: Alternative structure of testdirs, similar to --import.
5374         * gnulib-tool: New option --single-configure.
5375         (func_usage): Document it.
5376         (single_configure): New variable.
5377         (func_modules_transitive_closure_separately,
5378         func_modules_transitive_closure_separately,
5379         func_determine_use_libtests, func_modules_add_dummy_separately,
5380         func_modules_to_filelist_separately): New functions, extracted from
5381         func_import.
5382         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
5383         (func_import): Use the new functions.
5384         (func_create_testdir): Set final_modules. Handle $single_configure =
5385         true case.
5386
5387 2011-05-28  Bruno Haible  <bruno@clisp.org>
5388
5389         getloadavg: Remove an unreliable safety check.
5390         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
5391         getloadavg.c is in place.
5392         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
5393         Reported by Sam Steingold <sds@gnu.org>.
5394
5395 2011-05-28  Bruno Haible  <bruno@clisp.org>
5396
5397         doc: Cleanup yet another file produced by texinfo.tex.
5398         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
5399
5400 2011-05-28  Bruno Haible  <bruno@clisp.org>
5401
5402         Finish the conditional dependencies mechanism.
5403         * gnulib-tool: New option --no-conditional-dependencies.
5404         (func_usage): Document it. Don't mark --conditional-dependencies as
5405         experimental.
5406         (cond_dependencies): The possible values can now be true, false, empty.
5407         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
5408         (func_import): Store setting in gnulib-cache.m4 and read it from there.
5409         * doc/gnulib-tool.texi (Conditional dependencies): New section.
5410
5411 2011-05-28  Bruno Haible  <bruno@clisp.org>
5412
5413         doc: Use a recent texinfo.tex.
5414         * doc/Makefile (tex_opts): New variable.
5415         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
5416
5417 2011-05-28  Jim Meyering  <meyering@redhat.com>
5418
5419         intprops.h: adjust comment to match code change
5420         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
5421         only once, it *may* have side effects.  Also fix an unrelated typo.
5422         (_GL_INT_SIGNED): Likewise.
5423
5424 2011-05-26  Simon Josefsson  <simon@josefsson.org>
5425
5426         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
5427
5428 2011-05-26  Bruno Haible  <bruno@clisp.org>
5429
5430         mbsrchr: Avoid collision with system function on Interix.
5431         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
5432         Reported by Markus Duft <mduft@gentoo.org>.
5433
5434 2011-05-15  James Youngman  <jay@gnu.org>
5435
5436         getopt: for ambiguous options, enumerate the possibilities.
5437         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
5438         the ambiguous options when an ambiguous prefix is given. This was
5439         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
5440         glibc change was
5441         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
5442
5443 2011-05-25  Eric Blake  <eblake@redhat.com>
5444
5445         getcwd: work around mingw bug
5446         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
5447         * doc/posix-functions/getcwd.texi (getcwd): Document it.
5448         Reported by Matthias Bolte.
5449
5450 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
5451
5452         test-intprops: disable -Wtype-limits diagnostics
5453         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
5454         diagnostics.  Otherwise, the integer overflow macros generate many
5455         diagnostics.  Reported by Jim Meyering in
5456         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
5457
5458         intprops: shorten, to pacify gcc -Woverlength-strings
5459         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
5460         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
5461         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
5462         likely to run afoul of C compiler limits for string constant lengths.
5463         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
5464
5465 2011-05-24  Eric Blake  <eblake@redhat.com>
5466
5467         docs: document recently fixed glibc printf bug
5468         * doc/posix-functions/fprintf.texi (fprintf): Document it.
5469         * doc/posix-functions/printf.texi (printf): Likewise.
5470         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
5471         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
5472
5473         closein-tests: convert to init.sh
5474         * modules/closein-tests (Files): Add init.sh
5475         * tests/test-closein.sh Use it.
5476
5477         yesno-tests: convert to init.sh
5478         * modules/yesno-tests (Files): Add init.sh.
5479         * tests/test-yesno.sh: Use it.
5480
5481         atexit-tests: ensure reliable exit status
5482         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
5483         Reported by Bruno Haible.
5484
5485 2011-05-24  Bruno Haible  <bruno@clisp.org>
5486
5487         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
5488         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
5489         gl_PREREQ_STRERROR_R invocations from here...
5490         * modules/strerror_r-posix (configure.ac): ... to here.
5491
5492 2011-05-24  Eric Blake  <eblake@redhat.com>
5493
5494         strerror_r: fix missing header
5495         * lib/strerror_r.c: Avoid compiler warning about snprintf.
5496
5497         strerror_r: fix AIX test failures
5498         * lib/strerror_r.c (strerror_r): Convert silent truncation to
5499         ERANGE failure.
5500
5501         strerror_r: fix Solaris test failures
5502         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
5503         failures.
5504         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
5505
5506         strerror_r: enforce POSIX recommendations
5507         * lib/strerror_r.c (safe_copy): New helper method.
5508         (strerror_r): Guarantee a non-empty string.
5509         * tests/test-strerror_r.c (main): Enhance tests to incorporate
5510         recent POSIX rulings and to match our strerror guarantees.
5511         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
5512
5513 2011-05-24  Jim Meyering  <meyering@redhat.com>
5514
5515         test-perror2.c: avoid warning about unused variable
5516         * tests/test-perror2.c (main): Remove declaration of unused "fp".
5517
5518 2011-05-24  Eric Blake  <eblake@redhat.com>
5519
5520         perror: avoid spurious test failure on HP-UX
5521         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
5522
5523         tests: fix logic bug in init.sh
5524         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
5525         shell.
5526
5527 2011-05-24  Jim Meyering  <meyering@redhat.com>
5528
5529         utimensat: do not reference an out-of-scope buffer
5530         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
5531         declared in an inner scope, yet "times" would be dereferenced outside
5532         the scope in which "ts" was valid.
5533         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
5534         of ts[2] "out/up", so that the use of aliased "times" (via
5535         "times = ts;") does not end up referencing an out-of-scope "ts"
5536
5537         opendir-safer.c: don't clobber errno; don't close negative FD
5538         * lib/opendir-safer.c (opendir_safer):
5539         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
5540         file descriptor, and more importantly, don't clobber the
5541         offending errno value with EINVAL.  Before, upon failure
5542         of dup_safer, we would pass the negative file descriptor to
5543         fdopendir, which would clobber errno.
5544
5545 2011-05-23  Bruno Haible  <bruno@clisp.org>
5546
5547         idcache: Fix module description.
5548         * modules/idcache (Include): Set to "idcache.h".
5549
5550 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
5551
5552         gnulib-tool: fix portability problem with MacOS sed
5553         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
5554         before the "}".  Problem reported by Leo in
5555         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
5556         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
5557         sed_extract_condition1, sed_extract_condition2.
5558
5559 2011-05-23  Bruno Haible  <bruno@clisp.org>
5560
5561         hash: Simplify autoconf macro.
5562         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
5563
5564 2011-05-23  Bruno Haible  <bruno@clisp.org>
5565
5566         getugroups: Fix module description.
5567         * modules/getugroups (Include): Set to "getugroups.h".
5568
5569 2011-05-23  Bruno Haible  <bruno@clisp.org>
5570
5571         linkat: Simplify autoconf macro.
5572         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
5573
5574 2011-05-23  Bruno Haible  <bruno@clisp.org>
5575             Eric Blake  <eblake@redhat.com>
5576
5577         linkat, renameat: Update dependencies.
5578         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
5579         * modules/linkat (Depends-on): Likewise. Remove also readlink,
5580         symlinkat.
5581
5582 2011-05-23  Jim Meyering  <meyering@redhat.com>
5583
5584         maint.mk: more tight_scope improvements
5585         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
5586         (_gl_TS_headers): Define only in if-0'd block.
5587         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
5588         sometimes we must *not* use it.  Adjust uses accordingly.
5589         (sc_tight_scope): Use much simpler grep-based test to determine
5590         whether we skip this rule.
5591
5592         maint.mk: generalize/improve the tight-scope rule
5593         * top/maint.mk: Emit a warning when the test is skipped.
5594         (_gl_TS_dir): Add $(srcdir)/ prefix.
5595         (_gl_TS_function_match): Simplify, rather than trying
5596         to enumerate common types.  Otherwise, it would fail to match an
5597         "extern unsigned char const *" declaration in idutils.
5598         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
5599         a way to support use of that type of macro.
5600         (_gl_TS_var_match): Simplify regexp.
5601         (_gl_TS_obj_files): New configurable variable.
5602         (_gl_TS_headers): Likewise.
5603
5604 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
5605
5606         verify: fix bug when gnulib <assert.h> is also included
5607         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
5608         is defined, not if _GL_STATIC_ASSERT_H is not defined.
5609         Perhaps there's a better way, but this fixes the immediate problem.
5610         Problem reported by Bruno Haible in
5611         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
5612
5613 2011-05-22  Bruno Haible  <bruno@clisp.org>
5614
5615         xgetcwd: Simplify autoconf macro.
5616         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
5617
5618 2011-05-22  Bruno Haible  <bruno@clisp.org>
5619
5620         New module 'mktime-internal'.
5621         * modules/mktime-internal: New file.
5622         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
5623         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
5624         mktime_internal as a C macro if libc has __mktime_internal.
5625         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
5626         conditions.
5627         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
5628
5629 2011-05-22  Bruno Haible  <bruno@clisp.org>
5630
5631         timegm: Correct mktime replacement statements.
5632         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
5633         defining mktime as a C macro. This completes a 2009-07-28 commit.
5634
5635 2011-05-22  Bruno Haible  <bruno@clisp.org>
5636
5637         timegm: Simplify autoconf macro.
5638         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
5639
5640 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
5641
5642         clock-time: change to LGPLv2+.
5643         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
5644         BSD-like but we have no mark for that; this is good enough for now.
5645
5646 2011-05-21  Bruno Haible  <bruno@clisp.org>
5647
5648         strerror_r: Fix comments.
5649         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
5650
5651 2011-05-21  Bruno Haible  <bruno@clisp.org>
5652
5653         relocatable-prog-wrapper: Fix possible link error.
5654         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
5655         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
5656         (gl_FUNC_SETENV): ... to here.
5657         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
5658         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
5659
5660 2011-05-21  Bruno Haible  <bruno@clisp.org>
5661
5662         relocatable-prog-wrapper: Assume strerror() exists.
5663         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
5664         m4/strerror.m4.
5665         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
5666         * lib/relocwrapper.c: Remove mention of strerror module.
5667         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
5668         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
5669         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
5670         C macro.
5671
5672 2011-05-21  Bruno Haible  <bruno@clisp.org>
5673
5674         select: Simplify replacement idiom.
5675         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
5676         Win32 platforms.
5677         * lib/sys_select.in.h (select): Simplify accordingly.
5678         * modules/select (Depends-on): Likewise.
5679
5680 2011-05-21  Bruno Haible  <bruno@clisp.org>
5681
5682         mkdir-p: Simplify autoconf macro.
5683         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
5684         gl_FUNC_LCHOWN.
5685
5686 2011-05-21  Eric Blake  <eblake@redhat.com>
5687
5688         strerror_r: avoid clobbering strerror on cygwin
5689         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
5690         fall back instead to sys_errlist.
5691         * modules/strerror (configure.ac): Add witness.
5692         * tests/test-strerror_r.c (main): Enhance test.
5693         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5694         * tests/test-perror2.c (main): Free memory before exit.
5695
5696 2011-05-21  Bruno Haible  <bruno@clisp.org>
5697
5698         mkdtemp: Use gnulib naming conventions.
5699         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
5700         * modules/mkdtemp (configure.ac): Update.
5701
5702 2011-05-20  Eric Blake  <eblake@redhat.com>
5703
5704         strerror_r: avoid corrupting errno on Solaris
5705         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
5706         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
5707
5708         strerror_r: avoid compiler warning
5709         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
5710
5711         strerror_r: simplify AIX code
5712         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
5713
5714         test-perror: avoid spurious failure on FreeBSD
5715         * modules/perror-tests (Depends-on): Add strerror, now that
5716         strerror_r no longer pulls it in.
5717
5718 2011-05-20  Bruno Haible  <bruno@clisp.org>
5719
5720         strerror_r-posix: Remove unused dependencies.
5721         * modules/strerror_r-posix (Depends-on): Remove strerror.
5722         Reported by Eric Blake.
5723
5724 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
5725
5726         intprops: remove assumption about A|B representation
5727         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
5728         is a valid integer if both A and B are.  Although this is true for
5729         all known practical hosts, the C standard doesn't guarantee it,
5730         and the code need not assume it.  Also, this change may work around
5731         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
5732         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
5733
5734 2011-05-20  Eric Blake  <eblake@redhat.com>
5735
5736         perror: work around FreeBSD bug
5737         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
5738         is broken.  Move AC_LIBOBJ...
5739         * modules/perror (configure.ac): Here.
5740         * doc/posix-functions/perror.texi (perror): Document this.
5741         * tests/test-perror2.c (main): Enhance test.
5742
5743         test-perror: check for strerror interactions
5744         * tests/macros.h (STREQ): Add macro.
5745         * modules/perror-tests (Files): Add second test.
5746         * tests/test-perror2.c (main): New file.
5747         * doc/posix-functions/perror.texi (perror): Document glibc bug.
5748
5749         test-perror: rewrite to use init script
5750         * modules/perror-tests (Files): Add init.sh.
5751         * tests/test-perror.sh: Use temporary directory.
5752
5753 2011-05-20  Jim Meyering  <meyering@redhat.com>
5754
5755         maint: replace misused "a" with "an"
5756         * doc/intprops.texi: "a integer"
5757         * doc/regex.texi: "a explanation"
5758         * lib/alignof.h: "a object"
5759         * lib/argmatch.h: "a explanation"
5760         * lib/argp-help.c: "a option" and "a OPTION_DOC"
5761         * lib/stdint.in.h: "a integer"
5762         * lib/userspec.c: "a owner"
5763         * doc/gnulib.texi: Fix "a idea", and reword.
5764
5765 2011-05-19  Jim Meyering  <meyering@redhat.com>
5766
5767         maint: correct misuse of "a" and "an"
5768         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
5769         * lib/argp-help.c: "an docum...": s/an/a/
5770         * lib/argp-parse.c: "An vector": s/An/A/
5771         * lib/execute.c: "an native": s/an/a/
5772         * lib/spawn-pipe.c: Likewise.
5773         * lib/gc.h: "an Gc_rc": s/an/a/
5774         * lib/unigbrk.in.h: "an grapheme": s/an/a/
5775         * lib/fts.c: "an stat.st_dev": s/an/a/
5776
5777 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5778
5779         intprops-tests: work around HP-UX 11.23 cc bug with constants
5780         * tests/test-intprops.c (VERIFY): New macro.
5781         (main): Use it, instead of verify, to work around the compiler bug; see
5782         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
5783
5784         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
5785         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
5786         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
5787         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
5788         (_GL_REMAINDER_OVERFLOW): Use it.
5789
5790         intprops-tests: revert unsigned part of previous change
5791         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
5792         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
5793         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
5794         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
5795
5796 2011-05-19  Bruno Haible  <bruno@clisp.org>
5797
5798         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
5799         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
5800         strerror_r() returned without filling the buffer.
5801         Reported by Eric Blake.
5802
5803 2011-05-19  Eric Blake  <eblake@redhat.com>
5804
5805         strerror_r: guarantee unchanged errno
5806         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
5807         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
5808         failure.
5809         * tests/test-strerror_r.c (main): Enhance test.
5810
5811 2011-05-19  Bruno Haible  <bruno@clisp.org>
5812
5813         strerror_r: Reorder #if blocks.
5814         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
5815         for consistency with the previous commit.
5816
5817 2011-05-19  Bruno Haible  <bruno@clisp.org>
5818
5819         perror: Avoid clobbering the strerror buffer when possible.
5820         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
5821         * lib/strerror.c: Include it.
5822         * modules/strerror (Files): Add lib/strerror-impl.h.
5823         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
5824         (my_strerror): New function, defined through lib/strerror-impl.h.
5825         (perror): Use it instead of strerror.
5826         * modules/perror (Files): Add lib/strerror-impl.h.
5827         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
5828
5829 2011-05-19  Eric Blake  <eblake@redhat.com>
5830
5831         strerror_r: fix on newer cygwin
5832         * lib/strerror_r.c (strerror_r): Cygwin now has
5833         __xpg_strerror_r, use it.
5834
5835 2011-05-19  Bruno Haible  <bruno@clisp.org>
5836
5837         strerror_r: Avoid clobbering the strerror buffer when possible.
5838         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
5839         (sys_nerr, sys_errlist): New declarations.
5840         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
5841         HP-UX, native Win32, IRIX, and 32-bit Solaris.
5842         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
5843
5844 2011-05-19  Bruno Haible  <bruno@clisp.org>
5845
5846         strerror_r: Fix test failure on mingw.
5847         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
5848         EXTEND_STRERROR_R.
5849         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
5850         macros from errno.in.h instead.
5851
5852 2011-05-19  Eric Blake  <eblake@redhat.com>
5853
5854         strerror: relax test for Solaris
5855         * tests/test-strerror.c (main): Permit Solaris behavior.
5856         * tests/test-strerror_r.c (main): Likewise.
5857
5858         strerror: enforce POSIX ruling on strerror(0)
5859         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
5860         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
5861         * lib/strerror_r.c (rpl_strerror_r): Work around it.
5862         * doc/posix-functions/strerror.texi (strerror): Document it.
5863         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
5864         * tests/test-strerror.c (main): Strengthen test.
5865         * tests/test-strerror_r.c (main): Likewise.
5866
5867 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5868
5869         intprop-tests: port to older and more-pedantic compilers
5870         * modules/intprops-tests (Files): Add tests/macros.h.
5871         * tests/test-intprops.c: Include macros.h.
5872         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
5873         it's no longer documented to expand to an integer constant expression.
5874         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
5875         argument is floating point, as it's no longer documented to expand
5876         to an integer constant expression in that case.
5877         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
5878         compiler bugs reported by Bruno Haible.  See
5879         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
5880         (U0, U1): New constants, to work around the same bugs.  Also,
5881         in tests, use e.g., "(unsigned int) 39" rather than "39u".
5882
5883         intprops: work around C compiler bugs
5884         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
5885         bug in Sun C 5.11 2010/08/13 and other compilers; see
5886         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
5887
5888         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
5889         * doc/intprops.texi (Integer Type Determination): Fix
5890         documentation for TYPE_IS_INTEGER: it returns an constant
5891         expression, not an integer constant expression.  Fix doc for
5892         TYPE_SIGNED: it returns an integer constant expression only if its
5893         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
5894         hardly worth documented that way....)
5895
5896 2011-05-18  Bruno Haible  <bruno@clisp.org>
5897
5898         strerror_r: Avoid clobbering the strerror buffer when possible.
5899         * lib/strerror_r.c (strerror_r): Merge the three implementations.
5900         Handle gnulib defined errno values here. When strerror() returns NULL
5901         or an empty string, return EINVAL.
5902         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
5903         gnulib defined errno values here.
5904         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
5905
5906 2011-05-18  Eric Blake  <eblake@redhat.com>
5907
5908         fnmatch: avoid compiler warning
5909         * lib/fnmatch_loop.c (FCT): Use correct type.
5910         Reported by Matthias Bolte.
5911
5912 2011-05-13  Jim Meyering  <meyering@redhat.com>
5913
5914         maint.mk: three new prohibit_<HDR>_without_use rules
5915         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
5916         (sc_prohibit_stdio-safer_without_use): Likewise.
5917         (sc_prohibit_xfreopen_without_use): Likewise.
5918
5919 2011-05-17  Jim Meyering  <meyering@redhat.com>
5920
5921         announce-gen: fail if the NEWS delta is empty
5922         If there's nothing noteworthy in NEWS, then either you forgot
5923         or you shouldn't be releasing.
5924         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
5925
5926 2011-05-17  Pádraig Brady <P@draigBrady.com>
5927
5928         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
5929         reserved symbols starting with double underscore from the check.
5930
5931 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5932
5933         intprops: add doc
5934         * doc/intprops.texi: New file, documenting intprops.
5935         * doc/gnulib.texi (Particular Modules): Include it.
5936
5937         verify: add doc to gnulib manual and fix example
5938         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
5939         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
5940         (Compile-time Assertions): Fix example so it can't overflow.
5941
5942 2011-05-17  Jim Meyering  <meyering@redhat.com>
5943
5944         warnings.m4: don't usurp save_CPPFLAGS variable name
5945         * m4/warnings.m4: Prefix local temporary variable name with gl_.
5946
5947         doc: fix typo
5948         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
5949
5950 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5951             Bruno Haible  <bruno@clisp.org>
5952
5953         doc: Tweak recent change.
5954         * README (Portability guidelines): Tweak new text.
5955         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
5956         Interix 6.1.
5957
5958 2011-05-16  Eric Blake  <eblake@redhat.com>
5959
5960         inttypes: avoid autoconf warning
5961         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
5962         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5963
5964 2011-05-16  Sam Steingold <sds@gnu.org>
5965         and Eric Blake  <eblake@redhat.com>
5966
5967         vc-list-files: accept multiple directory operands
5968         * build-aux/vc-list-files: Iterate over all remaining operands.
5969
5970 2011-05-16  Bruno Haible  <bruno@clisp.org>
5971
5972         Fix confusion regarding deprecated modules.
5973         * modules/calloc (Status, Notice): Mark module as deprecated, not
5974         obsolete.
5975         * modules/fnmatch-posix (Status, Notice): Likewise.
5976         * modules/getdate (Status, Notice): Likewise.
5977         * modules/getopt (Status, Notice): Likewise.
5978         * modules/malloc (Status, Notice): Likewise.
5979         * modules/pipe (Status, Notice): Likewise.
5980         * modules/realloc (Status, Notice): Likewise.
5981         * modules/rename-dest-slash (Status, Notice): Likewise.
5982         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
5983         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
5984         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
5985         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
5986         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
5987
5988 2011-05-16  Bruno Haible  <bruno@clisp.org>
5989
5990         doc: List the target platforms.
5991         * doc/gnulib-intro.texi (Target Platforms): New section.
5992         * doc/gnulib.texi (Introduction): Update menu.
5993         * README (Portability guidelines): Refer to the new section. Update
5994         statement about oldest supported environment. Remove rationale why
5995         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
5996         unportable C89 function.
5997         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
5998         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
5999
6000 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6001
6002         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
6003
6004 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
6005
6006         intprops-tests: new module
6007         * modules/intprops-tests, tests/test-intprops.c: New files.
6008
6009         intprops: add safe, portable integer overflow checking
6010         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
6011         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
6012         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
6013         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
6014         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
6015         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
6016         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
6017         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
6018         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
6019         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
6020         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
6021
6022 2011-05-12  James Youngman  <jay@gnu.org>
6023
6024         Add a test for glibc's Bugzilla bug #12378.
6025         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
6026         doesn't allow the literal matching of a lone "[" (which is
6027         required by POSIX).
6028         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
6029
6030 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
6031
6032         Sync glibc change fixing Bugzilla bug #12378.
6033         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
6034         beginning and fall back to matching as normal character if the
6035         string ends before the matching ']' is found.  This is what POSIX
6036         requires.
6037
6038 2011-05-13  Eric Blake  <eblake@redhat.com>
6039
6040         getcwd-lgpl: relax test for FreeBSD
6041         * doc/posix-functions/getcwd.texi (getcwd): Document portability
6042         issue.
6043         * tests/test-getcwd-lgpl.c (main): Relax test.
6044         Reported by Matthias Bolte.
6045
6046 2011-05-11  Eric Blake  <eblake@redhat.com>
6047
6048         test-fflush: silence compiler warning
6049         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
6050
6051 2011-05-11  Bruno Haible  <bruno@clisp.org>
6052
6053         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
6054         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
6055         * modules/canonicalize (Depends-on): Add 'nocrash'.
6056         * modules/canonicalize-lgpl (Depends-on): Likewise.
6057         * doc/posix-functions/realpath.texi: Update platforms list.
6058         Reported by Ryan Schmidt <ryandesign@macports.org>.
6059
6060 2011-05-11  Bruno Haible  <bruno@clisp.org>
6061
6062         group-member: Declare function in <unistd.h>.
6063         * lib/unistd.in.h (group_member): New declaration.
6064         * lib/group-member.h: Remove file.
6065         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
6066         * tests/test-unistd-c++.cc: Check signature of group_member.
6067         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
6068         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
6069         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
6070         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
6071         HAVE_GROUP_MEMBER.
6072         * modules/group-member (Files): Remove lib/group-member.h.
6073         (Depends-on): Add unistd. Specify conditions.
6074         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6075         (Include): Change to <unistd.h>.
6076         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
6077         HAVE_GROUP_MEMBER.
6078         * NEWS: Mention the change.
6079         * lib/euidaccess.c: Don't include group-member.h.
6080
6081 2011-05-11  Bruno Haible  <bruno@clisp.org>
6082
6083         group-member: Document module.
6084         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
6085         module.
6086
6087 2011-05-11  Bruno Haible  <bruno@clisp.org>
6088
6089         fclose: Fix mistake earlier today.
6090         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
6091
6092 2011-05-11  Eric Blake  <eblake@redhat.com>
6093
6094         fclose: preserve fflush errors
6095         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
6096         Reported by Jim Meyering.
6097
6098         bootstrap: support a prereq of 'rpcgen -' on RHEL5
6099         * build-aux/bootstrap (check_versions): When no specific version
6100         is required, merely check that the app produces an exit status
6101         that indicates its existence.
6102
6103         maint.mk: drop redundant check
6104         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
6105         the same but better.
6106
6107 2011-05-11  Bruno Haible  <bruno@clisp.org>
6108
6109         fclose: Fix possible link error.
6110         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
6111         unregister_shadow_fd. Improve comments.
6112         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
6113         Eric Blake.
6114
6115 2011-05-11  Jim Meyering  <meyering@redhat.com>
6116
6117         maint.mk: improve "can not" detection and generalize rule name
6118         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
6119         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
6120         Use the same technique as in sc_prohibit_doubled_word, so that
6121         we recognize "can not" also when the words are separated by a newline.
6122         Suggested by Eric Blake.
6123         (perl_filename_lineno_text_): Define.  Factored out of...
6124         (prohibit_doubled_word_): ...here.  Use the new definition.
6125         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
6126         (prohibit_undesirable_word_seq_RE_): New overridable variable.
6127         (ignore_undesirable_word_sequence_RE_): New overridable variable.
6128
6129 2011-05-10  Eric Blake  <eblake@redhat.com>
6130
6131         fclose: avoid double close race when possible
6132         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
6133         all but WINDOWS_SOCKETS.
6134
6135 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
6136
6137         openat: correct new comment
6138         * lib/openat-proc.c (openat_proc_name): Correct the comment.
6139
6140 2011-05-10  Jim Meyering  <meyering@redhat.com>
6141
6142         openat: add comments
6143         * lib/openat-proc.c (openat_proc_name): Add comments,
6144         mostly from Eric Blake.
6145
6146 2011-05-09  Eric Blake  <eblake@redhat.com>
6147
6148         openat: reduce syscalls in first probe of /proc
6149         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
6150         be a directory.  Simplify the probe for .. bugs.
6151         * modules/openat (Depends-on): Drop same-inode.
6152         Reported by Bastien ROUCARIES.
6153
6154 2011-05-09  Jim Meyering  <meyering@redhat.com>
6155
6156         maint.mk: change semantics/name of tight_scope variables
6157         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
6158         Rename variables to align with semantics that make them more useful.
6159
6160         maint.mk: tweak new rule's name not to impinge
6161         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
6162         (sc_tight_scope): Use new rule name rather than $@-0.
6163
6164         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
6165         * top/maint.mk (sc_tight_scope): New rule.
6166         (sc_tight_scope-0): New rule, ifdef'd out.
6167         (_gl_TS_dir): Default.
6168         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
6169         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
6170
6171 2011-05-09  Simon Josefsson  <simon@josefsson.org>
6172
6173         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
6174         Haible <bruno@clisp.org>.
6175
6176 2011-05-08  Bruno Haible  <bruno@clisp.org>
6177
6178         Comments.
6179         * m4/isnanf.m4: Add comment.
6180         * m4/isnanl.m4: Likewise.
6181
6182 2011-05-08  Bruno Haible  <bruno@clisp.org>
6183
6184         glob: Remove obsolete macro.
6185         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
6186
6187 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6188
6189         intprops: Sun C 5.11 supports __typeof__
6190         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
6191         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
6192         which is new.
6193         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
6194
6195         intprops: switch to usual gnulib indenting and naming
6196         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
6197         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
6198
6199         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
6200
6201 2011-05-08  Jim Meyering  <meyering@redhat.com>
6202
6203         maint.mk: suppress "Entering/Leaving directory" diag in announcement
6204         * top/maint.mk (release-prep): Use make's --no-print-directory
6205         option when generating the announcement.  This eliminates the
6206         pesky "make[2]: Entering/Leaving directory" diagnostics in the
6207         generated announcement template.
6208
6209 2011-05-08  Bruno Haible  <bruno@clisp.org>
6210
6211         tzset: Fix gettimeofday wrapper on Solaris 2.6.
6212         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
6213         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
6214
6215 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
6216
6217         ignore-value, verify: Omit include files from lib_SOURCES.
6218         * modules/ignore-value, modules/verify (Makefile.am):
6219         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
6220         that leads Automake to duplicate use of am__objects_... variables
6221         in Makefile.in.  See
6222         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
6223
6224 2011-05-07  Bruno Haible  <bruno@clisp.org>
6225
6226         fclose: Simplify autoconf macro.
6227         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
6228         defined.
6229
6230 2011-05-07  Bruno Haible  <bruno@clisp.org>
6231
6232         canonicalize-lgpl: Fix autoconf macro ordering bug.
6233         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
6234         gl_STDLIB_H_DEFAULTS.
6235
6236 2011-05-06  Eric Blake  <eblake@redhat.com>
6237
6238         maintainer-makefile: make sc_po_check easier to tune
6239         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
6240         to probe for strings, such as an alternate location for gnulib.
6241
6242         fclose: guarantee behavior on seekable stdin
6243         * modules/fclose (Depends-on): Add fflush.
6244         * doc/posix-functions/fclose.texi (fclose): Document this.
6245         * tests/test-fclose.c (main): Make test for this unconditional.
6246
6247 2011-05-06  Bruno Haible  <bruno@clisp.org>
6248
6249         fflush, fpurge: Relicense under LGPLv2+.
6250         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
6251         * modules/fpurge (License): Likewise.
6252         With permission from Eric Blake and Jim Meyering.
6253         Suggested by Eric Blake.
6254
6255 2011-05-06  Karl Berry  <karl@gnu.org>
6256
6257         * MODULES.html.sh (func_all_modules): remove exit.
6258
6259 2011-05-06  Jim Meyering  <meyering@redhat.com>
6260
6261         maint.mk: use info-gnu@ as the default only for a stable release
6262         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
6263         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
6264         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
6265         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
6266
6267 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6268
6269         assert-h: new module, which supports C1X-style static_assert
6270         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
6271         * lib/verify.h: Revamp so that this can be copied into assert.h,
6272         while retaining the ability to use it standalone as before.
6273         Rename private identifiers so as not to encroach on the
6274         standard C namespace, since this is now used by assert.h.
6275         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
6276         the old verify_true.
6277         (_GL_VERIFY_TRUE): New macro, with much of the contents of
6278         the old verify_true.  Use _GL_VERIFY_TYPE.
6279         (_GL_VERIFY): New macro, with much of the contents of the old verify.
6280         (static_assert): New macro, if _GL_STATIC_ASSERT_H
6281         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
6282         defined when this file is copied into the replacement assert.h.
6283         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
6284         and _Static_assert is not built in.
6285         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
6286         defined, and use the new macros mentioned above.
6287         * doc/posix-headers/assert.texi: Document this.
6288
6289 2011-05-05  Bruno Haible  <bruno@clisp.org>
6290
6291         fclose, fflush: Respect rules for use of AC_LIBOBJ.
6292         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
6293         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
6294         gl_REPLACE_FCLOSE here.
6295         * modules/fflush (Depends-on): Remove fclose.
6296         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
6297         combination with module 'fclose'.
6298
6299 2011-05-05  Bruno Haible  <bruno@clisp.org>
6300
6301         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
6302         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
6303         gl_FUNC_FFLUSH.
6304         (gl_FUNC_FFLUSH): Use it.
6305         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
6306         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
6307         gl_REPLACE_FSEEKO here.
6308
6309 2011-05-05  Bruno Haible  <bruno@clisp.org>
6310
6311         tzset: Relicense under LGPL.
6312         * modules/tzset (License): Change to LGPL.
6313         No agreement needed; it's a no-op.
6314
6315         strtoimax, strtoumax: Relicense under LGPL.
6316         * modules/strtoimax (License): Change to LGPL.
6317         * modules/strtoumax (License): Likewise.
6318         With permission from Jim Meyering, Paul Eggert:
6319         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
6320         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
6321
6322         getgroups: Relicense under LGPL.
6323         * modules/getgroups (License): Change to LGPL.
6324         With permission from Jim Meyering, Paul Eggert, Eric Blake:
6325         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
6326         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
6327         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
6328
6329         nanosleep: Relicense under LGPL.
6330         * modules/nanosleep (License): Change to LGPL.
6331         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
6332         Haible:
6333         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
6334         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
6335         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
6336         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
6337
6338         futimens: Relicense under LGPL.
6339         * modules/futimens (License): Change to LGPL.
6340         With permission from Eric Blake:
6341         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
6342
6343         fflush: Relicense under LGPL.
6344         * modules/fflush (License): Change to LGPL.
6345         With permission from Eric Blake, Bruno Haible, Jim Meyering:
6346         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
6347         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
6348         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
6349
6350         tmpfile: Relicense under LGPL.
6351         * modules/tmpfile (License): Change to LGPL.
6352         With permission from Ben Pfaff:
6353         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
6354
6355         isfinite: Relicense under LGPL.
6356         * modules/isfinite (License): Change to LGPL.
6357         With permission from Ben Pfaff, Bruno Haible:
6358         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
6359         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
6360
6361         acosl..tanl: Relicense under LGPL.
6362         * modules/acosl (License): Change to LGPL.
6363         * modules/asinl (License): Likewise.
6364         * modules/atanl (License): Likewise.
6365         * modules/cosl (License): Likewise.
6366         * modules/expl (License): Likewise.
6367         * modules/logl (License): Likewise.
6368         * modules/sinl (License): Likewise.
6369         * modules/sqrtl (License): Likewise.
6370         * modules/tanl (License): Likewise.
6371         Source code originally from glibc and Paolo Bonzini. Agreements:
6372         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
6373         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
6374
6375 2011-05-05  Bruno Haible  <bruno@clisp.org>
6376
6377         signal: Define sighandler_t.
6378         * lib/signal.in.h (sighandler_t): New type.
6379         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
6380         whether sighandler_t is defined.
6381         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
6382         * modules/signal (Depends-on): Add extensions.
6383         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
6384         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
6385         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
6386
6387 2011-05-05  Eric Blake  <eblake@redhat.com>
6388
6389         maint: remove useless REPLACE_*_H macros
6390         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
6391         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
6392         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
6393         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
6394         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
6395         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
6396         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
6397         * m4/btowc.m4: Update callers.
6398         * m4/dirfd.m4: Likewise.
6399         * m4/duplocale.m4: Likewise.
6400         * m4/fchdir.m4: Likewise.
6401         * m4/fdopendir.m4: Likewise.
6402         * m4/inet_ntop.m4: Likewise.
6403         * m4/inet_pton.m4: Likewise.
6404         * m4/ioctl.m4: Likewise.
6405         * m4/mbrlen.m4: Likewise.
6406         * m4/mbrtowc.m4: Likewise.
6407         * m4/mbsinit.m4: Likewise.
6408         * m4/mbsnrtowcs.m4: Likewise.
6409         * m4/mbsrtowcs.m4: Likewise.
6410         * m4/poll.m4: Likewise.
6411         * m4/setlocale.m4: Likewise.
6412         * m4/wcrtomb.m4: Likewise.
6413         * m4/wcsnrtombs.m4: Likewise.
6414         * m4/wcsrtombs.m4: Likewise.
6415         * m4/wctob.m4: Likewise.
6416         * m4/wcwidth.m4: Likewise.
6417         * modules/posix_spawn: Likewise.
6418         * modules/posix_spawn_file_actions_addclose: Likewise.
6419         * modules/posix_spawn_file_actions_adddup2: Likewise.
6420         * modules/posix_spawn_file_actions_addopen: Likewise.
6421         * modules/posix_spawn_file_actions_destroy: Likewise.
6422         * modules/posix_spawn_file_actions_init: Likewise.
6423         * modules/posix_spawnattr_destroy: Likewise.
6424         * modules/posix_spawnattr_getflags: Likewise.
6425         * modules/posix_spawnattr_getpgroup: Likewise.
6426         * modules/posix_spawnattr_getschedparam: Likewise.
6427         * modules/posix_spawnattr_getschedpolicy: Likewise.
6428         * modules/posix_spawnattr_getsigdefault: Likewise.
6429         * modules/posix_spawnattr_getsigmask: Likewise.
6430         * modules/posix_spawnattr_init: Likewise.
6431         * modules/posix_spawnattr_setflags: Likewise.
6432         * modules/posix_spawnattr_setpgroup: Likewise.
6433         * modules/posix_spawnattr_setschedparam: Likewise.
6434         * modules/posix_spawnattr_setschedpolicy: Likewise.
6435         * modules/posix_spawnattr_setsigdefault: Likewise.
6436         * modules/posix_spawnattr_setsigmask: Likewise.
6437         * modules/posix_spawnp: Likewise.
6438
6439 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
6440
6441         Add option to do-release-commit-and-tag to specify branch.
6442         * build-aux/do-release-commit-and-tag: Add --branch.
6443
6444 2011-05-03  Bruno Haible  <bruno@clisp.org>
6445
6446         Avoid unnecessary compilation units, through conditional dependencies.
6447         * modules/accept (Depends-on): Add conditions to the dependencies.
6448         * modules/acosl (Depends-on): Likewise.
6449         * modules/argz (Depends-on): Likewise.
6450         * modules/asinl (Depends-on): Likewise.
6451         * modules/atanl (Depends-on): Likewise.
6452         * modules/atoll (Depends-on): Likewise.
6453         * modules/bind (Depends-on): Likewise.
6454         * modules/btowc (Depends-on): Likewise.
6455         * modules/canonicalize-lgpl (Depends-on): Likewise.
6456         * modules/ceil (Depends-on): Likewise.
6457         * modules/ceilf (Depends-on): Likewise.
6458         * modules/ceill (Depends-on): Likewise.
6459         * modules/chdir-long (Depends-on): Likewise.
6460         * modules/chown (Depends-on): Likewise.
6461         * modules/close (Depends-on): Likewise.
6462         * modules/connect (Depends-on): Likewise.
6463         * modules/cosl (Depends-on): Likewise.
6464         * modules/dirfd (Depends-on): Likewise.
6465         * modules/dprintf (Depends-on): Likewise.
6466         * modules/dprintf-posix (Depends-on): Likewise.
6467         * modules/error (Depends-on): Likewise.
6468         * modules/euidaccess (Depends-on): Likewise.
6469         * modules/expl (Depends-on): Likewise.
6470         * modules/faccessat (Depends-on): Likewise.
6471         * modules/fchdir (Depends-on): Likewise.
6472         * modules/fclose (Depends-on): Likewise.
6473         * modules/fcntl (Depends-on): Likewise.
6474         * modules/fdopendir (Depends-on): Likewise.
6475         * modules/fflush (Depends-on): Likewise.
6476         * modules/floor (Depends-on): Likewise.
6477         * modules/floorf (Depends-on): Likewise.
6478         * modules/floorl (Depends-on): Likewise.
6479         * modules/fnmatch (Depends-on): Likewise.
6480         * modules/fopen (Depends-on): Likewise.
6481         * modules/fprintf-posix (Depends-on): Likewise.
6482         * modules/frexp (Depends-on): Likewise.
6483         * modules/frexp-nolibm (Depends-on): Likewise.
6484         * modules/frexpl (Depends-on): Likewise.
6485         * modules/frexpl-nolibm (Depends-on): Likewise.
6486         * modules/fseek (Depends-on): Likewise.
6487         * modules/fsusage (Depends-on): Likewise.
6488         * modules/ftell (Depends-on): Likewise.
6489         * modules/ftello (Depends-on): Likewise.
6490         * modules/futimens (Depends-on): Likewise.
6491         * modules/getcwd (Depends-on): Likewise.
6492         * modules/getcwd-lgpl (Depends-on): Likewise.
6493         * modules/getdelim (Depends-on): Likewise.
6494         * modules/getdomainname (Depends-on): Likewise.
6495         * modules/getgroups (Depends-on): Likewise.
6496         * modules/gethostname (Depends-on): Likewise.
6497         * modules/getline (Depends-on): Likewise.
6498         * modules/getlogin_r (Depends-on): Likewise.
6499         * modules/getopt-posix (Depends-on): Likewise.
6500         * modules/getpeername (Depends-on): Likewise.
6501         * modules/getsockname (Depends-on): Likewise.
6502         * modules/getsockopt (Depends-on): Likewise.
6503         * modules/getsubopt (Depends-on): Likewise.
6504         * modules/getusershell (Depends-on): Likewise.
6505         * modules/glob (Depends-on): Likewise.
6506         * modules/grantpt (Depends-on): Likewise.
6507         * modules/iconv_open (Depends-on): Likewise.
6508         * modules/iconv_open-utf (Depends-on): Likewise.
6509         * modules/inet_ntop (Depends-on): Likewise.
6510         * modules/inet_pton (Depends-on): Likewise.
6511         * modules/ioctl (Depends-on): Likewise.
6512         * modules/isapipe (Depends-on): Likewise.
6513         * modules/isfinite (Depends-on): Likewise.
6514         * modules/isinf (Depends-on): Likewise.
6515         * modules/lchown (Depends-on): Likewise.
6516         * modules/ldexpl (Depends-on): Likewise.
6517         * modules/link (Depends-on): Likewise.
6518         * modules/linkat (Depends-on): Likewise.
6519         * modules/listen (Depends-on): Likewise.
6520         * modules/logl (Depends-on): Likewise.
6521         * modules/lstat (Depends-on): Likewise.
6522         * modules/mbrlen (Depends-on): Likewise.
6523         * modules/mbrtowc (Depends-on): Likewise.
6524         * modules/mbsinit (Depends-on): Likewise.
6525         * modules/mbsnrtowcs (Depends-on): Likewise.
6526         * modules/mbsrtowcs (Depends-on): Likewise.
6527         * modules/mbtowc (Depends-on): Likewise.
6528         * modules/memcmp (Depends-on): Likewise.
6529         * modules/mkdir (Depends-on): Likewise.
6530         * modules/mkdtemp (Depends-on): Likewise.
6531         * modules/mkfifo (Depends-on): Likewise.
6532         * modules/mkfifoat (Depends-on): Likewise.
6533         * modules/mknod (Depends-on): Likewise.
6534         * modules/mkostemp (Depends-on): Likewise.
6535         * modules/mkostemps (Depends-on): Likewise.
6536         * modules/mkstemp (Depends-on): Likewise.
6537         * modules/mkstemps (Depends-on): Likewise.
6538         * modules/mktime (Depends-on): Likewise.
6539         * modules/nanosleep (Depends-on): Likewise.
6540         * modules/open (Depends-on): Likewise.
6541         * modules/openat (Depends-on): Likewise.
6542         * modules/perror (Depends-on): Likewise.
6543         * modules/poll (Depends-on): Likewise.
6544         * modules/popen (Depends-on): Likewise.
6545         * modules/posix_spawn (Depends-on): Likewise.
6546         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
6547         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
6548         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
6549         * modules/posix_spawnp (Depends-on): Likewise.
6550         * modules/pread (Depends-on): Likewise.
6551         * modules/printf-posix (Depends-on): Likewise.
6552         * modules/ptsname (Depends-on): Likewise.
6553         * modules/putenv (Depends-on): Likewise.
6554         * modules/pwrite (Depends-on): Likewise.
6555         * modules/readline (Depends-on): Likewise.
6556         * modules/readlink (Depends-on): Likewise.
6557         * modules/readlinkat (Depends-on): Likewise.
6558         * modules/recv (Depends-on): Likewise.
6559         * modules/recvfrom (Depends-on): Likewise.
6560         * modules/regex (Depends-on): Likewise.
6561         * modules/remove (Depends-on): Likewise.
6562         * modules/rename (Depends-on): Likewise.
6563         * modules/renameat (Depends-on): Likewise.
6564         * modules/rmdir (Depends-on): Likewise.
6565         * modules/round (Depends-on): Likewise.
6566         * modules/roundf (Depends-on): Likewise.
6567         * modules/roundl (Depends-on): Likewise.
6568         * modules/rpmatch (Depends-on): Likewise.
6569         * modules/select (Depends-on): Likewise.
6570         * modules/send (Depends-on): Likewise.
6571         * modules/sendto (Depends-on): Likewise.
6572         * modules/setenv (Depends-on): Likewise.
6573         * modules/setlocale (Depends-on): Likewise.
6574         * modules/setsockopt (Depends-on): Likewise.
6575         * modules/shutdown (Depends-on): Likewise.
6576         * modules/sigaction (Depends-on): Likewise.
6577         * modules/signbit (Depends-on): Likewise.
6578         * modules/sigprocmask (Depends-on): Likewise.
6579         * modules/sinl (Depends-on): Likewise.
6580         * modules/sleep (Depends-on): Likewise.
6581         * modules/snprintf (Depends-on): Likewise.
6582         * modules/snprintf-posix (Depends-on): Likewise.
6583         * modules/socket (Depends-on): Likewise.
6584         * modules/sprintf-posix (Depends-on): Likewise.
6585         * modules/sqrtl (Depends-on): Likewise.
6586         * modules/stat (Depends-on): Likewise.
6587         * modules/strchrnul (Depends-on): Likewise.
6588         * modules/strdup-posix (Depends-on): Likewise.
6589         * modules/strerror (Depends-on): Likewise.
6590         * modules/strerror_r-posix (Depends-on): Likewise.
6591         * modules/strndup (Depends-on): Likewise.
6592         * modules/strnlen (Depends-on): Likewise.
6593         * modules/strptime (Depends-on): Likewise.
6594         * modules/strsep (Depends-on): Likewise.
6595         * modules/strsignal (Depends-on): Likewise.
6596         * modules/strstr-simple (Depends-on): Likewise.
6597         * modules/strtod (Depends-on): Likewise.
6598         * modules/strtoimax (Depends-on): Likewise.
6599         * modules/strtok_r (Depends-on): Likewise.
6600         * modules/strtoumax (Depends-on): Likewise.
6601         * modules/symlink (Depends-on): Likewise.
6602         * modules/symlinkat (Depends-on): Likewise.
6603         * modules/tanl (Depends-on): Likewise.
6604         * modules/tcgetsid (Depends-on): Likewise.
6605         * modules/tmpfile (Depends-on): Likewise.
6606         * modules/trunc (Depends-on): Likewise.
6607         * modules/truncf (Depends-on): Likewise.
6608         * modules/truncl (Depends-on): Likewise.
6609         * modules/uname (Depends-on): Likewise.
6610         * modules/unlink (Depends-on): Likewise.
6611         * modules/unlockpt (Depends-on): Likewise.
6612         * modules/unsetenv (Depends-on): Likewise.
6613         * modules/usleep (Depends-on): Likewise.
6614         * modules/utimensat (Depends-on): Likewise.
6615         * modules/vasprintf (Depends-on): Likewise.
6616         * modules/vdprintf (Depends-on): Likewise.
6617         * modules/vdprintf-posix (Depends-on): Likewise.
6618         * modules/vfprintf-posix (Depends-on): Likewise.
6619         * modules/vprintf-posix (Depends-on): Likewise.
6620         * modules/vsnprintf (Depends-on): Likewise.
6621         * modules/vsnprintf-posix (Depends-on): Likewise.
6622         * modules/vsprintf-posix (Depends-on): Likewise.
6623         * modules/wcrtomb (Depends-on): Likewise.
6624         * modules/wcscasecmp (Depends-on): Likewise.
6625         * modules/wcscspn (Depends-on): Likewise.
6626         * modules/wcsdup (Depends-on): Likewise.
6627         * modules/wcsncasecmp (Depends-on): Likewise.
6628         * modules/wcsnrtombs (Depends-on): Likewise.
6629         * modules/wcspbrk (Depends-on): Likewise.
6630         * modules/wcsrtombs (Depends-on): Likewise.
6631         * modules/wcsspn (Depends-on): Likewise.
6632         * modules/wcsstr (Depends-on): Likewise.
6633         * modules/wcstok (Depends-on): Likewise.
6634         * modules/wcswidth (Depends-on): Likewise.
6635         * modules/wctob (Depends-on): Likewise.
6636         * modules/wctomb (Depends-on): Likewise.
6637         * modules/wctype (Depends-on): Likewise.
6638         * modules/wcwidth (Depends-on): Likewise.
6639         * modules/write (Depends-on): Likewise.
6640
6641 2011-05-03  Bruno Haible  <bruno@clisp.org>
6642
6643         Support for conditional dependencies.
6644         * doc/gnulib.texi (Module description): Document the syntax of
6645         conditional dependencies.
6646         * gnulib-tool: New option --conditional-dependencies.
6647         (func_usage): Document it.
6648         (cond_dependencies): New variable.
6649         (func_get_automake_snippet_conditional,
6650         func_get_automake_snippet_unconditional): New functions, extracted from
6651         func_get_automake_snippet.
6652         (func_get_automake_snippet): Use them.
6653         (sed_first_32_chars): New variable.
6654         (func_module_shellfunc_name): New function.
6655         (func_module_shellvar_name): New function.
6656         (func_module_conditional_name): New function.
6657         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
6658         func_cond_module_condition): New functions.
6659         (func_modules_transitive_closure): Add support for conditional
6660         dependencies.
6661         (func_emit_lib_Makefile_am): For a conditional module, enclose the
6662         conditional automake snippet in an automake conditional.
6663         (func_emit_autoconf_snippets): Emit shell functions that contain the
6664         code for conditional modules.
6665         (func_import, func_create_testdir): Update specification.
6666
6667 2011-05-03  Eric Blake  <eblake@redhat.com>
6668
6669         test-getaddrinfo: report error information
6670         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
6671
6672 2011-05-03  Jim Meyering  <meyering@redhat.com>
6673
6674         bootstrap: avoid build failure when $GZIP is set
6675         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
6676         program name.  If defined at all, it is supposed to list gzip options.
6677         Reported by Alan Curry in http://debbugs.gnu.org/8609
6678
6679 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
6680
6681         readme-release: new module with release instructions
6682         * modules/readme-release: New module.
6683         * top/README-release: New file, from coreutils, grep, diffutils.
6684         * MODULES.html.sh (Support for maintaining and releasing): Add it.
6685
6686 2011-05-02  Eric Blake  <eblake@redhat.com>
6687
6688         fflush: also replace fclose when fixing fflush
6689         * modules/fflush (Depends-on): Add fclose.
6690         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
6691         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
6692         memstreams with no backing fd.
6693         * doc/posix-functions/fclose.texi (fclose): Document the use of
6694         fflush module to fix the bug.
6695         * tests/test-fclose.c (main): Relax test when fclose is used in
6696         isolation.
6697
6698         fclose: add some tests
6699         * modules/fclose-tests: New test module.
6700         * tests/test-fclose.c: New file.
6701         * doc/posix-functions/fclose.texi (fclose): Document the bug.
6702
6703         fclose: reduced dependencies
6704         * modules/fclose (Depends-on): Switch from fflush/fseeko to
6705         simpler lseek.
6706         * lib/fclose.c (rpl_fclose): Likewise.
6707         Reported by Simon Josefsson.
6708
6709         exit: drop remaining clients
6710         * modules/argmatch (Depends-on): Replace exit with stdlib.
6711         * modules/copy-file (Depends-on): Likewise.
6712         * modules/execute (Depends-on): Likewise.
6713         * modules/exitfail (Depends-on): Likewise.
6714         * modules/obstack (Depends-on): Likewise.
6715         * modules/pagealign_alloc (Depends-on): Likewise.
6716         * modules/pipe-filter-gi (Depends-on): Likewise.
6717         * modules/pipe-filter-ii (Depends-on): Likewise.
6718         * modules/savewd (Depends-on): Likewise.
6719         * modules/spawn-pipe (Depends-on): Likewise.
6720         * modules/wait-process (Depends-on): Likewise.
6721         * modules/xsetenv (Depends-on): Likewise.
6722         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
6723         * modules/git-merge-changelog (Depends-on): Likewise.
6724         * modules/long-options (Depends-on): Likewise.
6725         * modules/pt_chown (Depends-on): Likewise.
6726         * modules/sysexits (Depends-on): Likewise.
6727
6728         freading: relax license from LGPLv3+ to LGPLv2+
6729         * modules/freading (License): Relax LGPL version.
6730
6731 2011-05-02  Bruno Haible  <bruno@clisp.org>
6732
6733         fchdir: Remove unused dependencies.
6734         * modules/fchdir (Depends-on): Remove include_next.
6735
6736 2011-05-02  Bruno Haible  <bruno@clisp.org>
6737
6738         gnulib-tool: Refactor.
6739         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
6740         from func_emit_autoconf_snippets.
6741         (func_emit_autoconf_snippets): Use it.
6742
6743 2011-05-02  Simon Josefsson  <simon@josefsson.org>
6744
6745         * NEWS: Document removal of 'exit'.
6746         * modules/exit: Remove file.
6747
6748 2011-05-01  Bruno Haible  <bruno@clisp.org>
6749
6750         Update DEPENDENCIES.
6751         * DEPENDENCIES (gettext): Recommend the newest release.
6752         Reported by Simon Josefsson.
6753
6754 2011-05-01  Bruno Haible  <bruno@clisp.org>
6755
6756         gnulib-tool: Reduce code duplication.
6757         * gnulib-tool (func_emit_autoconf_snippets): New function.
6758         (func_import, func_create_testdir): Use it.
6759
6760 2011-04-30  Eric Blake  <eblake@redhat.com>
6761
6762         fclose: don't fail on non-seekable input stream
6763         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
6764         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
6765         since fflush is allowed to fail in that case.
6766
6767 2011-04-30  Bruno Haible  <bruno@clisp.org>
6768
6769         dup3: cleanup
6770         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
6771
6772 2011-04-30  Bruno Haible  <bruno@clisp.org>
6773
6774         netdb: Make it work in C++ mode.
6775         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
6776         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
6777         module.
6778         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
6779         gl_MODULE_INDICATOR_FOR_TESTS.
6780         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
6781         * modules/netdb-c++-tests: New file.
6782         * tests/test-netdb-c++.cc: New file.
6783
6784 2011-04-30  Bruno Haible  <bruno@clisp.org>
6785
6786         New modules 'vfscanf', 'vscanf'.
6787         * modules/vfscanf: New file.
6788         * modules/vscanf: New file.
6789         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
6790         here.
6791         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
6792         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
6793
6794 2011-04-30  Bruno Haible  <bruno@clisp.org>
6795
6796         passfd: Add comments.
6797         * lib/passfd.c: Add comments about platforms.
6798
6799 2011-04-30  Bruno Haible  <bruno@clisp.org>
6800
6801         sys_uio: Make <sys/uio.h> self-contained.
6802         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
6803         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
6804
6805 2011-04-30  Bruno Haible  <bruno@clisp.org>
6806
6807         sys_socket: Ensure 'struct iovec' definition.
6808         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
6809         <sys/socket.h>.
6810         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
6811
6812 2011-04-30  Bruno Haible  <bruno@clisp.org>
6813
6814         sys_uio: Protect definition of 'struct iovec'.
6815         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
6816         it as a C struct.
6817
6818 2011-04-30  Bruno Haible  <bruno@clisp.org>
6819
6820         manywarnings: fix indentation
6821         * m4/manywarnings.m4: Indent by 2 spaces consistently.
6822
6823 2011-04-30  Pádraig Brady <P@draigBrady.com>
6824
6825         manywarnings: add -Wno-missing-field-initializers if needed.
6826         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
6827         option if it's needed to allow initialization with { 0, }
6828
6829 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
6830
6831         announce-gen: cosmetic improvement
6832         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
6833
6834 2011-04-29  Jim Meyering  <meyering@redhat.com>
6835
6836         vc-list-files: indent with spaces, not TABs
6837         * build-aux/vc-list-files: Convert leading TABs to spaces,
6838         to match the style of most other files in gnulib.
6839
6840         announce-gen: indent with spaces, not TABs
6841         * build-aux/announce-gen: Convert all TABs to spaces, to match
6842         the style of most other files in gnulib.
6843
6844 2011-04-29  Eric Blake  <eblake@redhat.com>
6845
6846         quotearg: avoid uninitialized variable use
6847         * lib/quotearg.c (quoting_options_from_style): Initialize
6848         remaining fields, and ensure that custom styles are only used via
6849         quoting_options rather than quoting_style.
6850
6851 2011-04-29  Jim Meyering  <meyering@redhat.com>
6852
6853         maint.mk: remove unused VC-tag variable
6854         * top/maint.mk (VC-tag): Remove unused variable.
6855
6856 2011-04-29  Bruno Haible  <bruno@clisp.org>
6857
6858         netdb: fix gai_strerror replacements
6859         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
6860         * modules/netdb: Substitute it.
6861
6862 2011-04-29  Jim Meyering  <meyering@redhat.com>
6863
6864         test-getcwd.c: avoid new set-but-not-used warning
6865         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
6866         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
6867         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
6868         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
6869
6870         test-hash.c: avoid a new shadowing warning
6871         * tests/test-hash.c (main): Don't shadow "dup".
6872
6873 2011-04-28  Eric Blake  <eblake@redhat.com>
6874
6875         getaddrinfo: fix gai_strerror signature
6876         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
6877         and work around mingw with UNICODE defined.
6878         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
6879         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
6880         * modules/netdb (Makefile.am): Substitute it.
6881         * lib/netdb.in.h (gai_strerror): Declare replacement.
6882         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
6883         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
6884         the fix.
6885
6886         getsockopt: avoid compiler warning
6887         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
6888         Reported by Matthias Bolte.
6889
6890         tests: drop unused link dependency
6891         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
6892         * modules/dirent-safer-tests (Makefile.am): Likewise.
6893         * modules/fdopendir-tests (Makefile.am): Likewise.
6894         * modules/mkfifoat-tests (Makefile.am): Likewise.
6895         * modules/openat-safer-tests (Makefile.am): Likewise.
6896         * modules/openat-tests (Makefile.am): Likewise.
6897         * modules/readlinkat-tests (Makefile.am): Likewise.
6898         * modules/symlinkat-tests (Makefile.am): Likewise.
6899         * modules/linkat-tests (Makefile.am): Likewise.
6900         (Depends-on): Switch to filenamecat-lgpl.
6901         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
6902         LIBINTL.
6903         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
6904         * tests/test-linkat.c (main): Don't require xalloc.
6905
6906         hash, mgetgroups: drop xalloc dependency
6907         * lib/hash.c (includes): Adjust includes.
6908         * lib/mgetgroups.c (includes): Likewise.
6909         (xgetgroups): Move...
6910         * lib/xgetgroups.c: ...to new file.
6911         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
6912         * modules/xgetgroups: New file, split from...
6913         * modules/mgetgroups: ...here.
6914         (Depends-on): Add xalloc-oversized.
6915         * modules/hash (Depends-on): Likewise.
6916         * modules/hash-tests (Depends-on): Drop xalloc.
6917         (test_hash_LDADD): Drop unused library.
6918         * tests/test-hash.c (main): Break xalloc dependency.
6919         (includes): Drop unused include.
6920
6921         xalloc-oversized: new module
6922         * modules/xalloc-oversized: New module.
6923         * modules/xalloc (Depends-on): Add it.
6924         * lib/xalloc.h (xalloc_oversized): Move...
6925         * lib/xalloc-oversized.h: ...into new file.
6926
6927         utimecmp: drop dependency on xmalloc
6928         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
6929         due to memory pressure.
6930         * modules/utimecmp (Depends-on): Drop xalloc.
6931
6932 2011-04-27  Eric Blake  <eblake@redhat.com>
6933
6934         getcwd: fix mingw bugs
6935         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
6936         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
6937         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
6938
6939 2011-04-27  Bruno Haible  <bruno@clisp.org>
6940
6941         mkstemps: Ensure declaration on MacOS X 10.5.
6942         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
6943         * doc/glibc-functions/mkstemps.texi: Document header file problem on
6944         MacOS X.
6945
6946 2011-04-27  Bruno Haible  <bruno@clisp.org>
6947
6948         mkstemp: More documentation.
6949         * doc/posix-functions/mkstemp.texi: Document header file problem on
6950         MacOS X.
6951
6952 2011-04-27  Bruno Haible  <bruno@clisp.org>
6953
6954         mkstemp: Tweak configure message when cross-compiling.
6955         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
6956         result as a guess.
6957
6958 2011-04-27  Bruno Haible  <bruno@clisp.org>
6959
6960         clean-temp: Clarify what it does.
6961         * lib/clean-temp.h: Add more comments.
6962         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
6963         module.
6964         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
6965         * doc/glibc-functions/mkstemps.texi: Likewise.
6966         * doc/glibc-functions/mkostemps.texi: Likewise.
6967
6968 2011-04-27  Eric Blake  <eblake@redhat.com>
6969
6970         fchdir: avoid extra chdir and fix test
6971         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
6972         getcwd-lgpl.
6973         * lib/fchdir.c (get_name): Any absolute name will do; it does not
6974         have to be canonical.
6975         (canonicalize_file_name): Drop unused macro.
6976         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
6977
6978         filenamecat-lgpl: fix licence
6979         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
6980         when it was first created.
6981
6982         linkat, renameat: add missing dependency
6983         * modules/linkat (Depends-on): Require getcwd-lgpl.
6984         * modules/renameat (Depends-on): Likewise.
6985
6986         tests: reduce dependencies
6987         * tests/test-linkat.c (main): Use lighter-weight getcwd.
6988         * tests/test-renameat.c (main): Likewise.
6989         * modules/linkat-tests (Depends-on): Relax dependency.
6990         * modules/renameat-tests (Depends-on): Likewise.
6991         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
6992         dependency explicit.
6993
6994         save-cwd: reduce default dependency
6995         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
6996         * lib/save-cwd.c: Update comments.
6997         * NEWS: Document the semantic change.
6998
6999         getcwd: enhance tests
7000         * tests/test-getcwd-lgpl.c: New file, taken from...
7001         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
7002         repeat long path stress tests from m4 probe.
7003         * modules/getcwd-lgpl-tests: New module.
7004         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
7005         * m4/getcwd-abort-bug.m4: Update comment.
7006         * m4/getcwd-path-max.m4: Likewise.
7007
7008         getcwd-lgpl: new module
7009         * modules/getcwd-lgpl: New module.
7010         * lib/getcwd-lgpl.c: New file.
7011         * doc/posix-functions/getcwd.texi (getcwd): Document it.
7012         * MODULES.html.sh (lacking POSIX:2008): Likewise.
7013         * modules/getcwd (configure.ac): Set C witness.
7014         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
7015
7016         getcwd: tweak comments
7017         * m4/getcwd-abort-bug.m4: Fix comments.
7018         * m4/getcwd-path-max.m4: Likewise.
7019         * m4/getcwd.m4: Likewise.
7020
7021 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
7022         and Eric Blake  <eblake@redhat.com>
7023
7024         mkstemp: replace if system version uses wrong permissions
7025         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
7026         read/write mode bits set in file created by mkstemp.
7027         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
7028
7029 2011-04-27  Eric Blake  <eblake@redhat.com>
7030
7031         passfd: avoid compiler warning
7032         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
7033         Reported by Laine Stump.
7034
7035 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
7036
7037         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
7038         required by the NetBSD (and perhaps other 4.4BSD derived) join.
7039
7040 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
7041         and Eric Blake  <eblake@redhat.com>
7042
7043         mkstemp: mention clean-temp module
7044         * lib/mkstemp.c: Add comment.
7045         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
7046
7047 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
7048
7049         inttypes: also provide default values for 32-bit tests
7050         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
7051         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
7052
7053 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7054
7055         strtoumax: remove dependency on strtoimax
7056         This is like the strtoull change of yesterday.
7057         * modules/strtoumax (Files): Add lib/strtoimax.c.
7058         (Depends-on): Remove strtoimax and add verify.
7059
7060         inttypes-incomplete: new module
7061         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
7062         all but the PRI* and SCN* parts of gl_INTTYPES_H.
7063         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
7064         of gl_INTTYPES_H.
7065         (gl_INTTYPES_H): Rewrite in terms of these new macros.
7066         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
7067         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
7068         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
7069         * modules/strtoumax, modules/xstrtol (Depends-on):
7070         Depend on inttypes-incomplete, not inttypes.
7071         * modules/inttypes-incomplete: New module, containing the contents
7072         of the old modules/inttypes module, except that the Files: section
7073         omits m4/inttypes-pri.m4, and the configure.ac section invokes
7074         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
7075         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
7076         (Depends-on): Depend only on inttypes-incomplete.
7077         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
7078
7079         inttypes: omit now-redundant strtoimax and strtoumax work
7080         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
7081         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
7082
7083         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
7084         This supports apps that need pointers to strtoimax and strtoumax,
7085         and ports to HP-UX 11.00 64.bit, which has macros that expand to
7086         nonexistent functions.  See
7087         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
7088         et seq.
7089         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
7090         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
7091         a macro.
7092         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
7093
7094 2011-04-25  Simon Josefsson  <simon@josefsson.org>
7095
7096         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
7097
7098 2011-04-25  Bruno Haible  <bruno@clisp.org>
7099
7100         strtol, strtoul: Mark modules as obsolete.
7101         * modules/strtol (Status, Notice): New sections.
7102         * modules/strtoul (Status, Notice): New sections.
7103
7104 2011-04-25  Bruno Haible  <bruno@clisp.org>
7105
7106         strtod: Remove check for strtod, unless supporting old platforms.
7107         * modules/strtod-obsolete: New file.
7108         * m4/strtod-obsolete.m4: New file.
7109         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
7110         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
7111         * modules/strtod (Depends-on): Add strtod-obsolete.
7112         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
7113
7114 2011-04-25  Bruno Haible  <bruno@clisp.org>
7115
7116         strcase: Make module obsolete.
7117         * modules/strcase (Status, Notice): New sections.
7118
7119 2011-04-25  Bruno Haible  <bruno@clisp.org>
7120
7121         dup2: Remove check for dup2, unless supporting old obsolete platforms.
7122         * modules/dup2-obsolete: New file.
7123         * m4/dup2-obsolete.m4: New file.
7124         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
7125         gl_FUNC_DUP2_OBSOLETE is not also defined.
7126         * modules/dup2 (Depends-on): Add dup2-obsolete.
7127         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
7128
7129 2011-04-25  Bruno Haible  <bruno@clisp.org>
7130
7131         strnlen: Avoid memchr related link error on old obsolete platforms.
7132         * modules/memchr-obsolete: New file.
7133         * m4/memchr-obsolete.m4: New file.
7134         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
7135         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
7136         * modules/memchr (Depends-on): Add memchr-obsolete.
7137         * modules/strnlen (Depends-on): Likewise.
7138         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
7139
7140 2011-04-25  Jim Meyering  <meyering@redhat.com>
7141
7142         maint.mk: makefile_at_at_check extend and clean up
7143         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
7144         in addition to */Makefile.am.
7145         Exempt legitimate uses of @VAR@ notation, e.g.,
7146         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
7147         Remove obsolete coreutils-specific comment.
7148         Prompted by discussion here:
7149         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
7150
7151 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7152
7153         strtoul: remove dependency on strtol
7154         This is so that 'configure' need not check for strtol merely because
7155         the application needs strtoul.
7156         * modules/strtoul (Files): Add lib/strtol.c.
7157         (Depends-on): Remove strtol.
7158
7159         strtoull: remove dependency on strtoul
7160         This is like the strtoll change.
7161         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
7162         (Depends-on): Remove strtoul.
7163
7164         strtoll: remove dependency on strtol
7165         This is so that 'configure' need not check for strtol merely because
7166         the application needs strtoll.
7167         * modules/strtoll (Files): Add lib/strtol.c.
7168         (Depends-on): Remove strtol.
7169
7170 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7171
7172         inttypes: Move some configure check to module 'imaxdiv'.
7173         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
7174         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
7175         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
7176
7177 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7178
7179         inttypes: Move some configure check to module 'imaxabs'.
7180         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
7181         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
7182         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
7183
7184 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7185
7186         inttypes: Remove configure tests that are not needed since 2009-12-31.
7187         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
7188         gl_cv_header_working_inttypes_h.
7189
7190 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7191
7192         * modules/strnlen (Depends-on): Remove memchr.
7193         The strnlen implementation doesn't need the memchr module's fixes; see
7194         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
7195
7196         strtol: remove dependency on wchar
7197         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
7198         * modules/strtol (Depends-on): Remove wchar.
7199
7200 2011-04-21  Eric Blake  <eblake@redhat.com>
7201
7202         passfd: fix test regression on Linux
7203         * modules/passfd-tests (configure.ac): Correct socketpair check.
7204
7205         passfd: speed up configure and drop unused code
7206         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
7207         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
7208         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
7209         Instead of probing at configure for unix_scm_rights_bsd44_way,
7210         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
7211         check to a struct member probe.
7212         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
7213         (sendfd, recvfd): Update preprocessor checks.
7214         * modules/passfd (Files): Reflect rename, and drop unused file.
7215         (Depends-on): Drop unused dependency.
7216
7217         passfd: allow compilation on mingw
7218         * modules/sys_socket (Depends-on): Add sys_uio.
7219         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
7220         iovec and a minimal struct msghdr.
7221         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
7222         * tests/test-sys_socket.c (main): Enhance test.
7223         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
7224         guaranteed to provide what we need.
7225         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
7226         * modules/passfd-tests (Depends-on): Add sys_wait.
7227         * tests/test-passfd.c (main): Skip test on mingw, for now.
7228         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
7229         partial 'struct msghdr' implementation.
7230
7231         sys_uio: new module
7232         * modules/sys_uio: New module.
7233         * modules/sys_uio-tests: Likewise.
7234         * lib/sys_uio.in.h: New file.
7235         * m4/sys_uio_h.m4: Likewise.
7236         * tests/test-sys_uio.c: Likewise.
7237         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
7238         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
7239
7240 2011-04-20  Jim Meyering  <meyering@redhat.com>
7241
7242         useless-if-before-free: avoid false-positive
7243         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
7244         disjunct so that it too requires a terminating ";".  Without that,
7245         this script would identify as useless one statement from gcc that
7246         was not:
7247           if (aligned_ptr)
7248             free (((void **) aligned_ptr) [-1]);
7249
7250 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
7251
7252         doc: update users.txt.
7253         * users.txt: Add barcode.
7254
7255 2011-04-19  Bruno Haible  <bruno@clisp.org>
7256
7257         ioctl: Remove link dependency on native Windows.
7258         * lib/fd-hook.h: Renamed from lib/close-hook.h.
7259         (gl_close_fn, gl_ioctl_fn): New types.
7260         (struct fd_hook): Renamed from struct close_hook. Change type of
7261         private_close_fn field. Add private_ioctl_fn field.
7262         (close_hook_fn): Add parameter for primary close method.
7263         (execute_close_hooks, execute_all_close_hooks): Likewise.
7264         (ioctl_hook_fn): New type.
7265         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
7266         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
7267         argument.
7268         (unregister_fd_hook): Renamed from unregister_close_hook.
7269         * lib/fd-hook.c: Renamed from lib/close-hook.c.
7270         Don't include <unistd.h>.
7271         (close): Remove undef.
7272         (anchor): Update.
7273         (execute_close_hooks): Add argument for primary close method.
7274         (execute_all_close_hooks): Likewise.
7275         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
7276         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
7277         argument. Allow each argument to be NULL.
7278         (unregister_fd_hook): Renamed from unregister_close_hook.
7279         * lib/close.c (rpl_close): Pass 'close' function pointer to
7280         execute_all_close_hooks.
7281         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
7282         (primary_ioctl): New function.
7283         (ioctl): Don't call ioctlsocket here. Instead, call
7284         execute_all_ioctl_hooks.
7285         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
7286         close method.
7287         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
7288         (fd_sockets_hook): Renamed from close_sockets_hook.
7289         (gl_sockets_startup, gl_sockets_cleanup): Update.
7290         * modules/fd-hook: Renamed from modules/close-hook. Update.
7291         * modules/close (Depends-on): Add fd-hook, remove close-hook.
7292         * modules/sockets (Depends-on): Likewise.
7293         * modules/ioctl (Depends-on): Add fd-hook.
7294         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
7295         GNULIB_SOCKET.
7296
7297 2011-04-19  Bruno Haible  <bruno@clisp.org>
7298
7299         Move the support of O_NONBLOCK in open() to the 'open' module.
7300         * modules/nonblocking (Depends-on): Remove 'open'.
7301         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
7302         gl_cv_have_open_O_NONBLOCK.
7303         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
7304         O_NONBLOCK support.
7305         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
7306
7307 2011-04-17  Bruno Haible  <bruno@clisp.org>
7308
7309         pipe2: Simplify code.
7310         * lib/pipe2.c (pipe2): Reduce code duplication.
7311
7312 2011-04-17  Bruno Haible  <bruno@clisp.org>
7313
7314         nonblocking: Add comment.
7315         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
7316
7317 2011-04-17  Bruno Haible  <bruno@clisp.org>
7318
7319         nonblocking: Add tests for sockets.
7320         * tests/test-nonblocking-socket.sh: New file.
7321         * tests/test-nonblocking-socket-main.c: New file.
7322         * tests/test-nonblocking-socket-child.c: New file.
7323         * tests/test-nonblocking-socket.h: New file.
7324         * tests/socket-server.h: New file.
7325         * tests/socket-client.h: New file.
7326         * modules/nonblocking-socket-tests: New file.
7327         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
7328
7329 2011-04-17  Bruno Haible  <bruno@clisp.org>
7330
7331         nonblocking: Add tests for pipes.
7332         * tests/test-nonblocking-pipe.sh: New file.
7333         * tests/test-nonblocking-pipe-main.c: New file.
7334         * tests/test-nonblocking-pipe-child.c: New file.
7335         * tests/test-nonblocking-pipe.h: New file.
7336         * tests/test-nonblocking-writer.h: New file.
7337         * tests/test-nonblocking-reader.h: New file.
7338         * tests/test-nonblocking-misc.h: New file.
7339         * modules/nonblocking-pipe-tests: New file.
7340         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
7341
7342 2011-04-16  Bruno Haible  <bruno@clisp.org>
7343
7344         gettext: Clarify the needed programmer actions.
7345         * modules/gettext (Notice): New field.
7346         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
7347
7348 2011-04-16  Bruno Haible  <bruno@clisp.org>
7349
7350         strchrnul: Tweak last commit.
7351         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
7352         bug.
7353         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
7354         as in _GL_FUNCDECL_SYS.
7355         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
7356         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
7357
7358 2011-04-15  Eric Blake  <eblake@redhat.com>
7359
7360         strchrnul: work around cygwin bug
7361         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
7362         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
7363         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
7364         * modules/string (Makefile.am): Substitute it.
7365         * lib/string.in.h (strchrnul): Use it.
7366
7367 2011-04-15  Bruno Haible  <bruno@clisp.org>
7368
7369         Don't require lib/stdio-write.c when only module 'stdio' is used.
7370         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
7371         invocation.
7372         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
7373
7374 2011-04-14  Bruno Haible  <bruno@clisp.org>
7375
7376         Support non-blocking pipe I/O in read() on native Windows.
7377         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
7378         (read): New declaration.
7379         * lib/read.c: New file.
7380         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
7381         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
7382         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
7383         vscanf): New declarations.
7384         * lib/stdio-read.c: New file.
7385         * m4/read.m4: New file.
7386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
7387         REPLACE_READ.
7388         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
7389         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
7390         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
7391         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
7392         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
7393         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
7394         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
7395         * modules/read: New file.
7396         * modules/nonblocking (Files): Add lib/stdio-read.c.
7397         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
7398         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
7399         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
7400         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
7401         * modules/pread (Depends-on): Add read.
7402         * modules/safe-read (Depends-on): Likewise.
7403         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
7404         gets, scanf, vfscanf, vscanf): Verify signatures.
7405         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
7406         problem with non-blocking pipes.
7407         * doc/posix-functions/fgetc.texi: Likewise.
7408         * doc/posix-functions/fgets.texi: Likewise.
7409         * doc/posix-functions/fread.texi: Likewise.
7410         * doc/posix-functions/fscanf.texi: Likewise.
7411         * doc/posix-functions/getc.texi: Likewise.
7412         * doc/posix-functions/getchar.texi: Likewise.
7413         * doc/posix-functions/gets.texi: Likewise.
7414         * doc/posix-functions/scanf.texi: Likewise.
7415         * doc/posix-functions/vfscanf.texi: Likewise.
7416         * doc/posix-functions/vscanf.texi: Likewise.
7417
7418 2011-04-14  Bruno Haible  <bruno@clisp.org>
7419
7420         Support non-blocking pipe I/O in write() on native Windows.
7421         * lib/write.c (rpl_write): Split a write request that failed merely
7422         because the byte count was larger than the pipe buffer's size.
7423         * doc/posix-functions/write.texi: Mention the problem with large byte
7424         counts.
7425
7426 2011-04-14  Bruno Haible  <bruno@clisp.org>
7427
7428         wchar: Ensure that wchar_t gets defined on uClibc.
7429         * lib/wchar.in.h: On uClibc, include <stddef.h>.
7430         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
7431
7432 2011-04-13  Bruno Haible  <bruno@clisp.org>
7433
7434         safe-write, full-read: Avoid unnecessary compilation units.
7435         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
7436         (Depends-on): Remove safe-read. Add ssize_t.
7437         * modules/full-read (Files): Add lib/full-write.c.
7438         (Depends-on): Add full-write.
7439
7440 2011-04-13  Bruno Haible  <bruno@clisp.org>
7441
7442         Support non-blocking pipe I/O and SIGPIPE in pwrite().
7443         * modules/pwrite (Depends-on): Add 'write'.
7444
7445 2011-04-13  Bruno Haible  <bruno@clisp.org>
7446
7447         Support non-blocking pipe I/O in write() on native Windows.
7448         * lib/unistd.in.h (write): Enable replacement also if
7449         GNULIB_UNISTD_H_NONBLOCKING is 1.
7450         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
7451         (rpl_write): When failing to write on a non-blocking pipe, change
7452         errno from ENOSPC to EAGAIN.
7453         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
7454         putchar, puts, vfprintf, vprintf): Enable replacement also if
7455         GNULIB_STDIO_H_NONBLOCKING is 1.
7456         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
7457         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
7458         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
7459         CALL_WITH_SIGPIPE_EMULATION.
7460         (CALL_WITH_SIGPIPE_EMULATION): Use them.
7461         * m4/nonblocking.m4: New file.
7462         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
7463         for non-blocking I/O support.
7464         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7465         GNULIB_UNISTD_H_NONBLOCKING.
7466         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
7467         required for non-blocking I/O support.
7468         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
7469         * modules/nonblocking (Files): Add m4/nonblocking.m4,
7470         lib/stdio-write.c, m4/asm-underscore.m4.
7471         (Depends-on): Add stdio, unistd.
7472         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
7473         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
7474         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
7475         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
7476         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
7477         problem with non-blocking pipes.
7478         * doc/posix-functions/fputc.texi: Likewise.
7479         * doc/posix-functions/fputs.texi: Likewise.
7480         * doc/posix-functions/fwrite.texi: Likewise.
7481         * doc/posix-functions/printf.texi: Likewise.
7482         * doc/posix-functions/putc.texi: Likewise.
7483         * doc/posix-functions/putchar.texi: Likewise.
7484         * doc/posix-functions/puts.texi: Likewise.
7485         * doc/posix-functions/vfprintf.texi: Likewise.
7486         * doc/posix-functions/vprintf.texi: Likewise.
7487         * doc/posix-functions/write.texi: Likewise.
7488
7489 2011-04-10  Jim Meyering  <meyering@redhat.com>
7490
7491         maint.mk: prohibit doubled words
7492         Detect them also when they're separated by a newline.
7493         There are 3 ways to customize it:
7494           - disable the test on a per file basis, as usual with rules using
7495             $(VC_LIST_EXCEPT)
7496           - replace the default doubled-word-selecting regexp (affects all files)
7497           - ignore a particular file-vs-doubled-word match
7498         I nearly used that last one to ignore the "is is" match in
7499         coreutils' NEWS file, since the text was "ls -is is ..."
7500         To do that, I would have added this line to cfg.mk:
7501           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
7502         but it would have ignored any "is is" match in NEWS.
7503         Low probability, but still...
7504         Instead, I changed the text, slightly:
7505           -  ls -is is now consistent with ls -lis in ignoring values returned
7506           +  "ls -is" is now consistent with ls -lis in ignoring values returned
7507         * top/maint.mk (prohibit_double_word_RE_): Provide default.
7508         (prohibit_doubled_word_): Define.
7509         (sc_prohibit_doubled_word): New rule.
7510         (sc_prohibit_the_the): Remove.  Subsumed by the above.
7511
7512 2011-04-10  Jim Meyering  <meyering@redhat.com>
7513
7514         maint: fix doubled-word typo in comment
7515         * m4/gethostname.m4: s/is is/it is/
7516         * m4/getdomainname.m4: Likewise.
7517
7518 2011-04-10  Jim Meyering  <meyering@redhat.com>
7519
7520         maint: remove doubled word: s/it it/it/
7521         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
7522
7523 2011-04-10  Jim Meyering  <meyering@redhat.com>
7524
7525         maint.mk: remove useless semicolon and backslash
7526         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
7527         semicolon and backslash.
7528
7529 2011-04-10  Bruno Haible  <bruno@clisp.org>
7530
7531         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
7532         * modules/stdint-tests (Depends-on): Add wchar.
7533
7534 2011-04-10  Jim Meyering  <meyering@redhat.com>
7535
7536         maint: remove doubled words in comments, e.g., s/a a/a/
7537         * lib/strptime.c (day_of_the_week): s/the the/the/
7538         * tests/test-chown.h (test_chown): s/a a/a/
7539
7540         test-chown.h: correct a cast
7541         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
7542         when the destination is a stat.st_gid.
7543
7544 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
7545
7546         getaddrinfo: Fix test for sa_len member.
7547         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
7548         include <sys/types.h> before <sys/socket.h>.
7549
7550 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7551
7552         maint: change "can not" to "cannot"
7553         * doc/posix-functions/iconv.texi (iconv): This one crossed line
7554         boundaries.
7555
7556 2011-04-09  Jim Meyering  <meyering@redhat.com>
7557
7558         maint: change "a a" to "a"
7559         * tests/test-lchown.h (test_lchown): s/a a/a/
7560
7561         maint.mk: prohibit \<the the\>
7562         * top/maint.mk (sc_prohibit_the_the): New rule.
7563
7564         maint: fix "the the" in comment
7565         * lib/count-one-bits.h: s/the the/the/
7566
7567         maint: change "can not" to "cannot"
7568         But do not change the occurrences in maintain.texi or in
7569         build-aux/po/Makefile.in.in, which I presume comes from gettext.
7570         * doc/gnulib-tool.texi: s/can not/cannot/
7571         * doc/posix-functions/accept.texi (accept): Likewise.
7572         * doc/posix-functions/socket.texi (socket): Likewise.
7573         * lib/mbrtowc.c: Likewise.
7574
7575         maint.mk: prohibit use of "can not"
7576         * top/maint.mk (sc_prohibit_can_not): New rule.
7577         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
7578
7579 2011-04-09  Bruno Haible  <bruno@clisp.org>
7580
7581         careadlinkat: Guard against misuse of careadlinkatcwd.
7582         * lib/careadlinkat.c: Include <stdlib.h>.
7583         (careadlinkatcwd): Check that the fd argument is as expected.
7584
7585 2011-04-09  Bruno Haible  <bruno@clisp.org>
7586
7587         careadlinkat: Use common coding style.
7588         * lib/careadlinkat.c: Move gnulib includes after system includes.
7589
7590 2011-04-09  Bruno Haible  <bruno@clisp.org>
7591
7592         careadlinkat: Clarify specification.
7593         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
7594         (careadlinkatcwd): Add comment.
7595         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
7596
7597 2011-04-09  Bruno Haible  <bruno@clisp.org>
7598
7599         areadlinkat: Avoid link error on many platforms.
7600         * modules/areadlinkat (Depends-on): Add areadlink.
7601
7602 2011-04-09  Bruno Haible  <bruno@clisp.org>
7603
7604         allocator, careadlinkat: Fix double-inclusion guard.
7605         * lib/allocator.h: Fix double-inclusion guard.
7606         * lib/careadlinkat.h: Likewise.
7607
7608 2011-04-09  Bruno Haible  <bruno@clisp.org>
7609
7610         relocatable-prog-wrapper: Update after module 'areadlink' changed.
7611         * lib/relocwrapper.c: Update dependencies hierarchy.
7612         * build-aux/install-reloc: Update list of files to be compiled.
7613         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
7614         lib/allocator.[hc].
7615
7616 2011-04-08  Eric Blake  <eblake@redhat.com>
7617
7618         strftime: silence gnulib-tool warning
7619         * modules/strftime-tests (Depends-on): Drop automatic dependency.
7620
7621 2011-04-08  Bruno Haible  <bruno@clisp.org>
7622
7623         verify: Fix syntax error with GCC 4.6 in C++ mode.
7624         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
7625         (HAVE_STATIC_ASSERT): New macro.
7626         (verify_true, verify): Use 'static_assert' if it is supported and
7627         '_Static_assert' is not supported.
7628
7629 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7630
7631         allocator: New module.
7632         * modules/allocator, lib/allocator.c: New files.
7633         * lib/allocator.h (stdlib_allocator): New decl.
7634         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
7635         Remove.  Do not include <stdlib.h>.
7636         (careadlinkat): Use stdlib_allocator instead of rolling our own.
7637         * modules/careadlinkat (Files): Remove lib/allocator.h.
7638         (Depends-on): Add allocator.
7639
7640         stdlib: let modules use system malloc, realloc
7641         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
7642         if !_GL_USE_STDLIB_ALLOC.
7643         (malloc, realloc): Limit this change to a smaller scope.
7644
7645         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
7646         (malloc, realloc): Don't #undef; no longer needed.
7647         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7648         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7649         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
7650         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7651         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7652         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7653         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
7654         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
7655
7656         careadlinkat: rename members to avoid problem
7657         * lib/allocator.h (struct allocator): Rename members from
7658         malloc/realloc to allocate/reallocate, to avoid problems if malloc
7659         and realloc are #define'd.  Reported by Eric Blake in
7660         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
7661         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
7662
7663 2011-04-08  Eric Blake  <eblake@redhat.com>
7664
7665         nonblocking: reduce dependency
7666         * tests/test-nonblocking.c: Only test sockets when in use.
7667         * modules/nonblocking-tests (Depends-on): Drop socket.
7668         (Makefile.am): Link even if sockets are not present.
7669         * modules/pipe2-tests (Makefile.am): Likewise.
7670         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
7671
7672         pipe2: fix O_NONBLOCK support on mingw
7673         * modules/pipe2 (Depends-on): Add nonblocking.
7674         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
7675         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
7676         * tests/test-nonblocking.c (main): Likewise.
7677         * modules/pipe2-tests (Makefile.am): Avoid link failure.
7678
7679         fcntl-h: fix O_ACCMODE on cygwin
7680         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
7681         * lib/fcntl.in.h (O_ACCMODE): Fix it.
7682
7683         pipe-filter: drop O_NONBLOCK workarounds
7684         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
7685         * modules/pipe-filter-ii (Depends-on): Likewise.
7686         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
7687
7688         nonblocking: provide O_NONBLOCK for mingw
7689         * modules/nonblocking (Depends-on): Add open.
7690         (configure.ac): Set new witness macro.
7691         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
7692         * modules/fcntl-h (Makefile.am): Substitute it.
7693         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
7694         nonblocking module is in use.
7695         * lib/nonblocking.c: Adjust portability test.
7696         * lib/open.c (open): Don't let native open see gnulib flag.
7697         * tests/test-fcntl-h.c (main): Enhance test.
7698         * tests/test-open.h (test_open): Likewise.
7699         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
7700
7701         careadlinkat: fix compilation error on mingw
7702         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
7703         within struct allocator.
7704
7705 2011-04-06  Eric Blake  <eblake@redhat.com>
7706
7707         binary-io: relicense under LGPLv2+
7708         * modules/binary-io (License): Relax to LGPLv2+.
7709         Requested for libvirt, and required by pipe2.
7710
7711 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
7712
7713         verify: use _Static_assert if available
7714         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
7715         (verify_true, verify): Use it if available.  This generates better
7716         diagnostics with GCC 4.6.0 and later.
7717
7718 2011-04-05  Bruno Haible  <bruno@clisp.org>
7719
7720         Remove leftover generated .h files after config.status changed.
7721
7722         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
7723         GL_GENERATE_ALLOCA_H.
7724         * modules/alloca-opt (Makefile.am): Remove alloca.h if
7725         GL_GENERATE_ALLOCA_H evaluates to false.
7726
7727         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
7728         GL_GENERATE_ARGZ_H.
7729         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
7730         evaluates to false.
7731
7732         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
7733         GL_GENERATE_BYTESWAP_H.
7734         * modules/byteswap (Makefile.am): Remove byteswap.h if
7735         GL_GENERATE_BYTESWAP_H evaluates to false.
7736
7737         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
7738         GL_GENERATE_ERRNO_H.
7739         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
7740         evaluates to false.
7741
7742         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
7743         GL_GENERATE_FLOAT_H.
7744         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
7745         evaluates to false.
7746
7747         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
7748         GL_GENERATE_FNMATCH_H.
7749         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
7750         GL_GENERATE_FNMATCH_H evaluates to false.
7751
7752         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
7753         GL_GENERATE_GLOB_H.
7754         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
7755         evaluates to false.
7756
7757         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
7758         automake conditional GL_GENERATE_ICONV_H.
7759         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
7760         evaluates to false.
7761
7762         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
7763         GL_GENERATE_NETINET_IN_H.
7764         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
7765         GL_GENERATE_NETINET_IN_H evaluates to false.
7766
7767         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
7768         conditional GL_GENERATE_PTHREAD_H.
7769         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
7770         * modules/pthread (Makefile.am): Remove pthread.h if
7771         GL_GENERATE_PTHREAD_H evaluates to false.
7772
7773         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
7774         GL_GENERATE_SCHED_H.
7775         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
7776         evaluates to false.
7777
7778         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
7779         conditional GL_GENERATE_SELINUX_CONTEXT_H.
7780         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
7781         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
7782
7783         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
7784         GL_GENERATE_STDARG_H.
7785         * modules/stdarg (Makefile.am): Remove stdarg.h if
7786         GL_GENERATE_STDARG_H evaluates to false.
7787
7788         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
7789         GL_GENERATE_STDBOOL_H.
7790         * modules/stdbool (Makefile.am): Remove stdbool.h if
7791         GL_GENERATE_STDBOOL_H evaluates to false.
7792
7793         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
7794         conditional GL_GENERATE_STDDEF_H.
7795         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
7796         * modules/stddef (Makefile.am): Remove stddef.h if
7797         GL_GENERATE_STDDEF_H evaluates to false.
7798
7799         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
7800         GL_GENERATE_STDINT_H.
7801         * modules/stdint (Makefile.am): Remove stdint.h if
7802         GL_GENERATE_STDINT_H evaluates to false.
7803
7804         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
7805         GL_GENERATE_SYSEXITS_H.
7806         * modules/sysexits (Makefile.am): Remove sysexits.h if
7807         GL_GENERATE_SYSEXITS_H evaluates to false.
7808
7809         Reported by Karl Berry and Ralf Wildenhues.
7810
7811 2011-04-05  Bruno Haible  <bruno@clisp.org>
7812
7813         Ensure to rebuild generated .h files when config.status has changed.
7814         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
7815         config.status.
7816         * modules/ctype (Makefile.am): Likewise.
7817         * modules/dirent (Makefile.am): Likewise.
7818         * modules/errno (Makefile.am): Likewise.
7819         * modules/fcntl-h (Makefile.am): Likewise.
7820         * modules/float (Makefile.am): Likewise.
7821         * modules/getopt-posix (Makefile.am): Likewise.
7822         * modules/glob (Makefile.am): Likewise.
7823         * modules/iconv-h (Makefile.am): Likewise.
7824         * modules/inttypes (Makefile.am): Likewise.
7825         * modules/langinfo (Makefile.am): Likewise.
7826         * modules/locale (Makefile.am): Likewise.
7827         * modules/math (Makefile.am): Likewise.
7828         * modules/netdb (Makefile.am): Likewise.
7829         * modules/netinet_in (Makefile.am): Likewise.
7830         * modules/poll-h (Makefile.am): Likewise.
7831         * modules/pthread (Makefile.am): Likewise.
7832         * modules/pty (Makefile.am): Likewise.
7833         * modules/sched (Makefile.am): Likewise.
7834         * modules/search (Makefile.am): Likewise.
7835         * modules/selinux-h (Makefile.am): Likewise.
7836         * modules/signal (Makefile.am): Likewise.
7837         * modules/spawn (Makefile.am): Likewise.
7838         * modules/stdarg (Makefile.am): Likewise.
7839         * modules/stdbool (Makefile.am): Likewise.
7840         * modules/stddef (Makefile.am): Likewise.
7841         * modules/stdint (Makefile.am): Likewise.
7842         * modules/stdio (Makefile.am): Likewise.
7843         * modules/stdlib (Makefile.am): Likewise.
7844         * modules/string (Makefile.am): Likewise.
7845         * modules/strings (Makefile.am): Likewise.
7846         * modules/sys_file (Makefile.am): Likewise.
7847         * modules/sys_ioctl (Makefile.am): Likewise.
7848         * modules/sys_select (Makefile.am): Likewise.
7849         * modules/sys_socket (Makefile.am): Likewise.
7850         * modules/sys_stat (Makefile.am): Likewise.
7851         * modules/sys_time (Makefile.am): Likewise.
7852         * modules/sys_times (Makefile.am): Likewise.
7853         * modules/sys_utsname (Makefile.am): Likewise.
7854         * modules/sys_wait (Makefile.am): Likewise.
7855         * modules/sysexits (Makefile.am): Likewise.
7856         * modules/termios (Makefile.am): Likewise.
7857         * modules/time (Makefile.am): Likewise.
7858         * modules/unistd (Makefile.am): Likewise.
7859         * modules/wchar (Makefile.am): Likewise.
7860         * modules/wctype-h (Makefile.am): Likewise.
7861         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
7862
7863 2011-04-05  Bruno Haible  <bruno@clisp.org>
7864
7865         pipe2: Relicense under LGPLv2+.
7866         * modules/pipe2 (License): Change to LGPLv2+.
7867         Requested by Eric Blake, for libvirt.
7868
7869 2011-04-05  Bruce Korb  <bkorb@gnu.org>
7870
7871         bootstrap: compute gnulib_extra_files after updating build_aux
7872         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
7873         change build_aux or also supply gnulib_extra_files.  Handle correctly.
7874
7875 2011-04-05  Eric Blake  <eblake@redhat.com>
7876
7877         bootstrap: preserve git whitelist item sorting
7878         * build-aux/bootstrap (sort_patterns): New function.
7879         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
7880
7881 2011-04-05  Simon Josefsson  <simon@josefsson.org>
7882
7883         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
7884         sc_space_tab check.
7885
7886 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
7887
7888         areadlink, areadlinkat: rewrite in terms of careadlinkat
7889         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
7890         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
7891         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
7892         (malloc, realloc): Remove #undefs.
7893         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
7894         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
7895         readlink, ssize_t, stdint, unistd.
7896         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
7897         areadlink, stdint.
7898
7899         careadlinkat: new module
7900         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
7901         * modules/careadlinkat: New files, written by me with
7902         a review and feedback from Ben Pfaff in
7903         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
7904
7905 2011-04-01  Bruno Haible  <bruno@clisp.org>
7906
7907         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
7908         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
7909         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
7910         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
7911         Reported by Bruce Korb <bruce.korb@gmail.com>.
7912
7913 2011-04-01  Bruno Haible  <bruno@clisp.org>
7914
7915         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
7916         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
7917         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
7918         * modules/wcpcpy (Depends-on): Add extensions.
7919         * modules/wcpncpy (Depends-on): Likewise.
7920         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
7921         systems.
7922         * doc/posix-functions/wcpncpy.texi: Likewise.
7923         * doc/posix-functions/wcwidth.texi: Likewise.
7924
7925 2011-03-31  Eric Blake  <eblake@redhat.com>
7926
7927         nonblocking: fix mingw test failures
7928         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
7929         non-blocking flag on regular file.
7930         (get_nonblocking_flag): Set errno on invalid fd.
7931         * tests/test-nonblocking.c (main): Avoid test failure on
7932         directories if fchdir is not active.
7933         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
7934
7935 2011-03-31  Bruno Haible  <bruno@clisp.org>
7936
7937         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
7938         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
7939         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
7940         Reported by Simon Josefsson <simon@josefsson.org>.
7941
7942 2011-03-31  Bruno Haible  <bruno@clisp.org>
7943         and Eric Blake  <eblake@redhat.com>
7944
7945         nonblocking: new module
7946         * modules/nonblocking: New module.
7947         * modules/nonblocking-tests: Likewise.
7948         * lib/nonblocking.h: New file.
7949         * lib/nonblocking.c: Likewise.
7950         * tests/test-nonblocking.c: New test.
7951         * lib/ioctl.c (ioctl) [mingw]: Update comment.
7952
7953 2011-03-30  Bruno Haible  <bruno@clisp.org>
7954
7955         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
7956         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
7957         instead of 'printf' format for GCC >= 4.4.
7958         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
7959         (fprintf, printf, vfprintf, vprintf): Declare with
7960         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
7961         the system's vfprintf() function.
7962         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
7963
7964 2011-03-30  Eric Blake  <eblake@redhat.com>
7965
7966         passfd: fix scoping bug
7967         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
7968         before sendmsg/recvmsg.
7969
7970         passfd: standardize coding conventions
7971         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
7972         can be learned at compile time.
7973         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
7974         ifdefs.
7975         (sendfd, recvfd): Follow gnulib code conventions.
7976
7977         passfd: fix incorrect sendmsg arguments
7978         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
7979         incorrect msg_controllen value.
7980         * modules/passfd-tests (Depends-on): Check for alarm.
7981         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
7982         Reported by Bastien ROUCARIES.
7983
7984 2011-03-30  Bruno Haible  <bruno@clisp.org>
7985
7986         c-strcasestr: Relicense under LGPLv2+.
7987         * modules/c-strcasestr (License): Change to LGPLv2+.
7988         Requested by Eric Blake, for libvirt.
7989
7990 2011-03-30  Simon Josefsson  <simon@josefsson.org>
7991
7992         * users.txt: Add libidn2.  Fix libtasn1 link.
7993
7994 2011-03-30  Jim Meyering  <meyering@redhat.com>
7995
7996         tests: readlink* ("",... fails with EINVAL on newer kernels
7997         readlink and readlinkat have typically failed with ENOENT for
7998         the invalid, empty file name,  "".  However, with the advent
7999         of linux-2.6.39, they fail with EINVAL.
8000         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
8001         when operating on the empty file name.
8002         * tests/test-readlink.h (test_readlink): Likewise.
8003
8004 2011-03-29  Bruno Haible  <bruno@clisp.org>
8005
8006         Relicense some modules under LGPLv2+, for libidn2.
8007         * modules/array-mergesort (License): Change to LGPLv2+.
8008         * modules/c-strcaseeq (License): Likewise.
8009         * modules/striconveh (License): Likewise.
8010         * modules/striconveha (License): Likewise.
8011         * modules/uniconv/base (License): Likewise.
8012         * modules/uniconv/u8-conv-from-enc (License): Likewise.
8013         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
8014         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
8015         * modules/unictype/base (License): Likewise.
8016         * modules/unictype/bidiclass-of (License): Likewise.
8017         * modules/unictype/category-M (License): Likewise.
8018         * modules/unictype/category-none (License): Likewise.
8019         * modules/unictype/category-of (License): Likewise.
8020         * modules/unictype/category-test (License): Likewise.
8021         * modules/unictype/category-test-withtable (License): Likewise.
8022         * modules/unictype/combining-class (License): Likewise.
8023         * modules/unictype/joiningtype-of (License): Likewise.
8024         * modules/unictype/scripts (License): Likewise.
8025         * modules/uninorm/base (License): Likewise.
8026         * modules/uninorm/canonical-decomposition (License): Likewise.
8027         * modules/uninorm/composition (License): Likewise.
8028         * modules/uninorm/decompose-internal (License): Likewise.
8029         * modules/uninorm/decomposition-table (License): Likewise.
8030         * modules/uninorm/nfc (License): Likewise.
8031         * modules/uninorm/nfd (License): Likewise.
8032         * modules/uninorm/u32-normalize (License): Likewise.
8033         * modules/unistr/base (License): Likewise.
8034         * modules/unistr/u32-cpy (License): Likewise.
8035         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
8036         * modules/unistr/u32-to-u8 (License): Likewise.
8037         * modules/unistr/u32-uctomb (License): Likewise.
8038         * modules/unistr/u8-check (License): Likewise.
8039         * modules/unistr/u8-mblen (License): Likewise.
8040         * modules/unistr/u8-mbtouc (License): Likewise.
8041         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
8042         * modules/unistr/u8-mbtoucr (License): Likewise.
8043         * modules/unistr/u8-prev (License): Likewise.
8044         * modules/unistr/u8-strlen (License): Likewise.
8045         * modules/unistr/u8-to-u32 (License): Likewise.
8046         * modules/unistr/u8-uctomb (License): Likewise.
8047         * modules/unitypes (License): Likewise.
8048         Requested by Simon Josefsson.
8049
8050 2011-03-29  Simon Josefsson  <simon@josefsson.org>
8051
8052         lib-symbol-visibility: Add a notice.
8053         * modules/lib-symbol-visibility (Notice): New field.
8054
8055 2011-03-29  Bruno Haible  <bruno@clisp.org>
8056
8057         getaddrinfo: Doc fix.
8058         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
8059         section "fixed in Gnulib".
8060
8061 2011-03-28  Simon Josefsson  <simon@josefsson.org>
8062
8063         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
8064         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
8065
8066 2011-03-26  Bruno Haible  <bruno@clisp.org>
8067
8068         unictype/property-byname: Reduce the number of load-time relocations.
8069         * lib/unictype/pr_byname.c: Include <stdlib.h>.
8070         (UC_PROPERTY_INDEX_*): New enumeration values.
8071         (uc_property_byname): Convert an index from the lookup table to an
8072         uc_property_t.
8073         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
8074         values.
8075
8076 2011-03-26  Bruno Haible  <bruno@clisp.org>
8077
8078         unictype/property-byname: Allow omitted word separators and aliases.
8079         * lib/unictype/pr_byname.gperf: Add property names without word
8080         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
8081         for 'space'.
8082
8083 2011-03-26  Bruno Haible  <bruno@clisp.org>
8084
8085         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
8086         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
8087         also hyphens to space.
8088         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
8089         without spaces.
8090         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
8091
8092 2011-03-26  Bruno Haible  <bruno@clisp.org>
8093
8094         unictype/joiningtype-byname: Recognize long names as well.
8095         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
8096         a long name.
8097         * lib/unictype/joiningtype_byname.c: Include <string.h>,
8098         unictype/joiningtype_byname.h.
8099         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
8100         * lib/unictype/joiningtype_byname.gperf: New file.
8101         * modules/unictype/joiningtype-byname (Files): Add
8102         lib/unictype/joiningtype_byname.gperf.
8103         (Depends-on): Add gperf.
8104         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
8105         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
8106         long names.
8107
8108         Tests for module 'unictype/joiningtype-longname'.
8109         * modules/unictype/joiningtype-longname-tests: New file.
8110         * tests/unictype/test-joiningtype_longname.c: New file.
8111
8112         New module 'unictype/joiningtype-longname'.
8113         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
8114         * lib/unictype/joiningtype_longname.c: New file.
8115         * modules/unictype/joiningtype-longname: New file.
8116         * modules/unictype/joiningtype-all (Depends-on): Add
8117         unictype/joiningtype-longname.
8118
8119 2011-03-26  Bruno Haible  <bruno@clisp.org>
8120
8121         unictype/bidiclass-byname: Recognize long names as well.
8122         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
8123         name.
8124         * lib/unictype/bidi_byname.c: Include <string.h>,
8125         unictype/bidi_byname.h.
8126         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
8127         * lib/unictype/bidi_byname.gperf: New file.
8128         * modules/unictype/bidiclass-byname (Files): Add
8129         lib/unictype/bidi_byname.gperf.
8130         (Depends-on): Add gperf.
8131         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
8132         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
8133         long names.
8134
8135         Tests for module 'unictype/bidiclass-longname'.
8136         * modules/unictype/bidiclass-longname-tests: New file.
8137         * tests/unictype/test-bidi_longname.c: New file.
8138
8139         New module 'unictype/bidiclass-longname'.
8140         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
8141         * lib/unictype/bidi_longname.c: New file.
8142         * modules/unictype/bidiclass-longname: New file.
8143         * modules/unictype/bidiclass-all (Depends-on): Add
8144         unictype/bidiclass-longname.
8145
8146 2011-03-26  Bruno Haible  <bruno@clisp.org>
8147
8148         unictype/bidi*: Rename modules.
8149         * modules/unictype/bidiclass-all: Renamed from
8150         modules/unictype/bidicategory-all.
8151         * modules/unictype/bidiclass-name: Renamed from
8152         modules/unictype/bidiclass-name.
8153         (Description): Update.
8154         * modules/unictype/bidiclass-name-tests: Renamed from
8155         modules/unictype/bidicategory-name-tests.
8156         * modules/unictype/bidiclass-byname: Renamed from
8157         modules/unictype/bidicategory-byname.
8158         (Description): Update.
8159         * modules/unictype/bidiclass-byname-tests: Renamed from
8160         modules/unictype/bidicategory-byname-tests.
8161         * modules/unictype/bidiclass-of: Renamed from
8162         modules/unictype/bidicategory-of.
8163         (Description): Update.
8164         * modules/unictype/bidiclass-of-tests: Renamed from
8165         modules/unictype/bidicategory-of-tests.
8166         * modules/unictype/bidiclass-test: Renamed from
8167         modules/unictype/bidicategory-test.
8168         (Description): Update.
8169         * modules/unictype/bidiclass-test-tests: Renamed from
8170         modules/unictype/bidicategory-test-tests.
8171         * modules/unictype/bidicategory-all: New file, a simple redirection.
8172         * modules/unictype/bidicategory-name: Likewise.
8173         * modules/unictype/bidicategory-byname: Likewise.
8174         * modules/unictype/bidicategory-of: Likewise.
8175         * modules/unictype/bidicategory-test: Likewise.
8176         * modules/unictype/property-bidi-* (Dependencies): Update.
8177         * lib/unictype/bidi_*.c: Update comment.
8178
8179 2011-03-26  Bruno Haible  <bruno@clisp.org>
8180
8181         unictype/bidi*: Rename functions, part 2.
8182         * modules/unictype/bidicategory-name (configure.ac): Update required
8183         libunistring version.
8184         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
8185
8186 2011-03-25  Bruno Haible  <bruno@clisp.org>
8187
8188         New module 'unictype/combining-class-all'.
8189         * modules/unictype/combining-class-all: New file.
8190
8191         Tests for module 'unictype/combining-class-byname'.
8192         * modules/unictype/combining-class-byname-tests: New file.
8193         * tests/unictype/test-combiningclass_byname.c: New file.
8194
8195         New module 'unictype/combining-class-byname'.
8196         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
8197         * lib/unictype/combiningclass_byname.c: New file.
8198         * lib/unictype/combiningclass_byname.gperf: New file.
8199         * modules/unictype/combining-class-byname: New file.
8200
8201         Tests for module 'unictype/combining-class-longname'.
8202         * modules/unictype/combining-class-longname-tests: New file.
8203         * tests/unictype/test-combiningclass_longname.c: New file.
8204
8205         New module 'unictype/combining-class-longname'.
8206         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
8207         * lib/unictype/combiningclass_longname.c: New file.
8208         * modules/unictype/combining-class-longname: New file.
8209
8210         Tests for module 'unictype/combining-class-name'.
8211         * modules/unictype/combining-class-name-tests: New file.
8212         * tests/unictype/test-combiningclass_name.c: New file.
8213
8214         New module 'unictype/combining-class-name'.
8215         * lib/unictype.in.h (uc_combining_class_name): New declaration.
8216         * lib/unictype/combiningclass_name.c: New file.
8217         * modules/unictype/combining-class-name: New file.
8218
8219 2011-03-25  Bruno Haible  <bruno@clisp.org>
8220
8221         unictype/combining-class: Rename source files.
8222         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
8223         of unictype/combining.h.
8224         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
8225         Update.
8226         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
8227         * modules/unictype/combining-class (Description): Fix.
8228         (Files, Makefile.am): Update.
8229         * tests/unictype/test-combiningclass.c: Renamed from
8230         tests/unictype/test-combining.c.
8231         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
8232
8233 2011-03-25  Bruno Haible  <bruno@clisp.org>
8234
8235         unictype: Update list of canonical combining classes.
8236         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
8237
8238 2011-03-25  Bruno Haible  <bruno@clisp.org>
8239
8240         unictype/category-byname: Recognize long names as well.
8241         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
8242         a long name.
8243         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
8244         unictype/categ_byname.h.
8245         (UC_CATEGORY_INDEX_*): New enumeration values.
8246         (uc_general_category_byname): Use uc_general_category_lookup and
8247         convert from index to value.
8248         * lib/unictype/categ_byname.gperf: New file.
8249         * modules/unictype/category-byname (Files): Add
8250         lib/unictype/categ_byname.gperf.
8251         (Depends-on): Add gperf.
8252         (Makefile.am): Add rule for generating unictype/categ_byname.h.
8253         * tests/unictype/test-categ_byname.c (main): Test the recognition of
8254         long names.
8255
8256         Tests for module 'unictype/category-longname'.
8257         * modules/unictype/category-longname-tests: New file.
8258         * tests/unictype/test-categ_longname.c: New file.
8259
8260         New module 'unictype/category-longname'.
8261         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
8262         * lib/unictype/categ_longname.c: New file.
8263         * modules/unictype/category-longname: New file.
8264         * modules/unictype/category-all (Depends-on): Add it.
8265
8266 2011-03-25  Bruno Haible  <bruno@clisp.org>
8267
8268         Tests for module 'unictype/category-LC'.
8269         * modules/unictype/category-LC-tests: New file.
8270         * tests/unictype/test-categ_LC.c: New file, automatically generated.
8271
8272         New module 'unictype/category-LC'.
8273         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
8274         (UC_CATEGORY_LC): New declaration.
8275         (UC_CASED_LETTER): New macro.
8276         * lib/gen-uni-tables.c (is_category_LC): New function.
8277         (output_categories): Also handle category LC.
8278         (UC_CATEGORY_MASK_LC): New enumeration value.
8279         (general_category_byname): Also handle category LC.
8280         * lib/unictype/categ_LC.c: New file.
8281         * lib/unictype/categ_LC.h: New file, automatically generated.
8282         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
8283         category LC.
8284         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
8285         * modules/unictype/category-LC: New file.
8286         * modules/unictype/category-byname (Depends-on): Add
8287         unictype/category-LC.
8288         * modules/unictype/category-all (Depends-on): Likewise.
8289
8290 2011-03-25  Eric Blake  <eblake@redhat.com>
8291
8292         xmalloc: revert yesterday's regression
8293         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
8294         realloc's underlying behavior (allowing allocation of zero-size
8295         objects, especially if malloc-gnu is also in use).
8296
8297 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
8298
8299         maint.mk: add missing version to VC-tag
8300         * top/maint.mk: git tag was missing actual tag name; add it.
8301
8302         valgrind: do leak checking, and exit with code 1 on error (not 0)
8303         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
8304         to VALGRIND.
8305
8306 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
8307
8308         posix-modules: say what it does.
8309         * posix-modules: Add a line to the --help output saying what it does.
8310
8311 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
8312
8313         xmalloc: Do not leak if underlying realloc is C99 compatible.
8314         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
8315         This avoids a leak on C99-based systems.  See
8316         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
8317
8318 2011-03-24  Eric Blake  <eblake@redhat.com>
8319
8320         realloc: document portability problem
8321         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
8322         passing 0 size to realloc.
8323
8324 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
8325
8326         doc: update users.txt
8327         * users.txt: Add cvsps, tmpwatch
8328
8329 2011-03-23  Matt Rice  <ratmice@gmail.com>
8330
8331         doc: update users.txt
8332         * users.txt: Add gdb.
8333
8334 2011-03-23  Jim Meyering  <meyering@redhat.com>
8335
8336         doc: update users.txt
8337         Looking through matches up to the following URL (there are still
8338         several more pages), I found several projects that use gnulib:
8339         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
8340         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
8341         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
8342
8343 2011-03-22  Bruno Haible  <bruno@clisp.org>
8344
8345         unictype/bidi*: Rename functions.
8346         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
8347         uc_bidi_class, uc_is_bidi_class): New declarations.
8348         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
8349         uc_bidi_category_byname.
8350         (uc_bidi_category_byname): New function.
8351         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
8352         u_bidi_category_name.
8353         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
8354         (uc_bidi_category_name): New function.
8355         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
8356         uc_bidi_category.
8357         (uc_bidi_category): New function.
8358         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
8359         uc_is_bidi_category. Invoke uc_bidi_class.
8360         (uc_is_bidi_category): New function.
8361         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
8362         instead of uc_bidi_category_byname.
8363         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
8364         instead of uc_bidi_category_name.
8365         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
8366         uc_bidi_category.
8367         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
8368         instead of uc_is_bidi_category.
8369
8370 2011-03-21  Bruno Haible  <bruno@clisp.org>
8371
8372         New module 'unictype/joininggroup-all'.
8373         * modules/unictype/joininggroup-all: New file.
8374
8375         Tests for module 'unictype/joininggroup-of'.
8376         * modules/unictype/joininggroup-of-tests: New file.
8377         * tests/unictype/test-joininggroup_of.c: New file.
8378         * tests/unictype/test-joininggroup_of.h: New file, automatically
8379         generated by gen-uni-tables.
8380
8381         New module 'unictype/joininggroup-of'.
8382         * modules/unictype/joininggroup-of: New file.
8383         * lib/unictype/joininggroup_of.c: New file.
8384         * lib/unictype/joininggroup_of.h: New file, automatically generated by
8385         gen-uni-tables.
8386
8387         Tests for module 'unictype/joininggroup-byname'.
8388         * modules/unictype/joininggroup-byname-tests: New file.
8389         * tests/unictype/test-joininggroup_byname.c: New file.
8390
8391         New module 'unictype/joininggroup-byname'.
8392         * modules/unictype/joininggroup-byname: New file.
8393         * lib/unictype/joininggroup_byname.c: New file.
8394         * lib/unictype/joininggroup_byname.gperf: New file.
8395
8396         Tests for module 'unictype/joininggroup-name'.
8397         * modules/unictype/joininggroup-name-tests: New file.
8398         * tests/unictype/test-joininggroup_name.c: New file.
8399
8400         New module 'unictype/joininggroup-name'.
8401         * modules/unictype/joininggroup-name: New file.
8402         * lib/unictype/joininggroup_name.c: New file.
8403         * lib/unictype/joininggroup_name.h: New file.
8404
8405         New module 'unictype/joiningtype-all'.
8406         * modules/unictype/joiningtype-all: New file.
8407
8408         Tests for module 'unictype/joiningtype-of'.
8409         * modules/unictype/joiningtype-of-tests: New file.
8410         * tests/unictype/test-joiningtype_of.c: New file.
8411         * tests/unictype/test-joiningtype_of.h: New file, automatically
8412         generated by gen-uni-tables.
8413
8414         New module 'unictype/joiningtype-of'.
8415         * modules/unictype/joiningtype-of: New file.
8416         * lib/unictype/joiningtype_of.c: New file.
8417         * lib/unictype/joiningtype_of.h: New file, automatically generated by
8418         gen-uni-tables.
8419
8420         Tests for module 'unictype/joiningtype-byname'.
8421         * modules/unictype/joiningtype-byname-tests: New file.
8422         * tests/unictype/test-joiningtype_byname.c: New file.
8423
8424         New module 'unictype/joiningtype-byname'.
8425         * modules/unictype/joiningtype-byname: New file.
8426         * lib/unictype/joiningtype_byname.c: New file.
8427
8428         Tests for module 'unictype/joiningtype-name'.
8429         * modules/unictype/joiningtype-name-tests: New file.
8430         * tests/unictype/test-joiningtype_name.c: New file.
8431
8432         New module 'unictype/joiningtype-name'.
8433         * modules/unictype/joiningtype-name: New file.
8434         * lib/unictype/joiningtype_name.c: New file.
8435
8436         unictype: Add support for Arabic shaping properties.
8437         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
8438         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
8439         declarations.
8440         (UC_JOINING_GROUP_*): New enumeration values.
8441         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
8442         declarations.
8443         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
8444         (unicode_joining_type): New variable.
8445         (UC_JOINING_GROUP_*): New enumeration values.
8446         (unicode_joining_group): New variable.
8447         (fill_arabicshaping, joining_type_as_c_identifier,
8448         output_joining_type_test, output_joining_type,
8449         joining_group_as_c_identifier, output_joining_group_test,
8450         output_joining_group): New functions.
8451         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
8452         fill_arabicshaping and output_joining_type_test, output_joining_type,
8453         output_joining_group_test, output_joining_group.
8454         Reported by Simon Josefsson.
8455
8456 2011-03-21  Jim Meyering  <meyering@redhat.com>
8457
8458         strftime: fix a bug in yesterday's change
8459         * lib/strftime.c (add): Accommodate width's initial value of -1.
8460         Otherwise, nstrftime would copy uninitialized data into
8461         the result buffer.
8462
8463 2011-03-21  Jim Meyering  <meyering@redhat.com>
8464
8465         tests: add strftime-tests module
8466         * tests/test-strftime.c: New file.
8467         * modules/strftime-tests: New module.
8468
8469 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
8470
8471         strftime: don't assume a byte count fits in 'int'
8472         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
8473         found this problem by static analysis, using gcc -Wstrict-overflow
8474         (GCC 4.5.2, x86-64).  This reported an optimization that depended
8475         on an integer overflow having undefined behavior, but it turns out
8476         that the argument is a size, which might not fit in 'int' anyway,
8477
8478 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
8479
8480         stdio: don't require ignore_value around fwrite
8481
8482         This patch works around libc bug 11959
8483         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
8484         Without this patch, applications must often write
8485         ignore_value (fwrite (...)) even though the ignore_value is
8486         not helpful here.  It's common to write many objects, using
8487         fwrite/printf/etc., and then use ferror to detect output error.
8488
8489         I considered making this patch optional, but decided against it,
8490         because libc is obviously being inconsistent here: there is no
8491         reason libc should insist that user code must inspect fwrite
8492         return's value without also insisting that it inspect printf's,
8493         putchar's, etc.  If user code wants to have a strict style where
8494         all these functions' values are checked (so that ferror need not
8495         be checked), we could add support for that style in a new gnulib
8496         module, but in the meantime it's better to be consistent and to
8497         support common usage.
8498
8499         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
8500         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
8501         that we are compiling in checking mode, and if not C++, and
8502         if not already wrapping fwrite for some other reason.
8503         (fwrite): #define to rpl_fwrite if the latter is defined.
8504
8505 2011-03-20  Bruno Haible  <bruno@clisp.org>
8506
8507         verror: Fix compilation error introduced on 2011-02-13.
8508         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
8509         instead of __attribute__.
8510         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8511
8512 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
8513             Bruno Haible  <bruno@clisp.org>
8514
8515         socklen: do not depend on sys_socket
8516         While trying to modify Emacs to use gnulib's socklen module,
8517         I discovered a circular dependency: socklen depends on sys_socket
8518         and vice versa.  Emacs can use socklen, but it does not need
8519         sys_socket because it has its own substitute for sys/socket.h.
8520         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
8521         gl_TYPE_SOCKLEN_T.
8522         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
8523         gl_PREREQ_SYS_H_SOCKET.
8524         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
8525         gl_PREREQ_SYS_H_SOCKET.
8526         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
8527         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
8528         * modules/socklen (Depends-on): Do not depend on sys_socket.
8529         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
8530
8531 2011-03-20  Jim Meyering  <meyering@redhat.com>
8532
8533         maint.mk: sort file names *after* new transformation
8534         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
8535         prefix would have led to an unwarranted failure in GNU parted.
8536         Sort after that transformation.
8537
8538 2011-03-19  Jim Meyering  <meyering@redhat.com>
8539
8540         maint.mk: fix po-file syntax-check rule
8541         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
8542         Patch by Bruno Haible.
8543
8544 2011-03-19  Bruno Haible  <bruno@clisp.org>
8545
8546         socklen: Update comment.
8547         * m4/socklen.m4: Update comment about platforms.
8548
8549 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8550             Bruno Haible  <bruno@clisp.org>
8551
8552         inet_ntop, inet_pton: Simplify.
8553         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
8554         documented to provide socklen_t and we already depend on sys_socket.
8555         * modules/inet_pton (Depends-on): Likewise.
8556         * lib/arpa_inet.in.h: Adjust comment.
8557
8558 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8559             Bruno Haible  <bruno@clisp.org>
8560
8561         netdb: Simplify.
8562         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
8563         documented to provide socklen_t and we already depend on sys_socket.
8564         * lib/netdb.in.h: Adjust comment.
8565
8566 2011-03-19  Bruno Haible  <bruno@clisp.org>
8567
8568         sys_socket, netdb: Document problem with socklen_t.
8569         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
8570         platforms.
8571         * doc/posix-headers/netdb.texi: Likewise.
8572
8573 2011-03-18  Eric Blake  <eblake@redhat.com>
8574
8575         maint.mk: let po check work in VPATH build
8576         * top/maint.mk (po_file): Allow cfg.mk override.
8577         (sc_po_check): Allow VPATH use.
8578         Reported by Jiri Denemark.
8579
8580 2011-03-16  Jim Meyering  <meyering@redhat.com>
8581
8582         maint.mk: allow fine-grained syntax-check exclusion via Make variables
8583         Before, you would have had to create one .x-sc_ file per rule in order
8584         to exempt offending files.  Now, you may instead use a Make variable --
8585         usually defined in cfg.mk -- whose name identifies the affected rule.
8586         * top/maint.mk (_sc_excl): Define.
8587         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
8588         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
8589
8590 2011-03-13  Bruno Haible  <bruno@clisp.org>
8591
8592         ignore-value tests: Avoid warnings.
8593         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
8594         empty for gcc < 3.4.
8595
8596 2011-03-13  Bruno Haible  <bruno@clisp.org>
8597
8598         passfd: Fix link error on Solaris.
8599         * modules/passfd (Description): Correct.
8600         (Depends-on): Add socketlib.
8601         (Link): New section.
8602         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
8603
8604 2011-03-13  Bruno Haible  <bruno@clisp.org>
8605
8606         passfd: Fix link error on AIX 5.2.
8607         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
8608
8609 2011-03-13  Bruno Haible  <bruno@clisp.org>
8610
8611         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
8612         * lib/sys_socket.in.h: Include <stddef.h>.
8613         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
8614         CMSG_FIRSTHDR. Remove unused variable.
8615
8616 2011-03-13  Bruno Haible  <bruno@clisp.org>
8617
8618         passfd: Fix compilation error on OpenBSD.
8619         * lib/passfd.c: Include <sys/uio.h>.
8620
8621 2011-03-13  Bruno Haible  <bruno@clisp.org>
8622
8623         passfd test: Fix warnings.
8624         * tests/test-passfd.c: Include <sys/wait.h>.
8625         (main): Fix typo.
8626
8627 2011-03-13  Bruno Haible  <bruno@clisp.org>
8628
8629         passfd module, part 4, tweaks.
8630         * tests/test-passfd.c: Reorder includes.
8631         (main): Fix perror and printf calls.
8632
8633 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
8634
8635         passfd module, part 4.
8636         * modules/passfd-tests: New file.
8637         * tests/test-passfd.c: New file.
8638
8639 2011-03-13  Jim Meyering  <meyering@redhat.com>
8640
8641         Makefile: rely on GNU make; derive syntax-check rule names
8642         Rather than requiring that each sc_ rule be listed as a dependent
8643         of "check", use features of GNU make to derive the list.
8644         * Makefile (syntax-check-rules): Define.
8645         (check): Depend on the new variable, not the hard-coded list.
8646
8647 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
8648             Bruno Haible  <bruno@clisp.org>
8649
8650         passfd module, part 3.
8651         * lib/passfd.h (recvfd): Add a flags argument.
8652         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
8653         (recvfd): Add a flags argument.
8654         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
8655         exists.
8656         * modules/passfd (Depends-on): Add cloexec.
8657         Suggested by Eric Blake.
8658
8659 2011-03-13  Bruno Haible  <bruno@clisp.org>
8660
8661         passfd module, part 2, tweaks.
8662         * modules/passfd (Files): Reorder.
8663         (Depends-on): Remove errno.
8664         (Include): Remove <sys/socket.h>, <sys/un.h>.
8665         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
8666         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
8667         specification header. Include <sys/socket.h> always. Don't include
8668         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
8669         (sendfd): Clarify that it sets errno when it fails.
8670         (recvfd): Fix specification.
8671
8672 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
8673
8674         passfd module, part 2.
8675         * modules/passfd: New file.
8676         * lib/passfd.h: New file.
8677         * lib/passfd.c: New file.
8678
8679 2011-03-12  Bruno Haible  <bruno@clisp.org>
8680
8681         wcswidth, mbswidth: Avoid integer overflow.
8682         * lib/wcswidth.c: Include <limits.h>.
8683         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
8684         * lib/mbswidth.c: Include <limits.h>.
8685         (mbsnwidth): Avoid 'int' overflow.
8686         Reported by Jim Meyering.
8687
8688 2011-03-12  Bruno Haible  <bruno@clisp.org>
8689
8690         futimens, utimensat: Avoid endless recursion on Solaris 10.
8691         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
8692         Solaris.
8693         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
8694         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
8695
8696 2011-03-11  Jim Meyering  <meyering@redhat.com>
8697
8698         maint.mk: relax a regexp to accommodate other formatting styles
8699         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
8700         between "ngettext" and the following "(".
8701
8702 2011-03-11  Pádraig Brady <P@draigBrady.com>
8703
8704         maint.mk: suppress a false positive warning
8705         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
8706         diagnostics are marked with ngettext.
8707
8708 2011-03-10  Eric Blake  <eblake@redhat.com>
8709
8710         wchar: add explicit dependencies, for Tru64
8711         * modules/mbmemcasecoll (Depends-on): Add wchar.
8712         * modules/mbtowc (Depends-on): Likewise.
8713         * modules/vasnprintf (Depends-on): Likewise.
8714         * modules/unistdio/u-printf-args (Depends-on): Likewise.
8715         * modules/wctomb (Depends-on): Likewise.
8716         Reported by Peter O'Gorman.
8717
8718 2011-03-08  Bruno Haible  <bruno@clisp.org>
8719
8720         passfd module, part 1, tweaks.
8721         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
8722         Improve indentation. Improve AC_MSG_CHECKING messages.
8723         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
8724         gl_SOCKET_FAMILIES.
8725
8726 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
8727
8728         passfd module, part 1.
8729         * m4/afunix.m4: New file.
8730         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
8731         sockets.
8732
8733 2011-03-08  Bruno Haible  <bruno@clisp.org>
8734
8735         regex-quote: New API.
8736         * lib/regex-quote.h: Include <stdbool.h>.
8737         (struct regex_quote_spec): New type.
8738         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
8739         New declarations.
8740         (regex_quote_length, regex_quote_copy, regex_quote): Take a
8741         'const struct regex_quote_spec *' argument.
8742         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
8743         (pcre_special): New constant.
8744         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
8745         New functions.
8746         (regex_quote_length, regex_quote_copy, regex_quote): Take a
8747         'const struct regex_quote_spec *' argument.
8748         * modules/regex-quote (Depends-on): Add stdbool.
8749         * tests/test-regex-quote.c (check): Update for new API. Add test for
8750         anchored results.
8751         * NEWS: Mention the API change.
8752         Reported by Reuben Thomas and Eric Blake.
8753
8754 2011-03-06  Bruno Haible  <bruno@clisp.org>
8755
8756         regex-quote: Fix creation of POSIX extended regular expressions.
8757         * lib/regex-quote.c (ere_special): Add grouping and alternation
8758         operators.
8759
8760 2011-03-05  Bruno Haible  <bruno@clisp.org>
8761
8762         doc: Improve doc regarding autopoint vs. gnulib.
8763         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
8764         disable autopoint while running autoreconf.
8765         Suggested by Ralf Wildenhues.
8766
8767 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8768
8769         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
8770         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
8771
8772 2011-03-03  Bruce Korb  <bkorb@gnu.org>
8773
8774         parse-duration: remove xalloc.h dependency
8775         * lib/parse-duration.c (parse_period): handle NULL return from
8776         strdup instead of calling xstrdup().
8777         * modules/parse-duration: remove "xalloc" dependency
8778
8779 2011-03-03  Matthew Booth  <mbooth@redhat.com>
8780
8781         bootstrap: honor m4_base when running aclocal
8782         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
8783
8784 2011-03-02  Jim Meyering  <meyering@redhat.com>
8785
8786         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
8787         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
8788         on request from Matt Booth.
8789
8790 2011-03-01  Eric Blake  <eblake@redhat.com>
8791
8792         test-link: work on Hurd
8793         * tests/test-link.h (test_link): Hurd rejects linking directories
8794         with EISDIR instead of the POSIX-mandated EPERM.
8795
8796 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
8797
8798         stdio: simplify by moving files to printf-posix, sigpipe
8799         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
8800         since this symbol is needed only if printf is replaced.
8801         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
8802         Require gl_ASM_SYMBOL_PREFIX.
8803         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
8804         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
8805         (Depends-on): Add 'raise'.
8806         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
8807         * modules/stdio (Files): Remove lib/stdio-write.c,
8808         m4/asm-underscore.m4.
8809         (Depends-on): Remove 'raise'.
8810
8811         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
8812         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
8813         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
8814         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
8815
8816 2011-02-28  Bruno Haible  <bruno@clisp.org>
8817
8818         localcharset: Assume ANSI C behaviour of free().
8819         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
8820         calling free().
8821         Suggested by Simon Josefsson <simon@josefsson.org>.
8822
8823 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
8824             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
8825             Bruno Haible  <bruno@clisp.org>  (tiny change)
8826
8827         On Cygwin, use /proc file system instead of win32 API.
8828         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
8829         Win32 file names.
8830         (DllMain): Simplify by removing Cygwin specific code.
8831         (find_shared_library_fullname): Use Linux specific implementation also
8832         for Cygwin.
8833         (get_shared_library_fullname): Update accordingly.
8834         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
8835         Win32 file names.
8836         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
8837         Cygwin specific code.
8838
8839 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
8840             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
8841
8842         Fix OpenMP flag detection for various Fortran compilers.
8843         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
8844         OpenMP-conditional compilation construct, to force compile
8845         failure with missing OpenMP flag.
8846         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
8847
8848 2011-02-25  Eric Blake  <eblake@redhat.com>
8849
8850         strstr: expand test coverage
8851         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
8852         compilation.
8853         * tests/test-memmem.c (main): Duplicate tests.
8854         * tests/test-strcasestr.c (main): Likewise.
8855         * tests/test-c-strcasestr.c (main): Likewise.
8856
8857 2011-02-25  Jim Meyering  <meyering@redhat.com>
8858
8859         maint.mk: detect missing-NL-at-EOF, too
8860         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
8861         it also detects when a file lacks a newline at EOF.
8862         (require_exactly_one_NL_at_EOF_): Renamed from
8863         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
8864         since people may well have .x-sc_... file names tied to the
8865         existing name.  Suggested by Eric Blake.
8866
8867 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
8868
8869         dirname: move m4/dos.m4 functionality into lib/dosname.h
8870
8871         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
8872         extracts symbols from it, puts them into config.h; but it's much
8873         easier to use the symbols directly.  filename.h already does this,
8874         but it disagrees with dos.m4 in some respects.  This patch
8875         introduces a different include file dosname.h that packages up
8876         dos.m4, and then later we can work on merging filename.h and
8877         dosname.h.  Applications that need only the easy-to-configure
8878         symbols should consider including dosname.h rather than dirname.h.
8879         * NEWS: Mention incompatible changes.
8880         * m4/dos.m4: Remove.
8881         * lib/dosname.h, modules/dosname: New files.
8882         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
8883         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
8884         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
8885         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
8886         Include dosname.h, not dirname.h.
8887         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
8888         Include dosname.h, for definitions of symbols like ISSLASH
8889         that used to be in config.h.
8890         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
8891         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
8892         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8893         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
8894         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
8895         * modules/rmdir (Files): Likewise.
8896         * modules/stat (Files): Likewise.
8897         * modules/unlink (Files): Likewise.
8898         * modules/dirname-lgpl (Depends-on): Add dosname.
8899         * modules/lstat (Depends-on): Likewise.
8900         * modules/openat (Depends-on): Likewise.
8901         * modules/rmdir (Depends-on): Likewise.
8902         * modules/savewd (Depends-on): Likewise.
8903         * modules/stat (Depends-on): Likewise.
8904         * modules/unlink (Depends-on): Likewise.
8905         * modules/openat (Depends-on): Remove dirname-lgpl.
8906         * modules/savewd (Depends-on): Likewise.
8907         * tests/test-dirname.c: Do not use removed symbols like
8908         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
8909         the remaining symbols, e.g., ISSLASH ('\\').
8910
8911 2011-02-25  Eric Blake  <eblake@redhat.com>
8912
8913         strstr: revert patches that introduced bug and pessimization
8914         * lib/str-two-way.h: Add another reference.
8915         (two_way_short_needle, two_way_long_needle): Revert changes from
8916         2011-02-24; they pessimize search speed.
8917         (critical_factorization): Partially revert changes from
8918         2010-06-22; they violate the requirement that the left half of the
8919         needle be smaller than the period of the needle.
8920
8921 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8922
8923         filenamecat: remove unnecessary dependency on dirname-lgpl
8924         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
8925         is no direct dependency, just an indirect one via filenamecat-lgpl.
8926
8927         remove: remove unnecessary use of m4/dos.m4
8928         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
8929         * modules/remove (FILES): Remove m4/dos.m4.
8930
8931         * lib/openat-proc.c: Don't include dirname.h; not needed.
8932
8933         backupfile: remove unnecessary use of m4/dos.m4
8934         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
8935         of its symbols are used by the backupfile code.  backupfile.c does
8936         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
8937         for the rare case of programs that want all their backup file
8938         names to live within 8+3 limits, and dos.m4 doesn't address that.
8939         * modules/backupfile (Files): Remove m4/dos.m4.
8940
8941 2011-02-24  Jim Meyering  <meyering@redhat.com>
8942
8943         strstr: fix a bug whereby strstr would mistakenly return NULL
8944         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
8945         in period calculation.
8946         (two_way_long_needle): Likewise.
8947         The original problem was reported by Mike Stump in
8948         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
8949         Ralf Wildenhues provided the short needle and haystack.
8950         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
8951         Add a more involved test to trigger the bug in two_way_long_needle.
8952
8953 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
8954
8955         gnulib-tool: remove use of bold display in help screen
8956         * gnulib-tool (func_usage): Do not use bold display anymore in the
8957         help screen.  That was just meant to be a temporary emphasis for a
8958         backward-incompatible change.
8959
8960 2011-02-23  Bruno Haible  <bruno@clisp.org>
8961
8962         Fix misindentation of preprocessor directives.
8963         * lib/argp-namefrob.h: Reindent preprocessor directives.
8964         * lib/getopt_int.h (struct _getopt_data): Likewise.
8965         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
8966         * lib/vasnprintf.c (decode_long_double): Likewise.
8967         * tests/test-argmatch.c: Insert blank lines, for clarity.
8968         * tests/test-exclude.c: Likewise.
8969
8970 2011-02-22  Bruno Haible  <bruno@clisp.org>
8971
8972         ioctl: Fix for MacOS X in 64-bit mode.
8973         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
8974         value.
8975         Suggested by Eric Blake.
8976         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
8977
8978 2011-02-22  Jim Meyering  <meyering@redhat.com>
8979
8980         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
8981         * Makefile (sc_cpp_indent_check): Don't limit the check to files
8982         in lib/.
8983
8984 2011-02-22  Eric Blake  <eblake@redhat.com>
8985
8986         maint: avoid any CDPATH issue
8987         * Makefile (sc_cpp_indent_check): Anchor cd argument.
8988
8989         maint: adjust cpp indentation for my modules, as well
8990         * Makefile (sc_cpp_indent_check): Add my name.
8991         * lib/fbufmode.c: Filter through cppi.
8992         * lib/fpurge.c: Likewise.
8993         * lib/freadable.c: Likewise.
8994         * lib/freading.c: Likewise.
8995         * lib/fwritable.c: Likewise.
8996         * lib/fwriting.c: Likewise.
8997         * lib/sigaction.c: Likewise.
8998
8999 2011-02-22  Jim Meyering  <meyering@redhat.com>
9000
9001         maint: adjust cpp indentation to reflect nesting depth
9002         I.e., in a block of code that begins with an unnested "#if",
9003         put one space between the "#" in column 1 and following token.
9004         For example,
9005         -#include <sys/vfs.h>
9006         +# include <sys/vfs.h>
9007         Do this only in .c files that are part of a module I maintain.
9008         * lib/linkat.c: Filter through cppi.
9009         * lib/nanosleep.c: Likewise.
9010         * lib/openat.c: Likewise.
9011         * lib/openat-die.c: Likewise.
9012         * lib/dup3.c: Likewise.
9013         * lib/fchownat.c: Likewise.
9014         * lib/flock.c: Likewise.
9015         * lib/fsync.c: Likewise.
9016         * lib/fts.c: Likewise.
9017         * lib/getpass.c: Likewise.
9018         * lib/gettimeofday.c: Likewise.
9019         * lib/userspec.c: Likewise.
9020         * Makefile (sc_cpp_indent_check): New rule, to check this.
9021
9022 2011-02-22  Bruno Haible  <bruno@clisp.org>
9023
9024         New module 'wctomb'.
9025         * lib/stdlib.in.h (wctomb): New declaration.
9026         * lib/wctomb.c: New file.
9027         * lib/wctomb-impl.h: New file.
9028         * m4/wctomb.m4: New file.
9029         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
9030         REPLACE_WCTOMB.
9031         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
9032         REPLACE_WCTOMB.
9033         * modules/wctomb: New file.
9034         * tests/test-stdlib-c++.cc: Test signature of wctomb.
9035         * doc/posix-functions/wctomb.texi: Mention the new module.
9036         * modules/wctob (Depends-on): Add wctomb.
9037
9038 2011-02-22  Bruno Haible  <bruno@clisp.org>
9039
9040         New module 'mbtowc'.
9041         * lib/stdlib.in.h (mbtowc): New declaration.
9042         * lib/mbtowc.c: New file.
9043         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
9044         * m4/mbtowc.m4: New file.
9045         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
9046         REPLACE_MBTOWC.
9047         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
9048         REPLACE_MBTOWC.
9049         * modules/mbtowc: New file.
9050         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
9051         * doc/posix-functions/mbtowc.texi: Mention the new module.
9052         * modules/btowc (Depends-on): Add mbtowc.
9053
9054 2011-02-22  Bruno Haible  <bruno@clisp.org>
9055
9056         wcrtomb: Add more tests for native Windows platforms.
9057         * tests/test-wcrtomb-w32-1.sh: New file.
9058         * tests/test-wcrtomb-w32-2.sh: New file.
9059         * tests/test-wcrtomb-w32-3.sh: New file.
9060         * tests/test-wcrtomb-w32-4.sh: New file.
9061         * tests/test-wcrtomb-w32-5.sh: New file.
9062         * tests/test-wcrtomb-w32.c: New file.
9063         * modules/wcrtomb-tests (Files): Add them.
9064         (Makefile.am): Arrange to run these tests.
9065         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
9066         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
9067
9068 2011-02-20  Bruno Haible  <bruno@clisp.org>
9069
9070         wcrtomb: Enhance test.
9071         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
9072
9073 2011-02-20  Bruno Haible  <bruno@clisp.org>
9074
9075         mbrtowc: Tiny optimization.
9076         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
9077
9078 2011-02-20  Jim Meyering  <meyering@redhat.com>
9079
9080         test-exclude.c: remove unmatched #endif
9081         * tests/test-exclude.c: Remove stray #endif, left over from
9082         the change of a week ago.
9083
9084 2011-02-19  Jim Meyering  <meyering@redhat.com>
9085
9086         git-version-gen: skip "-dirty" check when appropriate
9087         * build-aux/git-version-gen: Don't run any git commands when the
9088         version string comes from .tarball-version.  Prior to this, we
9089         would run git update-index --refresh even from a just-unpacked
9090         tarball directory, and that could affect a .git/ directory in a
9091         parent of the build directory.  Reported by Mike Frysinger.
9092
9093 2011-02-19  Bruno Haible  <bruno@clisp.org>
9094
9095         unictype/property-byname: Reduce the size of the 'data' segment.
9096         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
9097
9098 2011-02-19  Bruno Haible  <bruno@clisp.org>
9099
9100         unictype/scripts: Reduce the size of the 'data' segment.
9101         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
9102         '%pic'.
9103         * lib/unictype/scripts_byname.gperf: Regenerated.
9104
9105 2011-02-19  Bruno Haible  <bruno@clisp.org>
9106
9107         stdint: Update documentation.
9108         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
9109
9110 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
9111
9112         stdint: omit redundant check for wchar.h
9113         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
9114         always tests whether wchar.h exists, so remove the now-redundant test.
9115
9116 2011-02-18  Bruno Haible  <bruno@clisp.org>
9117
9118         stdint: Cut dependency to module 'wchar'.
9119         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
9120         include the necessary prerequisites.
9121         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
9122         * modules/stdint (Depends-on): Remove wchar.
9123         (Makefile.am): Substitute HAVE_WCHAR_H.
9124         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
9125
9126 2011-02-18  Eric Blake  <eblake@redhat.com>
9127
9128         longlong: skip, rather than fail, on cross-compilation
9129         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
9130         when cross-compiling; regression from 2011-02-16.
9131
9132 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
9133
9134         * NEWS: Mention 2011-02-08 change to stdlib.
9135
9136 2011-02-17  Bruno Haible  <bruno@clisp.org>
9137
9138         getloadavg: Add comments about platforms.
9139         * m4/getloadavg.m4: Add comment.
9140         * lib/getloadavg.c: Likewise.
9141
9142 2011-02-17  Bruno Haible  <bruno@clisp.org>
9143
9144         getloadavg: Fix link error on Solaris 2.6.
9145         * modules/getloadavg (Link): New section.
9146         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
9147         linking test-getloadavg.
9148         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
9149         getloadavg.
9150
9151 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
9152
9153         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
9154         It was 'int', but this doesn't match the IRIX 6.5 manual.
9155         Suggested by Bruno Haible in
9156         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
9157
9158 2011-02-17  Bruno Haible  <bruno@clisp.org>
9159
9160         havelib: Fix comments.
9161         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
9162         change.
9163
9164 2011-02-17  Bruno Haible  <bruno@clisp.org>
9165
9166         havelib: Update config.rpath.
9167         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
9168
9169 2011-02-17  Bruno Haible  <bruno@clisp.org>
9170
9171         getloadavg test: Add some plausibility checks.
9172         * tests/test-getloadavg.c (check_avg): Print a warning when the value
9173         is improbable.
9174
9175 2011-02-16  Eric Blake  <eblake@redhat.com>
9176
9177         maintainer-makefile: make syntax-check a no-op from tarballs
9178         * top/maint.mk (no-vc-detected): New rule.
9179         (local-checks-available): Use it to avoid hanging if someone tries
9180         'make syntax-check' from a tarball.  Also append to any non-syntax
9181         checks already defined in cfg.mk.
9182
9183 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
9184
9185         longlong: tune, particularly for common case of c99
9186
9187         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
9188         or running anything if c99, or if unsigned long long int does not
9189         work.  In either case, we know the answer without further tests.
9190         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
9191         it at most once, and use its results for both long long int and
9192         unsigned long long int.  This is more likely to be efficient in
9193         the common case where the program wants to check for both long
9194         long int and unsigned long long int.
9195         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
9196         since the answer is already known.
9197
9198 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
9199
9200         getloadavg: set errno
9201         * lib/getloadavg.c: Set errno when returning -1.  If no other
9202         error number looks appropriate, set it to ENOSYS if the getloadavg
9203         looks like it can't possibly ever work, ENOTSUP otherwise.
9204         Suggested by Bruno Haible in
9205         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
9206
9207         getloadavg: trim unused parts and speed up 'configure'
9208         * NEWS: Document this.
9209         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
9210         always compiled if getloadavg is absent.
9211         Move test code to ...
9212         * tests/test-getloadavg.c: New file, containing previous
9213         contents of test from lib/getloadavg.c.  It also contains
9214         suggestions by Bruno Haible in
9215         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
9216         * modules/getloadavg-tests: New file.
9217         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
9218         Do tests in the same order as they're needed for getloadavg.c.
9219         Omit setgid-related tests that generate symbols KMEM_GROUP,
9220         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
9221         Do only the tests that are needed to see whether the system has
9222         getloadavg, moving the other tests into ...
9223         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
9224         NLIST_NAME_UNION; nobody should be using it.  Do not define
9225         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
9226         relevant, as the user of this module shouldn't care how getloadavg
9227         is implemented.
9228
9229         getloadavg: omit unused var
9230         * lib/getloadavg.c (getloadavg): Omit unused local variable.
9231
9232 2011-02-15  Jim Meyering  <meyering@redhat.com>
9233
9234         doc: update users.txt
9235         * users.txt: Update iwhd's URL.
9236
9237 2011-02-13  Bruno Haible  <bruno@clisp.org>
9238
9239         Consistent macro naming for macros that use GCC __attribute__.
9240         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
9241         _ATTRIBUTE_NONNULL_.
9242         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
9243         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
9244         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
9245         ATTRIBUTE_DEPRECATED.
9246         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
9247         ATTRIBUTE_NORETURN.
9248         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
9249         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
9250         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
9251         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
9252         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
9253         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
9254         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
9255         ATTRIBUTE_SENTINEL.
9256         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
9257         ATTRIBUTE_RETURN_CHECK.
9258         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
9259         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
9260         ATTRIBUTE_NORETURN.
9261         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
9262         Reported by Paul Eggert.
9263
9264 2011-02-13  Bruno Haible  <bruno@clisp.org>
9265
9266         Don't interfere with a program's definition of __attribute__.
9267         * lib/argp.h (__attribute__): Remove definition.
9268         (_GL_ATTRIBUTE_FORMAT): New macro.
9269         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
9270         * lib/argp-fmtstream.h (__attribute__): Remove definition.
9271         (_GL_ATTRIBUTE_FORMAT): New macro.
9272         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
9273         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
9274         GCC 3 or newer.
9275         * lib/error.h (__attribute__): Remove definition.
9276         (_GL_ATTRIBUTE_FORMAT): New macro.
9277         (error, error_at_line): Use it.
9278         * lib/hash.h (__attribute__): Remove definition.
9279         (ATTRIBUTE_WUR): Update definition. Define always.
9280         * lib/openat.h (__attribute__): Remove definition.
9281         (ATTRIBUTE_NORETURN): Update definition. Define always.
9282         * lib/sigpipe-die.h (__attribute__): Remove definition.
9283         (ATTRIBUTE_NORETURN): Update definition. Define always.
9284         * lib/vasnprintf.h (__attribute__): Remove definition.
9285         (_GL_ATTRIBUTE_FORMAT): New macro.
9286         (asnprintf, vasnprintf): Use it.
9287         * lib/xalloc.h (__attribute__): Remove definition.
9288         (ATTRIBUTE_NORETURN): Update definition. Define always.
9289         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
9290         * lib/xmemdup0.h (__attribute__): Remove definition.
9291         (ATTRIBUTE_NORETURN): Update definition. Define always.
9292         * lib/xprintf.h (__attribute__): Remove definition.
9293         (_GL_ATTRIBUTE_FORMAT): New macro.
9294         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
9295         * lib/xstrtol.h (__attribute__): Remove definition.
9296         (ATTRIBUTE_NORETURN): Update definition. Define always.
9297         * lib/xvasprintf.h (__attribute__): Remove definition.
9298         (_GL_ATTRIBUTE_FORMAT): New macro.
9299         (xasprintf, xvasprintf): Use it.
9300         * tests/test-argmatch.c (__attribute__): Remove definition.
9301         (ATTRIBUTE_NORETURN): Update definition. Define always.
9302         * tests/test-exclude.c (__attribute__): Remove definition.
9303         (ATTRIBUTE_NORETURN): Update definition. Define always.
9304         Reported by Paul Eggert.
9305
9306 2011-02-13  Bruno Haible  <bruno@clisp.org>
9307
9308         mbrtowc: Add more tests for native Windows platforms.
9309         * tests/test-mbrtowc-w32-1.sh: New file.
9310         * tests/test-mbrtowc-w32-2.sh: New file.
9311         * tests/test-mbrtowc-w32-3.sh: New file.
9312         * tests/test-mbrtowc-w32-4.sh: New file.
9313         * tests/test-mbrtowc-w32-5.sh: New file.
9314         * tests/test-mbrtowc-w32.c: New file.
9315         * modules/mbrtowc-tests (Files): Add them.
9316         (Makefile.am): Arrange to run these tests.
9317         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
9318         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
9319
9320 2011-02-13  Bruno Haible  <bruno@clisp.org>
9321
9322         mbrtowc: Work around native Windows bug.
9323         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
9324         guess when no suitable locale for testing was found.
9325         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
9326
9327 2011-02-13  Bruno Haible  <bruno@clisp.org>
9328
9329         mbsinit: Work around mingw bug.
9330         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
9331         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
9332         Windows.
9333         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
9334
9335 2011-02-13  Bruno Haible  <bruno@clisp.org>
9336
9337         mbsinit: Don't crash for a NULL argument.
9338         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
9339         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
9340
9341 2011-02-13  Bruno Haible  <bruno@clisp.org>
9342
9343         Don't interfere with a program's definition of __attribute__.
9344         * lib/stdio.in.h (__attribute__): Remove definition.
9345         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
9346         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
9347         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
9348         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
9349         * lib/string.in.h (__attribute__): Remove definition.
9350         Reported by Paul Eggert.
9351
9352 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
9353
9354         stdlib: don't get in the way of non-GCC __attribute__
9355         See thread starting at
9356         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
9357         Revert previous stdlib change, installing the following instead:
9358         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
9359         to get in the way of a non-GCC compiler that supports __attribute__.
9360         (_GL_ATTRIBUTE_RETURN): New macro.
9361         (_Exit): Use it instead of __attribute__.
9362
9363 2011-02-12  Bruno Haible  <bruno@clisp.org>
9364
9365         quotearg test: Avoid test failure on mingw.
9366         * tests/test-quotearg.sh: Convert the locale identifier from native
9367         Windows syntax to Unix syntax.
9368
9369 2011-02-12  Bruno Haible  <bruno@clisp.org>
9370
9371         setlocale: Prefer gnulib's override over libintl's override.
9372         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
9373         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
9374         GNULIB_defined_setlocale is set.
9375
9376 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
9377
9378         stdlib: support non-GCC __attribute__
9379
9380         Fix a serious and tricky problem encountered when attempting to
9381         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
9382         5.5, but it crashed due to memory corruption on Solaris 10 with
9383         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
9384         bits that are otherwise zero.  This tagging is optional inside
9385         Emacs but is preferred and is used when __attribute__ ((__aligned
9386         (8))) works, as it does with both recent-enough GCC and with Sun C
9387         5.11.  However, Sun C 5.11 is not GCC and does not #define
9388         __GNUC__ and __GNUC_MINOR__.
9389
9390         When I added the getloadavg module to Emacs, it brought in
9391         stdlib.in.h, which contained this fragment:
9392
9393            #ifndef __attribute__
9394            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
9395            #  define __attribute__(Spec)   /* empty */
9396            # endif
9397            #endif
9398
9399         When files that include <stdlib.h> were compiled with Sun C 5.11,
9400         the above code disabled __attribute__ ((__aligned (8))), which
9401         caused variables to not be properly aligned, which eventually led
9402         to the pointer corruption mentioned above.  (This was a bit hard
9403         to diagnose, unfortunately.)
9404
9405         Several "#define __attribute__(X) /* empty */" code snippets need
9406         to be eradicated from Gnulib to work with non-GCC compilers that
9407         support __attribute__.  The Autoconf way to do this is to test for
9408         each kind of attribute that we want support for, and selectively
9409         enable that in source code.
9410
9411         Fix this problem just for stdlib.h, by adding a test for the
9412         __noreturn__ attribute, and change stdlib.in.h to use that test
9413         when needed.  This technique can be easily generalized to the
9414         other *.in.h files and attributes, and a similar technique can be
9415         used for *.h and *.c files.  This patch is enough to solve the
9416         problem for Emacs + getloadavg, and I thought I'd publish it for
9417         feedback before undertaking further, similar fixes in other
9418         modules.
9419
9420         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
9421         because it's not needed for stdlib.h.  It merely substitutes the
9422         value directly into stdlib.h.  We may well need to #define it, or
9423         similar symbols, for other modules, but it's nice to also have an
9424         option to not #define it for applications like Emacs that do not
9425         need it.
9426
9427         * lib/stdlib.in.h (__attribute__): Do not #define.
9428         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
9429         be defined only if the _Exit module is also used.
9430         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
9431         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
9432         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
9433         platforms.
9434         * modules/_Exit (Files): Add m4/attribute.m4.
9435         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
9436         * m4/attribute.m4: New file.
9437
9438 2011-02-12  Bruno Haible  <bruno@clisp.org>
9439
9440         wcsrtombs: Work around bug on native Windows.
9441         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
9442         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
9443         instead of len.
9444         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
9445
9446 2011-02-12  Bruno Haible  <bruno@clisp.org>
9447
9448         mbsrtowcs: Work around bug on native Windows.
9449         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
9450         against mingw bug.
9451         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
9452
9453 2011-02-12  Bruno Haible  <bruno@clisp.org>
9454
9455         Avoid setlocale bugs in tests.
9456         * modules/btowc (Dependencies): Add setlocale.
9457         * modules/c-strcase (Dependencies): Likewise.
9458         * modules/mbmemcasecmp (Dependencies): Likewise.
9459         * modules/mbmemcasecoll (Dependencies): Likewise.
9460         * modules/mbrtowc (Dependencies): Likewise.
9461         * modules/mbscasecmp (Dependencies): Likewise.
9462         * modules/mbscasestr (Dependencies): Likewise.
9463         * modules/mbschr (Dependencies): Likewise.
9464         * modules/mbscspn (Dependencies): Likewise.
9465         * modules/mbsinit (Dependencies): Likewise.
9466         * modules/mbsncasecmp (Dependencies): Likewise.
9467         * modules/mbsnrtowcs (Dependencies): Likewise.
9468         * modules/mbspbrk (Dependencies): Likewise.
9469         * modules/mbspcasecmp (Dependencies): Likewise.
9470         * modules/mbsrchr (Dependencies): Likewise.
9471         * modules/mbsrtowcs (Dependencies): Likewise.
9472         * modules/mbsspn (Dependencies): Likewise.
9473         * modules/mbsstr (Dependencies): Likewise.
9474         * modules/nl_langinfo (Dependencies): Likewise.
9475         * modules/quotearg (Dependencies): Likewise.
9476         * modules/unicase/locale-language (Dependencies): Likewise.
9477         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
9478         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
9479         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
9480         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
9481         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
9482         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
9483         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
9484         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
9485         * modules/vasnprintf-posix (Dependencies): Likewise.
9486         * modules/wcrtomb (Dependencies): Likewise.
9487         * modules/wcsnrtombs (Dependencies): Likewise.
9488         * modules/wcsrtombs (Dependencies): Likewise.
9489
9490 2011-02-12  Bruno Haible  <bruno@clisp.org>
9491
9492         setlocale: Workaround native Windows bug.
9493         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
9494         succeeds but sets LC_CTYPE to "C", report a failure.
9495         * tests/test-setlocale2.sh: New file.
9496         * tests/test-setlocale2.c: New file.
9497         * modules/setlocale-tests (Files): Add the new files.
9498         (Makefile.am): Enable test-setlocale2.sh test.
9499         * doc/posix-functions/setlocale.texi: Mention workaround.
9500
9501 2011-02-11  Bruno Haible  <bruno@clisp.org>
9502
9503         Tests for module 'setlocale'.
9504         * modules/setlocale-tests: New file.
9505         * tests/test-setlocale1.sh: New file.
9506         * tests/test-setlocale1.c: New file.
9507
9508         New module 'setlocale'.
9509         * lib/locale.in.h (setlocale): New declaration.
9510         * lib/setlocale.c: New file, based on
9511         gettext/gettext-runtime/intl/setlocale.c.
9512         * m4/setlocale.m4: New file.
9513         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
9514         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
9515         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
9516         REPLACE_SETLOCALE.
9517         * modules/setlocale: New file.
9518         * tests/test-locale-c++.cc: Test the declaration of setlocale.
9519         * doc/posix-functions/setlocale.texi: Mention the new module.
9520
9521 2011-02-11  Bruno Haible  <bruno@clisp.org>
9522
9523         Prepare for locale dependent tests on mingw.
9524         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
9525         because it has the wrong locale encoding.
9526         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
9527         French_France.1252 instead of "fr".
9528         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
9529         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
9530         because it has the wrong locale encoding.
9531         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
9532         native Windows, try Turkish_Turkey.65001.
9533         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
9534         Chinese_China.54936.
9535
9536         Prepare for locale dependent tests on mingw.
9537         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
9538         differently.
9539         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
9540         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
9541         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
9542         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
9543
9544 2011-02-11  Eric Blake  <eblake@redhat.com>
9545
9546         strptime: avoid compiler warnings
9547         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
9548         compiler warnings about dead code.
9549         Reported by Daniel P. Berrange.
9550
9551 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
9552
9553         doc: update users.txt
9554         * users.txt: Add rcs.
9555
9556 2011-02-10  John W. Eaton  <jwe@gnu.org>
9557
9558         doc: update users.txt
9559         * users.txt: Add octave.
9560
9561 2011-02-10  Jim Meyering  <meyering@redhat.com>
9562
9563         doc: update users.txt
9564         * users.txt: Add iwhd.
9565
9566 2011-02-09  Bruno Haible  <bruno@clisp.org>
9567
9568         gnulib-tool: Make copyright notice adjustment more robust.
9569         * gnulib-tool (func_import): In sed_transform_main_lib_file,
9570         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
9571         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
9572         License".
9573         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
9574
9575 2011-02-06  Bruno Haible  <bruno@clisp.org>
9576
9577         New module 'towctrans'.
9578         * modules/towctrans: New file.
9579         * lib/wctype.in.h (towctrans): New declaration.
9580         * lib/towctrans.c: New file.
9581         * lib/towctrans-impl.h: New file.
9582         * m4/towctrans.m4: New file.
9583         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
9584         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
9585         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
9586         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
9587         * doc/posix-functions/towctrans.texi: Mention the new module.
9588
9589 2011-02-06  Bruno Haible  <bruno@clisp.org>
9590
9591         New module 'wctrans'.
9592         * modules/wctrans: New file.
9593         * lib/wctype.in.h (wctrans): New declaration.
9594         * lib/wctrans.c: New file.
9595         * lib/wctrans-impl.h: New file.
9596         * m4/wctrans.m4: New file.
9597         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
9598         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
9599         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
9600         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
9601         * doc/posix-functions/wctrans.texi: Mention the new module.
9602
9603 2011-02-06  Bruno Haible  <bruno@clisp.org>
9604
9605         New module 'iswctype'.
9606         * modules/iswctype: New file.
9607         * lib/wctype.in.h (iswctype): New declaration.
9608         * lib/iswctype.c: New file.
9609         * lib/iswctype-impl.h: New file.
9610         * m4/iswctype.m4: New file.
9611         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
9612         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
9613         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
9614         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
9615         * doc/posix-functions/iswctype.texi: Mention the new module and the
9616         HP-UX 11.00 problem.
9617
9618 2011-02-06  Bruno Haible  <bruno@clisp.org>
9619
9620         New module 'wctype'.
9621         * modules/wctype: Change to represent the wctype() substitute.
9622         * lib/wctype.in.h (wctype): New declaration.
9623         * lib/wctype.c: New file.
9624         * lib/wctype-impl.h: New file.
9625         * m4/wctype.m4: New file.
9626         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
9627         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
9628         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
9629         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
9630         * doc/posix-functions/wctype.texi: Mention the new module and the
9631         HP-UX 11.00 problem.
9632
9633 2011-02-06  Bruno Haible  <bruno@clisp.org>
9634
9635         wctype-h: Ensure wctype_t and wctrans_t are defined.
9636         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
9637         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
9638         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
9639         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
9640         HAVE_WCTRANS_T.
9641         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
9642
9643 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
9644
9645         flock: fix license typo
9646
9647         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
9648         omitted.
9649
9650 2011-02-08  Bruno Haible  <bruno@clisp.org>
9651
9652         Split large sed scripts, for HP-UX sed.
9653         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
9654         to avoid HP-UX limit of 99 commands, in the near future.
9655         * modules/stdlib (Makefile.am): Likewise.
9656         * modules/unistd (Makefile.am): Likewise.
9657         * modules/wchar (Makefile.am): Likewise.
9658         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9659         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
9660         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
9661
9662 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
9663             Bruno Haible  <bruno@clisp.org>
9664
9665         stdlib: improve random_r modularization
9666         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
9667         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
9668         you also need the random_r module to get this material right.
9669         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
9670         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
9671         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
9672
9673 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
9674
9675         stdlib: don't depend on stdint
9676         * lib/stdlib.in.h: Don't include <stdint.h> merely because
9677         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
9678         be independent of whether stdint.h is needed.
9679         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
9680         here, instead of ...
9681         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
9682         struct random_data should be using the random_r module, not just
9683         the stdlib module (which wouldn't make sense: what package needs
9684         just struct random_data without also needing random_r?).
9685         * modules/stdlib (Depends-on): Remove stdint.
9686
9687         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
9688         See the thread rooted at
9689         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
9690         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
9691         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
9692         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
9693         __VMS)); previously it was always included (via fcntl--.h).
9694         (getloadavg): Do not use c_strtod.  Instead, approximate it by
9695         hand; this is good enough for load averages.  Also, do not use
9696         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
9697         flags directly if available and don't bother otherwise.  (Packages
9698         that need the extra reliability should use the modules that define
9699         these flags on older platforms that lack them.)
9700         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
9701         fcntl-safer.
9702
9703 2011-02-08  Jim Meyering  <meyering@redhat.com>
9704
9705         di-set.h, ino-map.h: add multiple-inclusion guard
9706         Technically, the guard is required only for ino-map.h, due to its
9707         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
9708         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
9709         * lib/ino-map.h: Likewise.
9710
9711 2011-02-06  Bruno Haible  <bruno@clisp.org>
9712
9713         iswblank: Ensure declaration on glibc systems.
9714         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
9715         * modules/iswblank (Dependencies): Add 'extensions'.
9716         * doc/posix-functions/iswblank.texi: Document the glibc problem.
9717
9718 2011-02-06  Bruno Haible  <bruno@clisp.org>
9719
9720         New module 'iswblank'.
9721         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
9722         * modules/iswblank: New file.
9723         * modules/wctype-h (Files): Remove lib/iswblank.c.
9724         (Makefile.am): Substitute GNULIB_ISWBLANK.
9725         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
9726         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
9727         (gl_WCTYPE_H_DEFAULTS): New macro.
9728         (gl_WCTYPE_H): Require it. Remove iswblank related code.
9729         * modules/iswblank-tests: New file.
9730         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
9731         * tests/test-wctype-h.c (main): Remove iswblank tests.
9732         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
9733         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
9734         of 'wctype-h'.
9735         * NEWS: Mention the change.
9736         * modules/mbchar (Depends-on): Add iswblank.
9737
9738 2011-02-08  Bruno Haible  <bruno@clisp.org>
9739
9740         di-set tests: Refactor.
9741         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
9742         unnecessary includes.
9743         (ASSERT): Remove macro.
9744         (main): Make C90 compliant by avoiding variable declaration after
9745         statement.
9746         * modules/di-set-tests (Files): Add tests/macros.h.
9747
9748 2011-02-08  Bruno Haible  <bruno@clisp.org>
9749
9750         ino-map tests: Refactor.
9751         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
9752         unnecessary includes.
9753         (ASSERT): Remove macro.
9754         (main): Make C90 compliant by avoiding variable declaration after
9755         statement.
9756         * modules/ino-map-tests (Files): Add tests/macros.h.
9757
9758 2011-02-08  Jim Meyering  <meyering@redhat.com>
9759
9760         di-set: add "const" to a cast
9761         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
9762         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
9763
9764 2011-02-06  Bruno Haible  <bruno@clisp.org>
9765
9766         Rename module 'wctype' to 'wctype-h'.
9767         * modules/wctype-h: Renamed from modules/wctype.
9768         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
9769         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
9770         (Files, Depends-on, Makefile.am): Update.
9771         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
9772         (Files, Makefile.am): Update.
9773         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
9774         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
9775         * doc/posix-headers/wctype.texi: Update.
9776         * doc/posix-functions/iswalnum.texi: Update.
9777         * doc/posix-functions/iswalpha.texi: Update.
9778         * doc/posix-functions/iswblank.texi: Update.
9779         * doc/posix-functions/iswcntrl.texi: Update.
9780         * doc/posix-functions/iswdigit.texi: Update.
9781         * doc/posix-functions/iswgraph.texi: Update.
9782         * doc/posix-functions/iswlower.texi: Update.
9783         * doc/posix-functions/iswprint.texi: Update.
9784         * doc/posix-functions/iswpunct.texi: Update.
9785         * doc/posix-functions/iswspace.texi: Update.
9786         * doc/posix-functions/iswupper.texi: Update.
9787         * doc/posix-functions/iswxdigit.texi: Update.
9788         * doc/posix-functions/towlower.texi: Update.
9789         * doc/posix-functions/towupper.texi: Update.
9790         * NEWS: Mention the change.
9791         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
9792         * modules/mbchar (Dependencies): Likewise.
9793         * modules/mbswidth (Dependencies): Likewise.
9794         * modules/quotearg (Dependencies): Likewise.
9795         * modules/regex (Dependencies): Likewise.
9796         * modules/wcscasecmp (Dependencies): Likewise.
9797         * modules/wcsncasecmp (Dependencies): Likewise.
9798         * modules/wcwidth (Dependencies): Likewise.
9799
9800 2011-02-06  Bruno Haible  <bruno@clisp.org>
9801
9802         New module 'wcswidth'.
9803         * modules/wcswidth: New file.
9804         * lib/wchar.in.h (wcswidth): New declaration.
9805         * lib/wcswidth.c: New file.
9806         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
9807         * m4/wcswidth.m4: New file.
9808         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
9809         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
9810         REPLACE_WCSWIDTH.
9811         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
9812         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
9813         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
9814         * doc/posix-functions/wcswidth.texi: Mention the new module.
9815
9816 2011-02-06  Bruno Haible  <bruno@clisp.org>
9817
9818         New module 'wcstok'.
9819         * modules/wcstok: New file.
9820         * lib/wchar.in.h (wcstok): New declaration.
9821         * lib/wcstok.c: New file.
9822         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
9823         * m4/wcstok.m4: New file.
9824         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
9825         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
9826         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
9827         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
9828         * doc/posix-functions/wcstok.texi: Mention the new module.
9829
9830 2011-02-06  Bruno Haible  <bruno@clisp.org>
9831
9832         New module 'wcsstr'.
9833         * modules/wcsstr: New file.
9834         * lib/wchar.in.h (wcsstr): New declaration.
9835         * lib/wcsstr.c: New file.
9836         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
9837         * m4/wcsstr.m4: New file.
9838         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
9839         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
9840         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
9841         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
9842         * doc/posix-functions/wcsstr.texi: Mention the new module.
9843
9844 2011-02-06  Bruno Haible  <bruno@clisp.org>
9845
9846         New module 'wcspbrk'.
9847         * modules/wcspbrk: New file.
9848         * lib/wchar.in.h (wcspbrk): New declaration.
9849         * lib/wcspbrk.c: New file.
9850         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
9851         * m4/wcspbrk.m4: New file.
9852         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
9853         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
9854         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
9855         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
9856         * doc/posix-functions/wcspbrk.texi: Mention the new module.
9857
9858 2011-02-06  Bruno Haible  <bruno@clisp.org>
9859
9860         New module 'wcsspn'.
9861         * modules/wcsspn: New file.
9862         * lib/wchar.in.h (wcsspn): New declaration.
9863         * lib/wcsspn.c: New file.
9864         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
9865         * m4/wcsspn.m4: New file.
9866         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
9867         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
9868         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
9869         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
9870         * doc/posix-functions/wcsspn.texi: Mention the new module.
9871
9872 2011-02-06  Bruno Haible  <bruno@clisp.org>
9873
9874         New module 'wcscspn'.
9875         * modules/wcscspn: New file.
9876         * lib/wchar.in.h (wcscspn): New declaration.
9877         * lib/wcscspn.c: New file.
9878         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
9879         * m4/wcscspn.m4: New file.
9880         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
9881         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
9882         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
9883         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
9884         * doc/posix-functions/wcscspn.texi: Mention the new module.
9885
9886 2011-02-06  Bruno Haible  <bruno@clisp.org>
9887
9888         New module 'wcsrchr'.
9889         * modules/wcsrchr: New file.
9890         * lib/wchar.in.h (wcsrchr): New declaration.
9891         * lib/wcsrchr.c: New file.
9892         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
9893         * m4/wcsrchr.m4: New file.
9894         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
9895         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
9896         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
9897         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
9898         * doc/posix-functions/wcsrchr.texi: Mention the new module.
9899
9900 2011-02-06  Bruno Haible  <bruno@clisp.org>
9901
9902         New module 'wcschr'.
9903         * modules/wcschr: New file.
9904         * lib/wchar.in.h (wcschr): New declaration.
9905         * lib/wcschr.c: New file.
9906         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
9907         * m4/wcschr.m4: New file.
9908         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
9909         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
9910         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
9911         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
9912         * doc/posix-functions/wcschr.texi: Mention the new module.
9913
9914 2011-02-06  Bruno Haible  <bruno@clisp.org>
9915
9916         New module 'wcsdup'.
9917         * modules/wcsdup: New file.
9918         * lib/wchar.in.h (wcsdup): New declaration.
9919         * lib/wcsdup.c: New file.
9920         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
9921         * m4/wcsdup.m4: New file.
9922         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
9923         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
9924         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
9925         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
9926         * doc/posix-functions/wcsdup.texi: Mention the new module.
9927
9928 2011-02-06  Bruno Haible  <bruno@clisp.org>
9929
9930         New module 'wcsxfrm'.
9931         * modules/wcsxfrm: New file.
9932         * lib/wchar.in.h (wcsxfrm): New declaration.
9933         * lib/wcsxfrm.c: New file.
9934         * lib/wcsxfrm-impl.h: New file.
9935         * m4/wcsxfrm.m4: New file.
9936         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
9937         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
9938         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
9939         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
9940         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
9941
9942 2011-02-06  Bruno Haible  <bruno@clisp.org>
9943
9944         New module 'wcscoll'.
9945         * modules/wcscoll: New file.
9946         * lib/wchar.in.h (wcscoll): New declaration.
9947         * lib/wcscoll.c: New file.
9948         * lib/wcscoll-impl.h: New file.
9949         * m4/wcscoll.m4: New file.
9950         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
9951         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
9952         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
9953         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
9954         * doc/posix-functions/wcscoll.texi: Mention the new module.
9955
9956 2011-02-06  Bruno Haible  <bruno@clisp.org>
9957
9958         New module 'wcsncasecmp'.
9959         * modules/wcsncasecmp: New file.
9960         * lib/wchar.in.h (wcsncasecmp): New declaration.
9961         * lib/wcsncasecmp.c: New file.
9962         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
9963         * m4/wcsncasecmp.m4: New file.
9964         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
9965         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
9966         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
9967         HAVE_WCSNCASECMP.
9968         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
9969         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
9970
9971 2011-02-06  Bruno Haible  <bruno@clisp.org>
9972
9973         New module 'wcscasecmp'.
9974         * modules/wcscasecmp: New file.
9975         * lib/wchar.in.h (wcscasecmp): New declaration.
9976         * lib/wcscasecmp.c: New file.
9977         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
9978         * m4/wcscasecmp.m4: New file.
9979         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
9980         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
9981         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
9982         HAVE_WCSCASECMP.
9983         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
9984         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
9985
9986 2011-02-05  Bruno Haible  <bruno@clisp.org>
9987
9988         New module 'wcsncmp'.
9989         * modules/wcsncmp: New file.
9990         * lib/wchar.in.h (wcsncmp): New declaration.
9991         * lib/wcsncmp.c: New file.
9992         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
9993         * m4/wcsncmp.m4: New file.
9994         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
9995         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
9996         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
9997         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
9998         * doc/posix-functions/wcsncmp.texi: Mention the new module.
9999
10000 2011-02-05  Bruno Haible  <bruno@clisp.org>
10001
10002         New module 'wcscmp'.
10003         * modules/wcscmp: New file.
10004         * lib/wchar.in.h (wcscmp): New declaration.
10005         * lib/wcscmp.c: New file.
10006         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
10007         * m4/wcscmp.m4: New file.
10008         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
10009         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
10010         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
10011         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
10012         * doc/posix-functions/wcscmp.texi: Mention the new module.
10013
10014 2011-02-05  Bruno Haible  <bruno@clisp.org>
10015
10016         New module 'wcsncat'.
10017         * modules/wcsncat: New file.
10018         * lib/wchar.in.h (wcsncat): New declaration.
10019         * lib/wcsncat.c: New file.
10020         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
10021         * m4/wcsncat.m4: New file.
10022         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
10023         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
10024         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
10025         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
10026         * doc/posix-functions/wcsncat.texi: Mention the new module.
10027
10028 2011-02-05  Bruno Haible  <bruno@clisp.org>
10029
10030         New module 'wcscat'.
10031         * modules/wcscat: New file.
10032         * lib/wchar.in.h (wcscat): New declaration.
10033         * lib/wcscat.c: New file.
10034         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
10035         * m4/wcscat.m4: New file.
10036         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
10037         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
10038         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
10039         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
10040         * doc/posix-functions/wcscat.texi: Mention the new module.
10041
10042 2011-02-05  Bruno Haible  <bruno@clisp.org>
10043
10044         New module 'wcpncpy'.
10045         * modules/wcpncpy: New file.
10046         * lib/wchar.in.h (wcpncpy): New declaration.
10047         * lib/wcpncpy.c: New file.
10048         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
10049         * m4/wcpncpy.m4: New file.
10050         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
10051         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
10052         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
10053         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
10054         * doc/posix-functions/wcpncpy.texi: Mention the new module.
10055
10056 2011-02-05  Bruno Haible  <bruno@clisp.org>
10057
10058         New module 'wcsncpy'.
10059         * modules/wcsncpy: New file.
10060         * lib/wchar.in.h (wcsncpy): New declaration.
10061         * lib/wcsncpy.c: New file.
10062         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
10063         * m4/wcsncpy.m4: New file.
10064         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
10065         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
10066         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
10067         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
10068         * doc/posix-functions/wcsncpy.texi: Mention the new module.
10069
10070 2011-02-05  Bruno Haible  <bruno@clisp.org>
10071
10072         New module 'wcpcpy'.
10073         * modules/wcpcpy: New file.
10074         * lib/wchar.in.h (wcpcpy): New declaration.
10075         * lib/wcpcpy.c: New file.
10076         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
10077         * m4/wcpcpy.m4: New file.
10078         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
10079         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
10080         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
10081         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
10082         * doc/posix-functions/wcpcpy.texi: Mention the new module.
10083
10084 2011-02-05  Bruno Haible  <bruno@clisp.org>
10085
10086         New module 'wcscpy'.
10087         * modules/wcscpy: New file.
10088         * lib/wchar.in.h (wcscpy): New declaration.
10089         * lib/wcscpy.c: New file.
10090         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
10091         * m4/wcscpy.m4: New file.
10092         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
10093         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
10094         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
10095         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
10096         * doc/posix-functions/wcscpy.texi: Mention the new module.
10097
10098 2011-02-05  Bruno Haible  <bruno@clisp.org>
10099
10100         New module 'wcsnlen'.
10101         * modules/wcsnlen: New file.
10102         * lib/wchar.in.h (wcsnlen): New declaration.
10103         * lib/wcsnlen.c: New file.
10104         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
10105         * m4/wcsnlen.m4: New file.
10106         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
10107         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
10108         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
10109         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
10110         * doc/posix-functions/wcsnlen.texi: Mention the new module.
10111
10112 2011-02-05  Bruno Haible  <bruno@clisp.org>
10113
10114         New module 'wcslen'.
10115         * modules/wcslen: New file.
10116         * lib/wchar.in.h (wcslen): New declaration.
10117         * lib/wcslen.c: New file.
10118         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
10119         * m4/wcslen.m4: New file.
10120         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
10121         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
10122         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
10123         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
10124         * doc/posix-functions/wcslen.texi: Mention the new module.
10125
10126 2011-02-05  Bruno Haible  <bruno@clisp.org>
10127
10128         New module 'wmemset'.
10129         * modules/wmemset: New file.
10130         * lib/wchar.in.h (wmemset): New declaration.
10131         * lib/wmemset.c: New file.
10132         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
10133         * m4/wmemset.m4: New file.
10134         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
10135         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
10136         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
10137         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
10138         * doc/posix-functions/wmemset.texi: Mention the new module.
10139
10140 2011-02-05  Bruno Haible  <bruno@clisp.org>
10141
10142         New module 'wmemmove'.
10143         * modules/wmemmove: New file.
10144         * lib/wchar.in.h (wmemmove): New declaration.
10145         * lib/wmemmove.c: New file.
10146         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
10147         * m4/wmemmove.m4: New file.
10148         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
10149         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
10150         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
10151         HAVE_WMEMMOVE.
10152         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
10153         * doc/posix-functions/wmemmove.texi: Mention the new module.
10154
10155 2011-02-05  Bruno Haible  <bruno@clisp.org>
10156
10157         New module 'wmemcpy'.
10158         * modules/wmemcpy: New file.
10159         * lib/wchar.in.h (wmemcpy): New declaration.
10160         * lib/wmemcpy.c: New file.
10161         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
10162         * m4/wmemcpy.m4: New file.
10163         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
10164         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
10165         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
10166         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
10167         * doc/posix-functions/wmemcpy.texi: Mention the new module.
10168
10169 2011-02-05  Bruno Haible  <bruno@clisp.org>
10170
10171         New module 'wmemcmp'.
10172         * modules/wmemcmp: New file.
10173         * lib/wchar.in.h (wmemcmp): New declaration.
10174         * lib/wmemcmp.c: New file.
10175         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
10176         * m4/wmemcmp.m4: New file.
10177         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
10178         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
10179         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
10180         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
10181         * doc/posix-functions/wmemcmp.texi: Mention the new module.
10182
10183 2011-02-07  Jim Meyering  <meyering@redhat.com>
10184
10185         di-set, ino-map: new modules, from coreutils
10186         * lib/di-set.c: New file.
10187         * lib/di-set.h: Likewise.
10188         * lib/ino-map.c: Likewise.
10189         * lib/ino-map.h: Likewise.
10190         * modules/di-set: Likewise.
10191         * modules/di-set-tests: Likewise.
10192         * modules/ino-map: Likewise.
10193         * modules/ino-map-tests: Likewise.
10194         * tests/test-di-set.c: Likewise.
10195         * tests/test-ino-map.c: Likewise.
10196
10197 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
10198
10199         getloadavg: merge minor changes from Emacs
10200
10201         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
10202         (getloadavg): Use memset, not bzero.
10203
10204         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
10205         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
10206         clash (bug#86).
10207
10208 2010-11-14  Bruno Haible  <bruno@clisp.org>
10209
10210         Allow multiple gnulib generated replacements to coexist.
10211         * lib/getopt.in.h (struct option): Avoid identical redefinition.
10212         * lib/inttypes.in.h (imaxdiv_t): Likewise.
10213         * lib/langinfo.in.h (nl_item): Likewise.
10214         * lib/math.in.h (_NaN, NAN): Likewise.
10215         * lib/netdb.in.h (struct addrinfo): Likewise.
10216         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
10217         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
10218         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
10219         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
10220         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
10221         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
10222         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
10223         pthread_mutexattr_init, pthread_mutexattr_settype,
10224         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
10225         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
10226         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
10227         pthread_spin_trylock, pthread_spin_unlock): Likewise.
10228         * lib/sched.in.h (struct sched_param): Likewise.
10229         * lib/se-selinux.in.h (security_class_t, security_context_t,
10230         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
10231         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
10232         lsetfilecon, fsetfilecon, security_check_context,
10233         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
10234         Likewise.
10235         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
10236         Likewise.
10237         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
10238         _gl_function_taking_int_returning_void_t, union sigval,
10239         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
10240         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
10241         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
10242         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
10243         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
10244         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
10245         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
10246         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
10247         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
10248         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
10249         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
10250         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
10251         socklen_t, rpl_fd_isset): Likewise.
10252         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
10253         * lib/sys_time.in.h (struct timeval): Likewise.
10254         * lib/sys_times.in.h (struct tms): Likewise.
10255         * lib/sys_utsname.in.h (struct utsname):
10256         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
10257         * lib/unistd.in.h (getpagesize): Likewise.
10258         * lib/wchar.in.h (mbstate_t): Likewise.
10259         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
10260         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
10261         towlower, towupper): Likewise.
10262         Reported by Sam Steingold <sds@gnu.org>.
10263
10264 2011-02-05  Eric Blake  <eblake@redhat.com>
10265
10266         unsetenv: work around Haiku issues
10267         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
10268         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
10269
10270 2010-12-30  Bruce Korb  <bkorb@gnu.org>
10271
10272         libposix: avoid calling error() within libposix
10273         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
10274         is defined.
10275
10276 2011-02-05  Eric Blake  <eblake@redhat.com>
10277
10278         strerror_r-posix: port to cygwin
10279         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
10280         implementation.
10281         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
10282         * tests/test-strerror_r.c (main): Fix test.
10283         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
10284         issue.
10285
10286 2011-02-05  Bruno Haible  <bruno@clisp.org>
10287
10288         New module 'wmemchr'.
10289         * modules/wmemchr: New file.
10290         * lib/wchar.in.h (wmemchr): New declaration.
10291         * lib/wmemchr.c: New file.
10292         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
10293         * m4/wmemchr.m4: New file.
10294         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
10295         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
10296         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
10297         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
10298         * doc/posix-functions/wmemchr.texi: Mention the new module.
10299
10300 2011-02-04  Eric Blake  <eblake@redhat.com>
10301
10302         fdopendir: detect FreeBSD bug
10303         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
10304         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
10305
10306 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
10307
10308         stdbool: do not define HAVE_STDBOOL_H
10309         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
10310         AC_HEADER_STDBOOL.  All uses changed.  Do not define
10311         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
10312         imported from the latest Autoconf git.  It was motivated by Emacs,
10313         which uses gnulib but does not need HAVE_STDBOOL_H.
10314
10315 2011-02-04  Bruno Haible  <bruno@clisp.org>
10316
10317         wcsnrtombs: Prepare for new module wwcsnrtombs.
10318         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
10319         * lib/wcsnrtombs.c: Include it.
10320         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
10321
10322         wcsrtombs: Prepare for new module wwcsrtombs.
10323         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
10324         * lib/wcsrtombs.c: Include it.
10325         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
10326
10327         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
10328         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
10329         * lib/mbsnrtowcs.c: Include it.
10330         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
10331
10332         mbsrtowcs: Prepare for new module mbsrtowwcs.
10333         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
10334         * lib/mbsrtowcs.c: Include it.
10335         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
10336
10337 2011-02-04  Bruno Haible  <bruno@clisp.org>
10338
10339         vasnprintf: Reduce use of malloc for small format strings.
10340         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
10341         (arguments): Add room for the first 7 arguments.
10342         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
10343         (char_directives, u8_directives, u16_directives, u32_directives): Add
10344         room for the first 7 directives.
10345         * lib/printf-parse.c: Include <string.h>.
10346         (PRINTF_PARSE): Change memory handling code so that it uses the first
10347         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
10348         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
10349         Reported by Pádraig Brady <P@draigbrady.com>.
10350
10351 2011-01-31  Eric Blake  <eblake@redhat.com>
10352
10353         dup2: work around Haiku bug
10354         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
10355         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
10356         * doc/posix-functions/dup2.texi (dup2): Document the bug.
10357         * tests/test-dup2.c (main): Enhance test.
10358
10359 2011-01-31  Simon Josefsson  <simon@josefsson.org>
10360
10361         doc: off_t is not available in eglibc 2.11.2 stdio.h.
10362         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
10363         declared by eglibc 2.11.2.
10364         * lib/stdio.in.h: Likewise.
10365
10366 2011-01-31  Eric Blake  <eblake@redhat.com>
10367
10368         ignore-value: add missing test dependency
10369         * tests/test-ignore-value.c: Revert previous change; stdio.h
10370         provides off_t.
10371         * modules/ignore-value-tests (Depends-on): Add missing dependency.
10372
10373 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
10374
10375         mktime: clarify long_int width checking
10376         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
10377         the top level, to make it clearer that the assumption about
10378         long_int width is being checked.  See
10379         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
10380
10381 2011-01-30  Simon Josefsson  <simon@josefsson.org>
10382
10383         ignore-value: Fix self-test.
10384         * tests/test-ignore-value.c: Include sys/types.h for off_t.
10385
10386 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
10387
10388         TYPE_MAXIMUM: avoid theoretically undefined behavior
10389         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
10390         negative number, which the C Standard says has undefined behavior.
10391         In practice this is not a problem, but might as well do it by the book.
10392         Reported by Rich Felker and Eric Blake; see
10393         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
10394         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
10395         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
10396         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10397         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
10398         * m4/stdint.m4 (gl_STDINT_H): Likewise.
10399         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
10400
10401         mktime: #undef mktime before #defining it
10402         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
10403
10404         mktime: systematically normalize tm_isdst comparisons
10405         * lib/mktime.c (isdst_differ): New function.
10406         (__mktime_internal): Use it systematically for all isdst comparisons.
10407         This completes the fix for libc BZ #6723, and removes the need for
10408         normalizing tm_isdst.  See
10409         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
10410         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
10411
10412         mktime: fix some integer overflow issues and sidestep the rest
10413
10414         This was prompted by a bug report by Benjamin Lindner for MinGW
10415         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
10416         His bug is due to signed integer overflow (0 - INT_MIN), and I
10417         I scanned through mktime.c looking for other integer overflow
10418         problems, fixing all the bugs I found.
10419
10420         Although the C Standard says the resulting code is still not safe
10421         in the presence of integer overflow, in practice it should be good
10422         enough for all real-world two's-complement implementations, except
10423         for debugging environments that deliberately trap on integer
10424         overflow (e.g., gcc -ftrapv).
10425
10426         * lib/mktime.c (WRAPV): New macro.
10427         (SHR): Also check that long_int and time_t shift right in the
10428         usual way, before using the fast-but-unportable method.
10429         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
10430         used.  The code already assumed two's complement, so there's
10431         no need to test for alternatives.  All uses removed.
10432         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
10433         the C standard.  Problem reported by Rich Felker in
10434         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
10435         (twos_complement_arithmetic): Also check long_int and time_t.
10436         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
10437         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
10438         (__mktime_internal): Avoid integer overflow with unary subtraction
10439         in two instances where -1 - X is an adequate replacement for -X,
10440         since the calculations are approximate.
10441
10442 2011-01-29  Eric Blake  <eblake@redhat.com>
10443
10444         mktime: avoid infinite loop
10445         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
10446         type; behavior is still undefined but portable to all known targets.
10447         Reported by Rich Felker.
10448
10449 2011-01-29  Simon Josefsson  <simon@josefsson.org>
10450
10451         rename, unlink, same-inode: Relicense.
10452         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
10453         * modules/unlink (License): Likewise.
10454         * modules/same-inode (License): Likewise.
10455
10456 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
10457
10458         mktime: avoid problems on NetBSD 5 / i386
10459         * lib/mktime.c (long_int): New type.  This works around a problem
10460         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
10461         but time_t is 64 bits, and where I expect the existing code is
10462         wrong in some cases.
10463         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
10464         (ydhms_diff): Bring back the compile-time check for wide-enough
10465         year and yday.
10466
10467         mktime: fix misspelling in comment
10468         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
10469         This merges all recent glibc changes of importance.
10470
10471 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10472
10473         move-if-change: cope with concurrent mv of identical file.
10474         * build-aux/move-if-change (CMPPROG): Accept environment
10475         variable as an override for `cmp'.
10476         (usage): Document CMPPROG.
10477         Adjust comparison to drop stdout.  Cope with failure of mv if
10478         the target file exists and is identical to the source, for
10479         parallel builds.
10480         Report from H.J. Lu against binutils in PR binutils/12283.
10481
10482 2011-01-28  Bruce Korb  <bkorb@gnu.org>
10483
10484         * users.txt: Mention sharutils.
10485
10486 2011-01-28  Simon Josefsson  <simon@josefsson.org>
10487
10488         * users.txt: Mention OATH Toolkit.
10489
10490 2011-01-27  Bruno Haible  <bruno@clisp.org>
10491
10492         Prepare for supporting FreeBSD 10.
10493         * build-aux/config.libpath: Remove handling of freebsd1*.
10494
10495 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
10496
10497         Prepare for supporting FreeBSD 10.
10498         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
10499         match FreeBSD 10.0.
10500
10501 2011-01-27  Bruno Haible  <bruno@clisp.org>
10502
10503         vma-iter, get-rusage-as: Add OpenBSD support.
10504         * modules/vma-iter (configure.ac): Test for mquery.
10505         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
10506         * lib/vma-iter.c: Include <sys/mman.h>.
10507         (vma_iterate): Add an implementation based on mquery().
10508         * lib/resource-ext.h (get_rusage_as): Update comments.
10509         * lib/get-rusage-as.c: Likewise.
10510         * lib/get-rusage-data.c: Likewise.
10511
10512 2011-01-26  Karl Berry  <karl@gnu.org>
10513
10514         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
10515         variables to make it easier to override the makeinfo program used.
10516
10517 2011-01-26  Eric Blake  <eblake@redhat.com>
10518
10519         fcntl: work around Haiku F_DUPFD bugs
10520         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
10521         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
10522         cloexec bit on duplication.
10523         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
10524
10525 2011-01-26  Bruno Haible  <bruno@clisp.org>
10526
10527         Enable memory leak tests on AIX.
10528         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
10529         * tests/test-fprintf-posix3.c (main): Likewise.
10530
10531 2011-01-26  Bruno Haible  <bruno@clisp.org>
10532
10533         Tests for module 'get-rusage-data'.
10534         * modules/get-rusage-data-tests: New file.
10535         * tests/test-get-rusage-data.c: New file.
10536
10537         New module 'get-rusage-data'.
10538         * lib/resource-ext.h (get_rusage_data): New declaration.
10539         * lib/get-rusage-data.c: New file.
10540         * modules/get-rusage-data: New file.
10541
10542 2011-01-25  Bruno Haible  <bruno@clisp.org>
10543
10544         get-rusage-as: Allow for easier testing.
10545         * lib/resource-ext.h (get_rusage_as): Add comment.
10546         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
10547         (main): New function for interactive testing.
10548
10549 2011-01-25  Bruno Haible  <bruno@clisp.org>
10550
10551         vma-iter: Treat Haiku like BeOS.
10552         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
10553         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
10554
10555 2011-01-25  Eric Blake  <eblake@redhat.com>
10556
10557         c-stack: fix regression on cygwin when libsigsegv is present
10558         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
10559
10560 2011-01-24  Bruno Haible  <bruno@clisp.org>
10561
10562         vma-iter: Avoid empty intervals.
10563         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
10564         on an empty interval.
10565
10566 2011-01-24  Jim Meyering  <meyering@redhat.com>
10567
10568         u64: remove unnecessary #include
10569         * lib/u64.h: Don't include <stddef.h>.  It was not used.
10570
10571 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10572
10573         Allow the user to avoid the HAVE_RAW_DECL_* macros.
10574         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
10575
10576 2011-01-23  Bruno Haible  <bruno@clisp.org>
10577
10578         New module 'vma-iter'.
10579         * lib/vma-iter.h: New file.
10580         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
10581         * modules/vma-iter: New file.
10582         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
10583         for get_rusage_as_via_iterator.
10584         (vma_iterate_callback): New function.
10585         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
10586         * modules/get-rusage-as (Depends-on): Add vma-iter.
10587
10588 2011-01-23  Bruno Haible  <bruno@clisp.org>
10589
10590         uninorm: Tweak includes.
10591         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
10592         Reported by Jim Meyering.
10593
10594 2011-01-23  Bruno Haible  <bruno@clisp.org>
10595
10596         get-rusage-as: Improve on NetBSD.
10597         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
10598         /proc, like on FreeBSD.
10599
10600 2011-01-23  Jim Meyering  <meyering@redhat.com>
10601
10602         xreadlink.h: remove unnecessary #include
10603         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
10604
10605         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
10606         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
10607
10608 2011-01-23  Bruno Haible  <bruno@clisp.org>
10609
10610         get-rusage-as: Fix bug.
10611         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
10612         original limit when aborting the first loop.
10613
10614 2011-01-23  Bruno Haible  <bruno@clisp.org>
10615
10616         wctype: Ensure valid C syntax.
10617         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
10618         unconditionally, instead of gl_NEXT_HEADERS conditionally.
10619
10620 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
10621
10622         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
10623         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
10624         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
10625         as they are needed only for configure's test case.
10626         This removes two unnecessary symbols from config.h.
10627
10628         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
10629         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
10630         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
10631         AC_CHECK_HEADERS_ONCE on a header that we also invoke
10632         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
10633         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
10634         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
10635         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10636         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
10637         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10638         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
10639         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10640         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
10641         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
10642         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10643         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10644         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
10645         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
10646
10647 2011-01-21  Eric Blake  <eblake@redhat.com>
10648
10649         maintainer-makefile: work with older git for submodule check
10650         * top/maint.mk (public-submodule-commit): Rewrite to avoid
10651         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
10652         Reported by Matthias Bolte.
10653
10654         bootstrap: minor portability fixes
10655         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
10656         (usage): Omit leading capital and trailing . on help phrases, per
10657         GNU Coding Standards.
10658         (check_versions, top level): Prefix messages with script name.
10659
10660 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
10661
10662         bootstrap: support --no-git option
10663         * build-aux/bootstrap: Add --no-git option, to be used when
10664         --gnulib-srcdir points to the exact desired checkout.
10665
10666 2011-01-21  Eric Blake  <eblake@redhat.com>
10667
10668         strerror_r-posix: work with glibc 2.13
10669         * lib/strerror_r.c (strerror_r): Fix return type.
10670
10671 2011-01-21  Pádraig Brady  <P@draigBrady.com>
10672             Bruno Haible  <bruno@clisp.org>
10673
10674         uN_strstr: New unit tests.
10675         * modules/unistr/u8-strstr-tests: New file.
10676         * modules/unistr/u16-strstr-tests: New file.
10677         * modules/unistr/u32-strstr-tests: New file.
10678         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
10679         * tests/unistr/test-u8-strstr.c: New file.
10680         * tests/unistr/test-u16-strstr.c: New file.
10681         * tests/unistr/test-u32-strstr.c: New file.
10682
10683 2011-01-21  Pádraig Brady  <P@draigBrady.com>
10684             Bruno Haible  <bruno@clisp.org>
10685
10686         Make uN_strstr functions O(n) worst-case.
10687         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
10688         16-bit and 32-bit unit cases, use the unibyte algorithm from
10689         lib/mbsstr.c.
10690         * lib/unistr/u8-strstr.c: Include <string.h>.
10691         (UNIT_IS_UINT8_T): New macro.
10692         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
10693         (U_STRLEN, U_STRNLEN): New macros.
10694         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
10695         (U_STRLEN, U_STRNLEN): New macros.
10696         * modules/unistr/u8-strstr (Depends-on): Add strstr.
10697         (configure.ac): Update required libunistring version.
10698         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
10699         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
10700         malloca.
10701         (configure.ac): Update required libunistring version.
10702         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
10703         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
10704         malloca.
10705         (configure.ac): Update required libunistring version.
10706
10707 2011-01-21  Pádraig Brady  <P@draigBrady.com>
10708             Bruno Haible  <bruno@clisp.org>
10709
10710         Prepare for faster uN_strstr functions.
10711         * lib/str-kmp.h: Support definable UNITs.
10712         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
10713         needle_len argument.
10714         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
10715         * lib/mbscasestr.c (mbscasestr): Likewise.
10716
10717 2011-01-21  Pádraig Brady <P@draigBrady.com>
10718
10719         malloca-tests: make faster by unsetting MALLOC_PERTURB_
10720         * tests/test-malloca.c (main): Unset the environment variable
10721         to greatly speed up the test.
10722         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
10723         * modules/malloca-tests: Depend on unsetenv.
10724
10725 2011-01-21  Pádraig Brady <P@draigBrady.com>
10726
10727         ignore-value: remove stdint dependency
10728         * lib/ignore-value.h: Remove <stdint.h>
10729         * modules/ignore-value: Remove stdint dependency.
10730
10731 2011-01-21  Jim Meyering  <meyering@redhat.com>
10732
10733         maint.mk: adjust variable name to be consistent with other gl_ vars
10734         * top/maint.mk (gl_public_submodule_commit): Rename the variable
10735         to be lower case.
10736
10737 2011-01-20  Jim Meyering  <meyering@redhat.com>
10738
10739         maint.mk: make "check" depend on public-submodule-commit by default
10740         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
10741
10742 2011-01-20  Bruno Haible  <bruno@clisp.org>
10743
10744         mbfile, mbiter: Complete change from 2008-12-21.
10745         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
10746         * m4/mbiter.m4 (gl_MBITER): Likewise.
10747
10748 2011-01-20  Jim Meyering  <meyering@redhat.com>
10749
10750         init.sh: insert space between each function name and "()"
10751         * tests/init.sh: Make it a little easier to see that a function's
10752         name is "warn_", and not "warn" when looking at the first part of
10753         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
10754
10755 2011-01-20  Jim Meyering  <meyering@redhat.com>
10756
10757         mountlist: clean up code formatting
10758         * lib/mountlist.c (read_file_system_list): Split a long line,
10759         correct bracing style, use NULL in place of "(struct statfs *)0",
10760         don't parenthesize return value, add spaces around "=" and after
10761         ";-in-for-stmt".
10762
10763 2011-01-14  Markus Duft <mduft@gentoo.org>
10764
10765         mountlist: add support for Interix
10766         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
10767         Apply statvfs to all entries of /dev/fs.
10768         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
10769         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
10770
10771 2011-01-20  Jim Meyering  <meyering@redhat.com>
10772
10773         maint.mk: improve the public-submodule-commit rule
10774         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
10775         to suppress printing of its commands... unless V=1.
10776         Add git submodule's --quiet option to suppress printing of e.g.,
10777         "Entering gnulib" output.
10778         "cd" into $(srcdir) before running git submodule.
10779
10780 2011-01-20  Bruno Haible  <bruno@clisp.org>
10781
10782         include_next: Fix bug introduced on 2011-01-18.
10783         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
10784         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
10785         ac_cv_header_... variable if the second argument is not 'check'.
10786         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
10787         gl_NEXT_HEADERS_INTERNAL.
10788
10789 2011-01-20  Bruno Haible  <bruno@clisp.org>
10790
10791         Allow the user to avoid the GNULIB_TEST_* macros.
10792         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
10793         Suggested by Paul Eggert.
10794
10795 2011-01-14  Jim Meyering  <meyering@redhat.com>
10796
10797         bootstrap: avoid failure when there is no .gitmodules file
10798         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
10799         has been assigned to, even when its value is the empty string.
10800         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
10801         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
10802         Reported by John W. Eaton <jwe@gnu.org>.
10803
10804 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
10805
10806         assume <ctype.h>, ..., <time.h> exist
10807         For years gnulib has been assuming the existence of the headers
10808         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
10809         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
10810         them, since they don't appear to be needed.
10811         * README (Portability guidelines): Document this.
10812         * lib/flock.c: Assume <fcntl.h> exists.
10813         * lib/regex_internal.h: Assume <locale.h> exists.
10814         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
10815         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
10816         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
10817         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
10818         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
10819         * m4/regex.m4 (gl_REGEX): Likewise.
10820         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
10821         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
10822         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
10823         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
10824         * tests/test-argp.c: Likewise.
10825         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
10826
10827         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
10828         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
10829         AA_APPLE_UNIVERSAL_BUILD.  See
10830         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
10831         * NEWS: Document this.
10832
10833 2011-01-19  Eric Blake  <eblake@redhat.com>
10834
10835         c-stack: assume stack overflow if SA_SIGINFO unsupported
10836         * lib/c-stack.c (SIGACTION_WORKS): Rename...
10837         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
10838         sigaction will work.
10839         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
10840         behavior match Linux.
10841         * tests/test-c-stack.c (main): Prefer NULL for pointers.
10842
10843         stdbool-tests: accomodate Haiku
10844         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
10845
10846         binary-io: fix O_TEXT on Haiku
10847         * modules/binary-io (Depends-on): Add fcntl-h.
10848         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
10849         than blindly undefining O_TEXT.
10850         Reported by Scott McCreary.
10851
10852 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
10853
10854         include_next: do not check for standard headers like stddef.h
10855
10856         I found this problem when modifying Emacs to use gnulib.
10857         I noticed that it added HAVE_STDDEF_H to config.h, even though
10858         gnulib always assumes <stddef.h> exists as per README and this
10859         symbol is unnecessary.
10860         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
10861         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
10862         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
10863         faster for headers like stddef.h that are known to exist.
10864         (gl_CHECK_NEXT_HEADERS): Use it.
10865         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
10866         rather than gl_CHECK_NEXT_HEADERS.
10867         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
10868         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
10869
10870 2011-01-18  Eric Blake  <eblake@redhat.com>
10871
10872         ansi-c++-opt: skip C++ dependency style if C++ is unused
10873         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
10874         tests when we know C++ compilation is not desired.
10875         Reported by Scott McCreary.
10876
10877 2011-01-18  Bruno Haible  <bruno@clisp.org>
10878
10879         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
10880         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
10881         (main): Perform test also when getrlimit and setrlimit don't exist or
10882         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
10883         limiting the address space size using setrlimit, compare the address
10884         space size before and after the the test.
10885         * tests/test-dprintf-posix2.c: Likewise.
10886         * tests/test-fprintf-posix3.sh: Update skip messages.
10887         * tests/test-dprintf-posix2.sh: Likewise.
10888         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
10889         * modules/dprintf-posix-tests (Depends-on): Likewise.
10890         Reported by Bruce Korb <bkorb@gnu.org> and
10891         Gary V. Vaughan <gary@gnu.org>.
10892
10893 2011-01-18  Bruno Haible  <bruno@clisp.org>
10894
10895         get-rusage-as: Improvement for Cygwin.
10896         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
10897         areas that are merely reserved.
10898
10899 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
10900
10901         strftime: remove dependencies on multibyte modules
10902
10903         strftime depended on mbrlen, mbsinit, and wchar, but these modules
10904         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
10905         only if __osf__ is defined, and I suspect OSF doesn't need these
10906         other modules.  If my guess is wrong, we'll need to come up with a
10907         variant of strftime that doesn't need the multibyte modules.
10908
10909         I discovered this problem when attempting modify Emacs to use the
10910         strftime module.  With the previous gnulib, this caused Emacs to
10911         need 31 new files, ranging from lib/config.charset to
10912         m4/wint_t.m4.  This was overkill and I expect would be offputting
10913         to the Emacs maintainers.  After this change, only 6 new files are
10914         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
10915         stdbool.m4, and tm_gmtoff.m4.
10916
10917         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
10918         Suggested by Bruno Haible in
10919         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
10920         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
10921         and do not check for wchar.h.
10922         * modules/strftime (Files): Remove m4/mbstate_t.m4.
10923         (Depends-on): Remove mbrlen, mbsinit, wchar.
10924
10925 2011-01-18  Bruno Haible  <bruno@clisp.org>
10926
10927         Tests for module 'get-rusage-as'.
10928         * modules/get-rusage-as-tests: New file.
10929         * tests/test-get-rusage-as.c: New file.
10930
10931         New module 'get-rusage-as'.
10932         * modules/get-rusage-as: New file.
10933         * lib/resource-ext.h: New file.
10934         * lib/get-rusage-as.c: New file.
10935
10936 2011-01-17  Eric Blake  <eblake@redhat.com>
10937
10938         sigaction: relax license from LGPLv3+ to LGPLv2+
10939         * modules/sigaction (License): Relax to LGPLv2+.
10940
10941 2011-01-14  Bruno Haible  <bruno@clisp.org>
10942
10943         filemode: Make function declarations usable in C++ mode.
10944         * lib/filemode.h: Enclose function declarations in extern "C" block.
10945         Reported by John W. Eaton <jwe@gnu.org>.
10946
10947 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
10948
10949         save-cwd: no longer include "xgetcwd.h"
10950         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
10951         This avoids a compilation failure in projects that use save-cwd
10952         without also using the xgetcwd module.
10953
10954 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10955
10956         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
10957         This is so that a program like Emacs, which needs only dtoastr,
10958         does not have to bother with distributing and compiling ftoastr
10959         and ldtoastr.
10960         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
10961         * modules/dtoastr, modules/ldtoastr: New files.
10962         * modules/ftoastr: Now works just for 'float'.
10963         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
10964         (Makefile.am): Remove ftoastr.h (not needed and no effect),
10965         dtoastr.c, ldtoastr.c.
10966
10967 2011-01-11  Jim Meyering  <meyering@redhat.com>
10968
10969         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
10970         There is no need to work around the lack of the fchdir function,
10971         since gnulib can now provide a replacement when required.
10972         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
10973         * modules/save-cwd (Depends-on): Add fchdir.
10974
10975 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10976
10977         openat, save-cwd: avoid xmalloc
10978
10979         This removes a direct (but undocumented) dependency of openat on
10980         xalloc, along with an indirect dependency via save-cwd.  It also
10981         removes a dependency of save-cwd on xgetcwd, and thereby
10982         indirectly on xalloc.  This change causes the openat substitute
10983         to fall back on save_cwd when memory is tight, and for save_cwd to
10984         fail instead of dying when memory is tight, but that's good enough.
10985         Problem and initial idea for fix reported by Bastien Roucaries in
10986         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
10987
10988         * lib/openat-proc.c: Include stdlib.h (for malloc), not
10989         xalloc.h (for xmalloc).
10990         (openat_proc_name): Use malloc, not xmalloc.
10991         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
10992         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
10993
10994         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
10995         This avoids heap allocation for file names whose lengths are in
10996         the range 512..1023, with the upper bound increasing to at most
10997         4031 depending on the platform's PATH_MAX.  (We do not want
10998         pathmax.h here as it might supply a non-constant PATH_MAX.)
10999         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
11000         Perhaps they should be moved to malloca.h?
11001         (OPENAT_BUFFER_SIZE): Use them.
11002
11003 2011-01-10  Bruno Haible  <bruno@clisp.org>
11004
11005         doc: Update users.txt.
11006         * users.txt: Add recutils.
11007
11008 2011-01-09  Karl Berry  <karl@gnu.org>
11009
11010         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
11011
11012         * doc/configmake.texi: New file.
11013         * doc/gnulib.texi: Include it.
11014         * modules/configmake: Move documentation from here.
11015
11016 2011-01-09  Bruno Haible  <bruno@clisp.org>
11017
11018         Update to Unicode 6.0.0.
11019         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
11020         (get_lbp): Update for Unicode 6.0.0.
11021         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
11022         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
11023         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
11024         U+11001, U+11038..U+11046. Remove U+06DE.
11025         (uc_width): Fix bounds of planes.
11026         * tests/uniwidth/test-uc_width2.sh: Same updates as in
11027         lib/uniwidth/width.c.
11028         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
11029         trailing whitespace removed.
11030         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
11031         without comments, but with the original copyright notice.
11032         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
11033         * lib/unicase/ignorable.h: Likewise.
11034         * lib/unicase/tocasefold.h: Likewise.
11035         * lib/unicase/tolower.h: Likewise.
11036         * lib/unicase/totitle.h: Likewise.
11037         * lib/unicase/toupper.h: Likewise.
11038         * lib/unictype/bidi_of.h: Likewise.
11039         * lib/unictype/blocks.h: Likewise.
11040         * lib/unictype/categ_C.h: Likewise.
11041         * lib/unictype/categ_Cn.h: Likewise.
11042         * lib/unictype/categ_L.h: Likewise.
11043         * lib/unictype/categ_Ll.h: Likewise.
11044         * lib/unictype/categ_Lm.h: Likewise.
11045         * lib/unictype/categ_Lo.h: Likewise.
11046         * lib/unictype/categ_Lu.h: Likewise.
11047         * lib/unictype/categ_M.h: Likewise.
11048         * lib/unictype/categ_Mc.h: Likewise.
11049         * lib/unictype/categ_Me.h: Likewise.
11050         * lib/unictype/categ_Mn.h: Likewise.
11051         * lib/unictype/categ_N.h: Likewise.
11052         * lib/unictype/categ_Nd.h: Likewise.
11053         * lib/unictype/categ_No.h: Likewise.
11054         * lib/unictype/categ_P.h: Likewise.
11055         * lib/unictype/categ_Po.h: Likewise.
11056         * lib/unictype/categ_S.h: Likewise.
11057         * lib/unictype/categ_Sc.h: Likewise.
11058         * lib/unictype/categ_Sk.h: Likewise.
11059         * lib/unictype/categ_Sm.h: Likewise.
11060         * lib/unictype/categ_So.h: Likewise.
11061         * lib/unictype/categ_of.h: Likewise.
11062         * lib/unictype/combining.h: Likewise.
11063         * lib/unictype/ctype_alnum.h: Likewise.
11064         * lib/unictype/ctype_alpha.h: Likewise.
11065         * lib/unictype/ctype_graph.h: Likewise.
11066         * lib/unictype/ctype_lower.h: Likewise.
11067         * lib/unictype/ctype_print.h: Likewise.
11068         * lib/unictype/ctype_punct.h: Likewise.
11069         * lib/unictype/ctype_upper.h: Likewise.
11070         * lib/unictype/decdigit.h: Likewise.
11071         * lib/unictype/digit.h: Likewise.
11072         * lib/unictype/numeric.h: Likewise.
11073         * lib/unictype/pr_alphabetic.h: Likewise.
11074         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
11075         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
11076         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
11077         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
11078         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
11079         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
11080         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
11081         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
11082         * lib/unictype/pr_case_ignorable.h: Likewise.
11083         * lib/unictype/pr_cased.h: Likewise.
11084         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
11085         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
11086         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
11087         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
11088         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
11089         * lib/unictype/pr_combining.h: Likewise.
11090         * lib/unictype/pr_composite.h: Likewise.
11091         * lib/unictype/pr_currency_symbol.h: Likewise.
11092         * lib/unictype/pr_decimal_digit.h: Likewise.
11093         * lib/unictype/pr_deprecated.h: Likewise.
11094         * lib/unictype/pr_format_control.h: Likewise.
11095         * lib/unictype/pr_grapheme_base.h: Likewise.
11096         * lib/unictype/pr_grapheme_extend.h: Likewise.
11097         * lib/unictype/pr_grapheme_link.h: Likewise.
11098         * lib/unictype/pr_id_continue.h: Likewise.
11099         * lib/unictype/pr_id_start.h: Likewise.
11100         * lib/unictype/pr_ideographic.h: Likewise.
11101         * lib/unictype/pr_lowercase.h: Likewise.
11102         * lib/unictype/pr_math.h: Likewise.
11103         * lib/unictype/pr_numeric.h: Likewise.
11104         * lib/unictype/pr_other_alphabetic.h: Likewise.
11105         * lib/unictype/pr_other_id_continue.h: Likewise.
11106         * lib/unictype/pr_other_math.h: Likewise.
11107         * lib/unictype/pr_punctuation.h: Likewise.
11108         * lib/unictype/pr_sentence_terminal.h: Likewise.
11109         * lib/unictype/pr_terminal_punctuation.h: Likewise.
11110         * lib/unictype/pr_unassigned_code_value.h: Likewise.
11111         * lib/unictype/pr_unified_ideograph.h: Likewise.
11112         * lib/unictype/pr_uppercase.h: Likewise.
11113         * lib/unictype/pr_xid_continue.h: Likewise.
11114         * lib/unictype/pr_xid_start.h: Likewise.
11115         * lib/unictype/scripts.h: Likewise.
11116         * lib/unictype/scripts_byname.gperf: Likewise.
11117         * lib/unictype/sy_java_ident.h: Likewise.
11118         * lib/unigbrk/gbrkprop.h: Likewise.
11119         * lib/unilbrk/lbrkprop1.h: Likewise.
11120         * lib/unilbrk/lbrkprop2.h: Likewise.
11121         * lib/uninorm/decomposition-table2.h: Likewise.
11122         * lib/uniwbrk/wbrkprop.h: Likewise.
11123         * tests/unicase/test-cased.c: Likewise.
11124         * tests/unicase/test-ignorable.c: Likewise.
11125         * tests/unicase/test-uc_tolower.c: Likewise.
11126         * tests/unicase/test-uc_totitle.c: Likewise.
11127         * tests/unicase/test-uc_toupper.c: Likewise.
11128         * tests/unictype/test-categ_C.c: Likewise.
11129         * tests/unictype/test-categ_Cn.c: Likewise.
11130         * tests/unictype/test-categ_L.c: Likewise.
11131         * tests/unictype/test-categ_Ll.c: Likewise.
11132         * tests/unictype/test-categ_Lm.c: Likewise.
11133         * tests/unictype/test-categ_Lo.c: Likewise.
11134         * tests/unictype/test-categ_Lu.c: Likewise.
11135         * tests/unictype/test-categ_M.c: Likewise.
11136         * tests/unictype/test-categ_Mc.c: Likewise.
11137         * tests/unictype/test-categ_Me.c: Likewise.
11138         * tests/unictype/test-categ_Mn.c: Likewise.
11139         * tests/unictype/test-categ_N.c: Likewise.
11140         * tests/unictype/test-categ_Nd.c: Likewise.
11141         * tests/unictype/test-categ_No.c: Likewise.
11142         * tests/unictype/test-categ_P.c: Likewise.
11143         * tests/unictype/test-categ_Po.c: Likewise.
11144         * tests/unictype/test-categ_S.c: Likewise.
11145         * tests/unictype/test-categ_Sc.c: Likewise.
11146         * tests/unictype/test-categ_Sk.c: Likewise.
11147         * tests/unictype/test-categ_Sm.c: Likewise.
11148         * tests/unictype/test-categ_So.c: Likewise.
11149         * tests/unictype/test-ctype_alnum.c: Likewise.
11150         * tests/unictype/test-ctype_alpha.c: Likewise.
11151         * tests/unictype/test-ctype_graph.c: Likewise.
11152         * tests/unictype/test-ctype_lower.c: Likewise.
11153         * tests/unictype/test-ctype_print.c: Likewise.
11154         * tests/unictype/test-ctype_punct.c: Likewise.
11155         * tests/unictype/test-ctype_upper.c: Likewise.
11156         * tests/unictype/test-decdigit.h: Likewise.
11157         * tests/unictype/test-digit.h: Likewise.
11158         * tests/unictype/test-numeric.h: Likewise.
11159         * tests/unictype/test-pr_alphabetic.c: Likewise.
11160         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
11161         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
11162         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
11163         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
11164         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
11165         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
11166         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
11167         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
11168         * tests/unictype/test-pr_case_ignorable.c: Likewise.
11169         * tests/unictype/test-pr_cased.c: Likewise.
11170         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
11171         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
11172         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
11173         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
11174         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
11175         * tests/unictype/test-pr_combining.c: Likewise.
11176         * tests/unictype/test-pr_composite.c: Likewise.
11177         * tests/unictype/test-pr_currency_symbol.c: Likewise.
11178         * tests/unictype/test-pr_decimal_digit.c: Likewise.
11179         * tests/unictype/test-pr_deprecated.c: Likewise.
11180         * tests/unictype/test-pr_format_control.c: Likewise.
11181         * tests/unictype/test-pr_grapheme_base.c: Likewise.
11182         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
11183         * tests/unictype/test-pr_grapheme_link.c: Likewise.
11184         * tests/unictype/test-pr_id_continue.c: Likewise.
11185         * tests/unictype/test-pr_id_start.c: Likewise.
11186         * tests/unictype/test-pr_ideographic.c: Likewise.
11187         * tests/unictype/test-pr_lowercase.c: Likewise.
11188         * tests/unictype/test-pr_math.c: Likewise.
11189         * tests/unictype/test-pr_numeric.c: Likewise.
11190         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
11191         * tests/unictype/test-pr_other_id_continue.c: Likewise.
11192         * tests/unictype/test-pr_other_math.c: Likewise.
11193         * tests/unictype/test-pr_punctuation.c: Likewise.
11194         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
11195         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
11196         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
11197         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
11198         * tests/unictype/test-pr_uppercase.c: Likewise.
11199         * tests/unictype/test-pr_xid_continue.c: Likewise.
11200         * tests/unictype/test-pr_xid_start.c: Likewise.
11201         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
11202         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
11203         changes.
11204         * lib/unictype/categ_Cc.h: Likewise.
11205         * lib/unictype/categ_Cf.h: Likewise.
11206         * lib/unictype/categ_Co.h: Likewise.
11207         * lib/unictype/categ_Cs.h: Likewise.
11208         * lib/unictype/categ_Lt.h: Likewise.
11209         * lib/unictype/categ_Nl.h: Likewise.
11210         * lib/unictype/categ_Pc.h: Likewise.
11211         * lib/unictype/categ_Pd.h: Likewise.
11212         * lib/unictype/categ_Pe.h: Likewise.
11213         * lib/unictype/categ_Pf.h: Likewise.
11214         * lib/unictype/categ_Pi.h: Likewise.
11215         * lib/unictype/categ_Ps.h: Likewise.
11216         * lib/unictype/categ_Z.h: Likewise.
11217         * lib/unictype/categ_Zl.h: Likewise.
11218         * lib/unictype/categ_Zp.h: Likewise.
11219         * lib/unictype/categ_Zs.h: Likewise.
11220         * lib/unictype/ctype_blank.h: Likewise.
11221         * lib/unictype/ctype_cntrl.h: Likewise.
11222         * lib/unictype/ctype_digit.h: Likewise.
11223         * lib/unictype/ctype_space.h: Likewise.
11224         * lib/unictype/ctype_xdigit.h: Likewise.
11225         * lib/unictype/mirror.h: Likewise.
11226         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
11227         * lib/unictype/pr_bidi_block_separator.h: Likewise.
11228         * lib/unictype/pr_bidi_common_separator.h: Likewise.
11229         * lib/unictype/pr_bidi_control.h: Likewise.
11230         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
11231         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
11232         * lib/unictype/pr_bidi_european_digit.h: Likewise.
11233         * lib/unictype/pr_bidi_pdf.h: Likewise.
11234         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
11235         * lib/unictype/pr_bidi_whitespace.h: Likewise.
11236         * lib/unictype/pr_dash.h: Likewise.
11237         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
11238         * lib/unictype/pr_diacritic.h: Likewise.
11239         * lib/unictype/pr_extender.h: Likewise.
11240         * lib/unictype/pr_hex_digit.h: Likewise.
11241         * lib/unictype/pr_hyphen.h: Likewise.
11242         * lib/unictype/pr_ids_binary_operator.h: Likewise.
11243         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
11244         * lib/unictype/pr_ignorable_control.h: Likewise.
11245         * lib/unictype/pr_iso_control.h: Likewise.
11246         * lib/unictype/pr_join_control.h: Likewise.
11247         * lib/unictype/pr_left_of_pair.h: Likewise.
11248         * lib/unictype/pr_line_separator.h: Likewise.
11249         * lib/unictype/pr_logical_order_exception.h: Likewise.
11250         * lib/unictype/pr_non_break.h: Likewise.
11251         * lib/unictype/pr_not_a_character.h: Likewise.
11252         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
11253         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
11254         * lib/unictype/pr_other_id_start.h: Likewise.
11255         * lib/unictype/pr_other_lowercase.h: Likewise.
11256         * lib/unictype/pr_other_uppercase.h: Likewise.
11257         * lib/unictype/pr_paired_punctuation.h: Likewise.
11258         * lib/unictype/pr_paragraph_separator.h: Likewise.
11259         * lib/unictype/pr_pattern_syntax.h: Likewise.
11260         * lib/unictype/pr_pattern_white_space.h: Likewise.
11261         * lib/unictype/pr_private_use.h: Likewise.
11262         * lib/unictype/pr_quotation_mark.h: Likewise.
11263         * lib/unictype/pr_radical.h: Likewise.
11264         * lib/unictype/pr_soft_dotted.h: Likewise.
11265         * lib/unictype/pr_space.h: Likewise.
11266         * lib/unictype/pr_titlecase.h: Likewise.
11267         * lib/unictype/pr_variation_selector.h: Likewise.
11268         * lib/unictype/pr_white_space.h: Likewise.
11269         * lib/unictype/pr_zero_width.h: Likewise.
11270         * lib/unictype/sy_c_ident.h: Likewise.
11271         * lib/unictype/sy_c_whitespace.h: Likewise.
11272         * lib/unictype/sy_java_whitespace.h: Likewise.
11273         * lib/uninorm/composition-table.gperf: Likewise.
11274         * lib/uninorm/decomposition-table1.h: Likewise.
11275         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
11276         LB8.
11277         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
11278         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
11279         * modules/unictype/*: Bump version number of expected libunistring
11280         version.
11281
11282 2011-01-09  Bruno Haible  <bruno@clisp.org>
11283
11284         Update to Unicode 5.2.0.
11285         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
11286         trailing whitespace removed.
11287
11288 2011-01-09  Bruno Haible  <bruno@clisp.org>
11289
11290         New Unicode character properties, from Unicode 5.2.0.
11291         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
11292         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
11293         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
11294         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
11295         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
11296         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
11297         uc_is_property_cased, uc_is_property_case_ignorable,
11298         uc_is_property_changes_when_lowercased,
11299         uc_is_property_changes_when_uppercased,
11300         uc_is_property_changes_when_titlecased,
11301         uc_is_property_changes_when_casefolded,
11302         uc_is_property_changes_when_casemapped): New declarations.
11303         * lib/unictype/pr_byname.gperf: Add the new properties.
11304         * modules/unictype/property-byname (Depends-on): Depend on the new
11305         properties modules.
11306         * modules/unictype/property-all (Depends-on): Likewise.
11307         * MODULES.html.sh (Unicode string functions): Add
11308         unictype/property-case-ignorable, unictype/property-cased,
11309         unictype/property-changes-when-casefolded,
11310         unictype/property-changes-when-casemapped,
11311         unictype/property-changes-when-lowercased,
11312         unictype/property-changes-when-titlecased,
11313         unictype/property-changes-when-uppercased.
11314
11315         New module 'unictype/property-changes-when-casemapped'.
11316         * modules/unictype/property-changes-when-casemapped: New file.
11317         * lib/unictype/pr_changes_when_casemapped.c: New file.
11318         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
11319         generated by gen-uni-tables.
11320         * modules/unictype/property-changes-when-casemapped-tests: New file.
11321         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
11322         automatically generated by gen-uni-tables.
11323
11324         New module 'unictype/property-changes-when-casefolded'.
11325         * modules/unictype/property-changes-when-casefolded: New file.
11326         * lib/unictype/pr_changes_when_casefolded.c: New file.
11327         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
11328         generated by gen-uni-tables.
11329         * modules/unictype/property-changes-when-casefolded-tests: New file.
11330         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
11331         automatically generated by gen-uni-tables.
11332
11333         New module 'unictype/property-changes-when-titlecased'.
11334         * modules/unictype/property-changes-when-titlecased: New file.
11335         * lib/unictype/pr_changes_when_titlecased.c: New file.
11336         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
11337         generated by gen-uni-tables.
11338         * modules/unictype/property-changes-when-titlecased-tests: New file.
11339         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
11340         automatically generated by gen-uni-tables.
11341
11342         New module 'unictype/property-changes-when-uppercased'.
11343         * modules/unictype/property-changes-when-uppercased: New file.
11344         * lib/unictype/pr_changes_when_uppercased.c: New file.
11345         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
11346         generated by gen-uni-tables.
11347         * modules/unictype/property-changes-when-uppercased-tests: New file.
11348         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
11349         automatically generated by gen-uni-tables.
11350
11351         New module 'unictype/property-changes-when-lowercased'.
11352         * modules/unictype/property-changes-when-lowercased: New file.
11353         * lib/unictype/pr_changes_when_lowercased.c: New file.
11354         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
11355         generated by gen-uni-tables.
11356         * modules/unictype/property-changes-when-lowercased-tests: New file.
11357         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
11358         automatically generated by gen-uni-tables.
11359
11360         New module 'unictype/property-case-ignorable'.
11361         * modules/unictype/property-case-ignorable: New file.
11362         * lib/unictype/pr_case_ignorable.c: New file.
11363         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
11364         by gen-uni-tables.
11365         * modules/unictype/property-case-ignorable-tests: New file.
11366         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
11367         generated by gen-uni-tables.
11368
11369         New module 'unictype/property-cased'.
11370         * modules/unictype/property-cased: New file.
11371         * lib/unictype/pr_cased.c: New file.
11372         * lib/unictype/pr_cased.h: New file, automatically generated by
11373         gen-uni-tables.
11374         * modules/unictype/property-cased-tests: New file.
11375         * tests/unictype/test-pr_cased.c: New file, automatically generated by
11376         gen-uni-tables.
11377
11378 2011-01-09  Bruno Haible  <bruno@clisp.org>
11379
11380         Update to Unicode 5.2.0.
11381         * lib/gen-uni-tables.c (output_predicate, output_category,
11382         output_combclass, output_bidi_category, output_decimal_digit_test,
11383         output_decimal_digit, output_digit_test, output_digit,
11384         output_numeric_test, output_numeric, output_mirror, output_scripts,
11385         output_scripts_byname, output_blocks, output_ident_category): Fix
11386         comment header.
11387         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
11388         get_wbp.
11389         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
11390         items.
11391         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
11392         Changes_When_Lowercased, Changes_When_Uppercased,
11393         Changes_When_Titlecased, Changes_When_Casefolded,
11394         Changes_When_Casemapped.
11395         (is_property_alphabetic, is_property_default_ignorable_code_point):
11396         Update for Unicode 5.2.0.
11397         (is_property_cased, is_property_case_ignorable,
11398         is_property_changes_when_lowercased,
11399         is_property_changes_when_uppercased,
11400         is_property_changes_when_titlecased,
11401         is_property_changes_when_casefolded,
11402         is_property_changes_when_casemapped): New functions.
11403         (output_properties): Output also the properties cased, case_ignorable,
11404         changes_when_lowercased, changes_when_uppercased,
11405         changes_when_titlecased, changes_when_casefolded,
11406         changes_when_casemapped.
11407         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
11408         Unicode TR#11 revision 17 -> 19.
11409         (LBP_CP): New enumeration value.
11410         (LBP_*): Adjust values accordingly.
11411         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
11412         TR#14 revision 22 -> 24.
11413         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
11414         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
11415         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
11416         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
11417         is_WBP_MIDLETTER.
11418         (output_composition_tables): Allow for 24 bits instead of 16 bits in
11419         the code1 and code2 of each composition rule.
11420         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
11421         * lib/unicase/ignorable.h: Likewise.
11422         * lib/unicase/tocasefold.h: Likewise.
11423         * lib/unicase/tolower.h: Likewise.
11424         * lib/unicase/totitle.h: Likewise.
11425         * lib/unicase/toupper.h: Likewise.
11426         * lib/unictype/bidi_of.h: Likewise.
11427         * lib/unictype/blocks.h: Likewise.
11428         * lib/unictype/categ_C.h: Likewise.
11429         * lib/unictype/categ_Cf.h: Likewise.
11430         * lib/unictype/categ_Cn.h: Likewise.
11431         * lib/unictype/categ_L.h: Likewise.
11432         * lib/unictype/categ_Ll.h: Likewise.
11433         * lib/unictype/categ_Lm.h: Likewise.
11434         * lib/unictype/categ_Lo.h: Likewise.
11435         * lib/unictype/categ_Lu.h: Likewise.
11436         * lib/unictype/categ_M.h: Likewise.
11437         * lib/unictype/categ_Mc.h: Likewise.
11438         * lib/unictype/categ_Mn.h: Likewise.
11439         * lib/unictype/categ_N.h: Likewise.
11440         * lib/unictype/categ_Nd.h: Likewise.
11441         * lib/unictype/categ_Nl.h: Likewise.
11442         * lib/unictype/categ_No.h: Likewise.
11443         * lib/unictype/categ_P.h: Likewise.
11444         * lib/unictype/categ_Pd.h: Likewise.
11445         * lib/unictype/categ_Po.h: Likewise.
11446         * lib/unictype/categ_S.h: Likewise.
11447         * lib/unictype/categ_Sc.h: Likewise.
11448         * lib/unictype/categ_So.h: Likewise.
11449         * lib/unictype/categ_of.h: Likewise.
11450         * lib/unictype/combining.h: Likewise.
11451         * lib/unictype/ctype_alnum.h: Likewise.
11452         * lib/unictype/ctype_alpha.h: Likewise.
11453         * lib/unictype/ctype_graph.h: Likewise.
11454         * lib/unictype/ctype_lower.h: Likewise.
11455         * lib/unictype/ctype_print.h: Likewise.
11456         * lib/unictype/ctype_punct.h: Likewise.
11457         * lib/unictype/ctype_upper.h: Likewise.
11458         * lib/unictype/decdigit.h: Likewise.
11459         * lib/unictype/digit.h: Likewise.
11460         * lib/unictype/numeric.h: Likewise.
11461         * lib/unictype/pr_alphabetic.h: Likewise.
11462         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
11463         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
11464         * lib/unictype/pr_bidi_european_digit.h: Likewise.
11465         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
11466         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
11467         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
11468         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
11469         * lib/unictype/pr_combining.h: Likewise.
11470         * lib/unictype/pr_composite.h: Likewise.
11471         * lib/unictype/pr_currency_symbol.h: Likewise.
11472         * lib/unictype/pr_dash.h: Likewise.
11473         * lib/unictype/pr_decimal_digit.h: Likewise.
11474         * lib/unictype/pr_deprecated.h: Likewise.
11475         * lib/unictype/pr_diacritic.h: Likewise.
11476         * lib/unictype/pr_extender.h: Likewise.
11477         * lib/unictype/pr_grapheme_base.h: Likewise.
11478         * lib/unictype/pr_grapheme_extend.h: Likewise.
11479         * lib/unictype/pr_grapheme_link.h: Likewise.
11480         * lib/unictype/pr_id_continue.h: Likewise.
11481         * lib/unictype/pr_id_start.h: Likewise.
11482         * lib/unictype/pr_ideographic.h: Likewise.
11483         * lib/unictype/pr_ignorable_control.h: Likewise.
11484         * lib/unictype/pr_logical_order_exception.h: Likewise.
11485         * lib/unictype/pr_lowercase.h: Likewise.
11486         * lib/unictype/pr_numeric.h: Likewise.
11487         * lib/unictype/pr_other_alphabetic.h: Likewise.
11488         * lib/unictype/pr_punctuation.h: Likewise.
11489         * lib/unictype/pr_sentence_terminal.h: Likewise.
11490         * lib/unictype/pr_terminal_punctuation.h: Likewise.
11491         * lib/unictype/pr_unassigned_code_value.h: Likewise.
11492         * lib/unictype/pr_unified_ideograph.h: Likewise.
11493         * lib/unictype/pr_uppercase.h: Likewise.
11494         * lib/unictype/pr_xid_continue.h: Likewise.
11495         * lib/unictype/pr_xid_start.h: Likewise.
11496         * lib/unictype/pr_zero_width.h: Likewise.
11497         * lib/unictype/scripts.h: Likewise.
11498         * lib/unictype/scripts_byname.gperf: Likewise.
11499         * lib/unictype/sy_java_ident.h: Likewise.
11500         * lib/unigbrk/gbrkprop.h: Likewise.
11501         * lib/unilbrk/lbrkprop1.h: Likewise.
11502         * lib/unilbrk/lbrkprop2.h: Likewise.
11503         * lib/unilbrk/lbrktables.h: Likewise.
11504         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
11505         LBP_CP. Implement rule LB30.
11506         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
11507         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
11508         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
11509         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
11510         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
11511         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
11512         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
11513         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
11514         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
11515         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
11516         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
11517         bits instead of 16 bits in the code1 and code2 of each composition
11518         rule.
11519         (uc_composition): Update for Unicode 5.2.0.
11520         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
11521         * lib/uninorm/decomposition-table2.h: Likewise.
11522         * lib/uniwbrk/wbrkprop.h: Likewise.
11523         * tests/unicase/test-cased.c: Likewise.
11524         * tests/unicase/test-ignorable.c: Likewise.
11525         * tests/unicase/test-uc_tolower.c: Likewise.
11526         * tests/unicase/test-uc_totitle.c: Likewise.
11527         * tests/unicase/test-uc_toupper.c: Likewise.
11528         * tests/unictype/test-categ_C.c: Likewise.
11529         * tests/unictype/test-categ_Cf.c: Likewise.
11530         * tests/unictype/test-categ_Cn.c: Likewise.
11531         * tests/unictype/test-categ_L.c: Likewise.
11532         * tests/unictype/test-categ_Ll.c: Likewise.
11533         * tests/unictype/test-categ_Lm.c: Likewise.
11534         * tests/unictype/test-categ_Lo.c: Likewise.
11535         * tests/unictype/test-categ_Lu.c: Likewise.
11536         * tests/unictype/test-categ_M.c: Likewise.
11537         * tests/unictype/test-categ_Mc.c: Likewise.
11538         * tests/unictype/test-categ_Mn.c: Likewise.
11539         * tests/unictype/test-categ_N.c: Likewise.
11540         * tests/unictype/test-categ_Nd.c: Likewise.
11541         * tests/unictype/test-categ_Nl.c: Likewise.
11542         * tests/unictype/test-categ_No.c: Likewise.
11543         * tests/unictype/test-categ_P.c: Likewise.
11544         * tests/unictype/test-categ_Pd.c: Likewise.
11545         * tests/unictype/test-categ_Po.c: Likewise.
11546         * tests/unictype/test-categ_S.c: Likewise.
11547         * tests/unictype/test-categ_Sc.c: Likewise.
11548         * tests/unictype/test-categ_So.c: Likewise.
11549         * tests/unictype/test-ctype_alnum.c: Likewise.
11550         * tests/unictype/test-ctype_alpha.c: Likewise.
11551         * tests/unictype/test-ctype_graph.c: Likewise.
11552         * tests/unictype/test-ctype_lower.c: Likewise.
11553         * tests/unictype/test-ctype_print.c: Likewise.
11554         * tests/unictype/test-ctype_punct.c: Likewise.
11555         * tests/unictype/test-ctype_upper.c: Likewise.
11556         * tests/unictype/test-decdigit.h: Likewise.
11557         * tests/unictype/test-digit.h: Likewise.
11558         * tests/unictype/test-numeric.h: Likewise.
11559         * tests/unictype/test-pr_alphabetic.c: Likewise.
11560         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
11561         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
11562         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
11563         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
11564         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
11565         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
11566         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
11567         * tests/unictype/test-pr_combining.c: Likewise.
11568         * tests/unictype/test-pr_composite.c: Likewise.
11569         * tests/unictype/test-pr_currency_symbol.c: Likewise.
11570         * tests/unictype/test-pr_dash.c: Likewise.
11571         * tests/unictype/test-pr_decimal_digit.c: Likewise.
11572         * tests/unictype/test-pr_deprecated.c: Likewise.
11573         * tests/unictype/test-pr_diacritic.c: Likewise.
11574         * tests/unictype/test-pr_extender.c: Likewise.
11575         * tests/unictype/test-pr_grapheme_base.c: Likewise.
11576         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
11577         * tests/unictype/test-pr_grapheme_link.c: Likewise.
11578         * tests/unictype/test-pr_id_continue.c: Likewise.
11579         * tests/unictype/test-pr_id_start.c: Likewise.
11580         * tests/unictype/test-pr_ideographic.c: Likewise.
11581         * tests/unictype/test-pr_ignorable_control.c: Likewise.
11582         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
11583         * tests/unictype/test-pr_lowercase.c: Likewise.
11584         * tests/unictype/test-pr_numeric.c: Likewise.
11585         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
11586         * tests/unictype/test-pr_punctuation.c: Likewise.
11587         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
11588         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
11589         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
11590         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
11591         * tests/unictype/test-pr_uppercase.c: Likewise.
11592         * tests/unictype/test-pr_xid_continue.c: Likewise.
11593         * tests/unictype/test-pr_xid_start.c: Likewise.
11594         * tests/unictype/test-pr_zero_width.c: Likewise.
11595         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
11596         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
11597         changed behaviour: line breaking is now disallowed between a letter
11598         or '=' and '('.
11599         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
11600         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
11601         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
11602         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
11603         * tests/uniwidth/test-uc_width2.sh: Same updates as in
11604         lib/uniwidth/width.c.
11605         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
11606         without comments, but with the original copyright notice.
11607         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
11608         changes.
11609         * lib/unictype/categ_Cc.h: Likewise.
11610         * lib/unictype/categ_Co.h: Likewise.
11611         * lib/unictype/categ_Cs.h: Likewise.
11612         * lib/unictype/categ_Lt.h: Likewise.
11613         * lib/unictype/categ_Me.h: Likewise.
11614         * lib/unictype/categ_Pc.h: Likewise.
11615         * lib/unictype/categ_Pe.h: Likewise.
11616         * lib/unictype/categ_Pf.h: Likewise.
11617         * lib/unictype/categ_Pi.h: Likewise.
11618         * lib/unictype/categ_Ps.h: Likewise.
11619         * lib/unictype/categ_Sk.h: Likewise.
11620         * lib/unictype/categ_Sm.h: Likewise.
11621         * lib/unictype/categ_Z.h: Likewise.
11622         * lib/unictype/categ_Zl.h: Likewise.
11623         * lib/unictype/categ_Zp.h: Likewise.
11624         * lib/unictype/categ_Zs.h: Likewise.
11625         * lib/unictype/ctype_blank.h: Likewise.
11626         * lib/unictype/ctype_cntrl.h: Likewise.
11627         * lib/unictype/ctype_digit.h: Likewise.
11628         * lib/unictype/ctype_space.h: Likewise.
11629         * lib/unictype/ctype_xdigit.h: Likewise.
11630         * lib/unictype/mirror.h: Likewise.
11631         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
11632         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
11633         * lib/unictype/pr_bidi_block_separator.h: Likewise.
11634         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
11635         * lib/unictype/pr_bidi_common_separator.h: Likewise.
11636         * lib/unictype/pr_bidi_control.h: Likewise.
11637         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
11638         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
11639         * lib/unictype/pr_bidi_pdf.h: Likewise.
11640         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
11641         * lib/unictype/pr_bidi_whitespace.h: Likewise.
11642         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
11643         * lib/unictype/pr_format_control.h: Likewise.
11644         * lib/unictype/pr_hex_digit.h: Likewise.
11645         * lib/unictype/pr_hyphen.h: Likewise.
11646         * lib/unictype/pr_ids_binary_operator.h: Likewise.
11647         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
11648         * lib/unictype/pr_iso_control.h: Likewise.
11649         * lib/unictype/pr_join_control.h: Likewise.
11650         * lib/unictype/pr_left_of_pair.h: Likewise.
11651         * lib/unictype/pr_line_separator.h: Likewise.
11652         * lib/unictype/pr_math.h: Likewise.
11653         * lib/unictype/pr_non_break.h: Likewise.
11654         * lib/unictype/pr_not_a_character.h: Likewise.
11655         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
11656         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
11657         * lib/unictype/pr_other_id_continue.h: Likewise.
11658         * lib/unictype/pr_other_id_start.h: Likewise.
11659         * lib/unictype/pr_other_lowercase.h: Likewise.
11660         * lib/unictype/pr_other_math.h: Likewise.
11661         * lib/unictype/pr_other_uppercase.h: Likewise.
11662         * lib/unictype/pr_paired_punctuation.h: Likewise.
11663         * lib/unictype/pr_paragraph_separator.h: Likewise.
11664         * lib/unictype/pr_pattern_syntax.h: Likewise.
11665         * lib/unictype/pr_pattern_white_space.h: Likewise.
11666         * lib/unictype/pr_private_use.h: Likewise.
11667         * lib/unictype/pr_quotation_mark.h: Likewise.
11668         * lib/unictype/pr_radical.h: Likewise.
11669         * lib/unictype/pr_soft_dotted.h: Likewise.
11670         * lib/unictype/pr_space.h: Likewise.
11671         * lib/unictype/pr_titlecase.h: Likewise.
11672         * lib/unictype/pr_variation_selector.h: Likewise.
11673         * lib/unictype/pr_white_space.h: Likewise.
11674         * lib/unictype/sy_c_ident.h: Likewise.
11675         * lib/unictype/sy_c_whitespace.h: Likewise.
11676         * lib/unictype/sy_java_whitespace.h: Likewise.
11677         * modules/uni*/*: Bump version number of expected libunistring version.
11678         Reported by Simon Josefsson.
11679
11680 2011-01-09  Karl Heuer  <kwzh@gnu.org>
11681
11682         useless-if-before-free: fix typo in --help and make the internal,
11683         automatic version date update process work once again.
11684         --help output contained a NUL character instead of the
11685         backslash-zero that was intended.  Also, the "must lie within
11686         the first 8 lines" line is on line 9, and hence not getting
11687         automatically updated.
11688         * build-aux/useless-if-before-free: Fix the former by adding a
11689         backslash, and the latter by condensing the three lines of what-it-does
11690         to a single line, leaving one line of slack for the future.
11691
11692 2011-01-09  Bruno Haible  <bruno@clisp.org>
11693
11694         uniwidth/width: Fix width of U+1D173..U+1D17A.
11695         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
11696         symbolic_width, output_width_property_test): New functions.
11697         (main): Invoke output_nonspacing_property, output_width_property_test.
11698         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
11699         U+1D173..U+1D17A.
11700         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
11701         1.
11702         * modules/uniwidth/*: Bump version number of expected libunistring
11703         version.
11704         * modules/unilbrk/*: Likewise.
11705
11706 2011-01-08  Bruno Haible  <bruno@clisp.org>
11707
11708         uninorm tests: Preserve copyright of Unicode data file.
11709         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
11710         Mention modifications.
11711
11712 2011-01-08  Bruno Haible  <bruno@clisp.org>
11713
11714         gen-uni-tables: Prepare for Unicode 5.2.0.
11715         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
11716         (debug_output_lbp, output_lbp): Update.
11717
11718 2011-01-08  Bruno Haible  <bruno@clisp.org>
11719
11720         unilbrk: Clarify gen-uni-tables.c code.
11721         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
11722         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
11723         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
11724
11725 2011-01-07  Bruno Haible  <bruno@clisp.org>
11726
11727         strtod: Restore errno when successfully parsing Infinity or NaN.
11728         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
11729         restore the original errno.
11730
11731 2011-01-07  Bruno Haible  <bruno@clisp.org>
11732
11733         remove test: Avoid failure on HP-UX 11.
11734         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
11735
11736 2011-01-07  Bruno Haible  <bruno@clisp.org>
11737
11738         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
11739         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
11740         error code.
11741
11742 2011-01-07  Pádraig Brady <P@draigBrady.com>
11743
11744         ignore-value: fixup comments, and add Eric Blake
11745         as an author since he rewrote the macros.
11746         * lib/ignore-value.h (ignore_value):  State that
11747         we now support aggregates.  Also specify exactly
11748         when the GCC warn_unused_result feature was added.
11749
11750 2011-01-06  Eric Blake  <eblake@redhat.com>
11751
11752         ignore-value: support aggregate types
11753         * lib/ignore-value.h (ignore_value): Provide separate gcc
11754         definition.
11755         * modules/ignore-value-tests: New test module.
11756         * tests/test-ignore-value.c: New test.
11757
11758         maint.mk: improve sc_prohibit_strcmp regex
11759         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
11760         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
11761         definition of STRNEQ.
11762
11763         signal: work around Haiku issue with SIGBUS
11764         * lib/siglist.h: Add comment.
11765         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
11766         strsignal's favoring of SIGSEGV.
11767         * tests/test-signal.c (main): Avoid test failure.
11768         * doc/posix-headers/signal.texi (signal.h): Document the issue.
11769         Reported by Scott McCreary.
11770
11771         maint.mk: add pre-release check to ensure submodule commits are public
11772         * top/maint.mk (public-submodule-commit): New rule.
11773         (submodule-checks): New variable.
11774         (alpha beta stable): Depend on the variable.
11775
11776 2011-01-05  Pádraig Brady <P@draigBrady.com>
11777         and Jim Meyering  <meyering@redhat.com>
11778
11779         ignore-value: make ignore_value more generic; deprecate ignore_ptr
11780         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
11781         (ATTRIBUTE_DEPRECATED): Define.
11782         (_ignore_case): New function.
11783         (ignore_value): New macro, to replace the old function.
11784         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
11785         * modules/ignore-value (Depends-on): Add stdint.
11786
11787 2011-01-04  Eric Blake  <eblake@redhat.com>
11788
11789         doc: regenerate INSTALL
11790         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
11791         @firstparagraphindent support, now that autoconf dropped it.
11792         (INSTALL_PRELUDE): Reinstate old macro.
11793         * doc/install.texi: Resync from autoconf.
11794         * doc/INSTALL: Reflect recent autoconf update.
11795         * doc/INSTALL.ISO: Likewise.
11796         * doc/INSTALL.UTF-8: Likewise.
11797         Reported by Karl Berry.
11798
11799 2011-01-04  Bruce Korb  <address@hidden>
11800
11801         git-version-gen: avoid a sub-shell
11802         * build-aux/git-version-gen: Redirect stderr in `...` via
11803         "exec 2>...", rather than via an added sub-shell.
11804
11805 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
11806
11807         git-version-gen: use (...) rather than sh -c '...'
11808         * build-aux/git-version-gen: Rather than hard-coding a shell's name
11809         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
11810
11811 2011-01-03  Jim Meyering  <meyering@redhat.com>
11812
11813         git-version-gen: convert leading TABs to spaces
11814         * build-aux/git-version-gen: Expand leading TABs.
11815
11816         git-version-gen: handle failed "git rev-list"
11817         * build-aux/git-version-gen: Rather than leaking a "fatal" error
11818         from git and proceeding as if it had succeeded but printed no SHA1
11819         checksums, suppress the diagnostic and handle the failure.
11820         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
11821
11822         git-version-gen: include command name in one more diagnostic
11823         * build-aux/git-version-gen: When the required .tarball-version file
11824         was missing or unreadable, you might see the diagnostic from "cat",
11825         but no trace of the name of the invoking script.  Now, you still see
11826         the diagnostic from cat, but also get one from "git-version-gen: ".
11827         Inspired by a patch from Bruce Korb.
11828
11829         update-copyright: adjust test to match changed code
11830         * tests/test-update-copyright.sh: Change test's expected output
11831         to match new actual output.
11832
11833 2011-01-02  Bruno Haible  <bruno@clisp.org>
11834
11835         getlogin_r: Avoid test failure on HP-UX 11.
11836         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
11837         ERANGE when the second argument is zero.
11838         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
11839         portability problem.
11840
11841 2011-01-02  Bruce Korb  <bkorb@gnu.org>
11842
11843         * build-aux/update-copyright: doc Simon's changes
11844
11845 2011-01-02  Simon Josefsson  <simon@josefsson.org>
11846
11847         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
11848         environment variable.
11849
11850 2011-01-02  Bruno Haible  <bruno@clisp.org>
11851
11852         unigbrk: Avoid gcc warnings.
11853         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
11854         unused variable.
11855         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
11856         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
11857         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
11858         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
11859         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
11860         Change type of first argument to 'const char *'.
11861         (main): Remove unused variable.
11862         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
11863         type of first argument to 'const char *'.
11864         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
11865         Likewise.
11866         (main): Change type of variable 's'.
11867         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
11868         to 'int'.
11869
11870 2011-01-02  Bruno Haible  <bruno@clisp.org>
11871
11872         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
11873         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
11874         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
11875         bug.
11876         * lib/pwrite.c: Undo 2010-12-31 patch.
11877         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
11878
11879 2011-01-02  Bruno Haible  <bruno@clisp.org>
11880
11881         pread: Fix test whether it works.
11882         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
11883
11884 2011-01-02  Bruno Haible  <bruno@clisp.org>
11885
11886         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
11887         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
11888         ends in "6". Don't require a specific month name. Try also the locale
11889         names found on HP-UX 11 and Solaris 7.
11890
11891 2011-01-02  Bruno Haible  <bruno@clisp.org>
11892
11893         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
11894         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
11895         C linkage.
11896         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
11897
11898 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
11899
11900         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
11901         for consistency, since the "cluster" term is not used elsewhere.
11902         * lib/unigbrk.in.h: Update name.
11903         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
11904         * lib/unigbrk/u16-grapheme-next.c: Update name.
11905         * lib/unigbrk/u16-grapheme-prev.c: Update name.
11906         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
11907         * lib/unigbrk/u32-grapheme-next.c: Update name.
11908         * lib/unigbrk/u32-grapheme-prev.c: Update name.
11909         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
11910         * lib/unigbrk/u8-grapheme-next.c: Update name.
11911         * lib/unigbrk/u8-grapheme-prev.c: Update name.
11912         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
11913         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
11914         Suggested by Bruno Haible.
11915
11916 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
11917
11918         Remove module 'u8-grapheme-len' as too redundant with
11919         'u8-grapheme-next'.
11920         * modules/unigbrk/u8-grapheme-len: Delete file.
11921         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
11922         * lib/unigbrk.in.h: Remove prototype for deleted function.
11923         * lib/unigbrk/u8-grapheme-len.c: Delete file.
11924         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
11925
11926         Remove module 'u16-grapheme-len' as too redundant with
11927         'u16-grapheme-next'.
11928         * modules/unigbrk/u16-grapheme-len: Delete file.
11929         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
11930         * lib/unigbrk.in.h: Remove prototype for deleted function.
11931         * lib/unigbrk/u16-grapheme-len.c: Delete file.
11932         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
11933
11934         Remove module 'u32-grapheme-len' as too redundant with
11935         'u32-grapheme-next'.
11936         * modules/unigbrk/u32-grapheme-len: Delete file.
11937         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
11938         * lib/unigbrk.in.h: Remove prototype for deleted function.
11939         * lib/unigbrk/u32-grapheme-len.c: Delete file.
11940         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
11941
11942         Suggested by Bruno Haible.
11943
11944 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
11945
11946         * unigbrk.in.h: Fix typo: "ben" => "been".
11947         Reported by Bruno Haible.
11948
11949 2011-01-01  Jim Meyering  <meyering@redhat.com>
11950
11951         maint: update almost all copyright ranges to include 2011
11952         Run the new "make update-copyright" rule.
11953
11954 2011-01-01  Jim Meyering  <meyering@redhat.com>
11955
11956         maint: update-copyright: exempt doc/INSTALL*
11957         * Makefile (update-copyright): Also exclude doc/INSTALL*,
11958         since they are generated.  Suggested by Bruno Haible.
11959
11960 2011-01-01  Jim Meyering  <meyering@redhat.com>
11961
11962         maint: refine the update-copyright rule
11963         * Makefile (update-copyright): Also exclude any file that includes
11964         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
11965         code that merely generates the comment.
11966
11967 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
11968
11969         New module 'u8-grapheme-len'.
11970         * modules/unigbrk/u8-grapheme-len: New file.
11971         * modules/unigbrk/u8-grapheme-len-tests: New file.
11972         * lib/unigbrk.in.h: Add prototype for new function.
11973         * lib/unigbrk/u8-grapheme-len.c: New file.
11974         * tests/unigbrk/test-u8-grapheme-len.c: New file.
11975
11976         New module 'u16-grapheme-len'.
11977         * modules/unigbrk/u16-grapheme-len: New file.
11978         * modules/unigbrk/u16-grapheme-len-tests: New file.
11979         * lib/unigbrk.in.h: Add prototype for new function.
11980         * lib/unigbrk/u16-grapheme-len.c: New file.
11981         * tests/unigbrk/test-u16-grapheme-len.c: New file.
11982
11983         New module 'u32-grapheme-len'.
11984         * modules/unigbrk/u32-grapheme-len: New file.
11985         * modules/unigbrk/u32-grapheme-len-tests: New file.
11986         * lib/unigbrk.in.h: Add prototype for new function.
11987         * lib/unigbrk/u32-grapheme-len.c: New file.
11988         * tests/unigbrk/test-u32-grapheme-len.c: New file.
11989
11990         New module 'u8-grapheme-next'.
11991         * modules/unigbrk/u8-grapheme-next: New file.
11992         * modules/unigbrk/u8-grapheme-next-tests: New file.
11993         * lib/unigbrk.in.h: Add prototype for new function.
11994         * lib/unigbrk/u8-grapheme-next.c: New file.
11995         * tests/unigbrk/test-u8-grapheme-next.c: New file.
11996
11997         New module 'u16-grapheme-next'.
11998         * modules/unigbrk/u16-grapheme-next: New file.
11999         * modules/unigbrk/u16-grapheme-next-tests: New file.
12000         * lib/unigbrk.in.h: Add prototype for new function.
12001         * lib/unigbrk/u16-grapheme-next.c: New file.
12002         * tests/unigbrk/test-u16-grapheme-next.c: New file.
12003
12004         New module 'u32-grapheme-next'.
12005         * modules/unigbrk/u32-grapheme-next: New file.
12006         * modules/unigbrk/u32-grapheme-next-tests: New file.
12007         * lib/unigbrk.in.h: Add prototype for new function.
12008         * lib/unigbrk/u32-grapheme-next.c: New file.
12009         * tests/unigbrk/test-u32-grapheme-next.c: New file.
12010
12011         New module 'u8-grapheme-prev'.
12012         * modules/unigbrk/u8-grapheme-prev: New file.
12013         * modules/unigbrk/u8-grapheme-prev-tests: New file.
12014         * lib/unigbrk.in.h: Add prototype for new function.
12015         * lib/unigbrk/u8-grapheme-prev.c: New file.
12016         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
12017
12018         New module 'u16-grapheme-prev'.
12019         * modules/unigbrk/u16-grapheme-prev: New file.
12020         * modules/unigbrk/u16-grapheme-prev-tests: New file.
12021         * lib/unigbrk.in.h: Add prototype for new function.
12022         * lib/unigbrk/u16-grapheme-prev.c: New file.
12023         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
12024
12025         New module 'u32-grapheme-prev'.
12026         * modules/unigbrk/u32-grapheme-prev: New file.
12027         * modules/unigbrk/u32-grapheme-prev-tests: New file.
12028         * lib/unigbrk.in.h: Add prototype for new function.
12029         * lib/unigbrk/u32-grapheme-prev.c: New file.
12030         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
12031
12032         New module 'u8-grapheme-breaks'.
12033         * modules/unigbrk/u8-grapheme-breaks: New file.
12034         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
12035         * lib/unigbrk.in.h: Add prototype for new function.
12036         * lib/unigbrk/u8-grapheme-breaks.c: New file.
12037         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
12038
12039         New module 'u16-grapheme-breaks'.
12040         * modules/unigbrk/u16-grapheme-breaks: New file.
12041         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
12042         * lib/unigbrk.in.h: Add prototype for new function.
12043         * lib/unigbrk/u16-grapheme-breaks.c: New file.
12044         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
12045
12046         New module 'u32-grapheme-breaks'.
12047         * modules/unigbrk/u32-grapheme-breaks: New file.
12048         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
12049         * lib/unigbrk.in.h: Add prototype for new function.
12050         * lib/unigbrk/u32-grapheme-breaks.c: New file.
12051         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
12052
12053         New module 'ulc-grapheme-breaks'.
12054         * modules/unigbrk/ulc-grapheme-breaks: New file.
12055         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
12056         * m4/locale-ar.m4: New file.
12057         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
12058         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
12059         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
12060
12061 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
12062
12063         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
12064         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
12065         modified how this file was generated before I initially submitted
12066         the module, but failed to regenerate it.  This meant that several
12067         of the level2 entries were wrong.
12068         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
12069         Remove the division-by-2 that is folded into the table now that
12070         gbrkprop.h has been regenerated properly.  Now -1 entries are
12071         handled correctly.
12072
12073         New module 'unigbrk/uc-gbrk-prop-tests'.
12074         * modules/unigbrk/uc-gbrk-prop-tests: New file.
12075         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
12076         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
12077         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
12078
12079 2011-01-01  Bruno Haible  <bruno@clisp.org>
12080
12081         Avoid use of hexadecimal escapes.
12082         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
12083         instead of hexadecimal escapes.
12084
12085 2011-01-01  Jim Meyering  <meyering@redhat.com>
12086
12087         maint: new rule to update copyright year ranges
12088         * Makefile (update-copyright): New rule.
12089
12090         maint: indent with TABs in Makefile
12091         * Makefile: Expand leading sequences of spaces to TABs
12092
12093         version-etc: update the copyright year it reports
12094         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
12095
12096 2010-12-31  Bruno Haible  <bruno@clisp.org>
12097
12098         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
12099         * lib/isfinite.c (zerof, zerod, zerol): New variables.
12100         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
12101         zero.
12102
12103 2010-12-31  Bruno Haible  <bruno@clisp.org>
12104
12105         pwrite: Work around HP-UX 11.11 bug.
12106         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
12107         works and set REPLACE_PWRITE if not.
12108         * lib/pwrite.c (pwrite): Add an implementation that uses the system
12109         function.
12110         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
12111
12112 2010-12-31  Bruno Haible  <bruno@clisp.org>
12113
12114         pread: Work around HP-UX 11 bugs.
12115         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
12116         and set REPLACE_PREAD if not.
12117         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
12118
12119 2010-12-31  Eric Blake  <eblake@redhat.com>
12120
12121         nl_langinfo: fix YESEXPR on Irix 6.5
12122         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
12123         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
12124         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
12125         it.
12126
12127 2010-12-31  Bruno Haible  <bruno@clisp.org>
12128
12129         iconv: Document HP-UX 11 bug.
12130         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
12131
12132 2010-12-31  Bruno Haible  <bruno@clisp.org>
12133
12134         ldexpl: Fix link error on HP-UX 11.
12135         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
12136         LDEXPL_LIBM, using $ISNANL_LIBM.
12137
12138 2010-12-31  Eric Blake  <eblake@redhat.com>
12139
12140         ftello: avoid compilation failure with SunStudio c89
12141         * lib/ftello.c (ftello): Use lseek, not llseek.
12142
12143         tests: avoid failing coreutils tests on cygwin
12144         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
12145         (create_exe_shims_): Return 0 when skipping.
12146
12147 2010-12-31  Bruno Haible  <bruno@clisp.org>
12148
12149         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
12150         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
12151
12152 2010-12-31  Bruno Haible  <bruno@clisp.org>
12153
12154         waitpid: Fix link error in C++ mode.
12155         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
12156
12157 2010-12-31  Bruno Haible  <bruno@clisp.org>
12158
12159         isnan: Use GCC built-ins when possible.
12160         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
12161         __builtin_isnan.
12162         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
12163         (isnan): Define using GCC built-ins for GCC >= 4.0.
12164
12165 2010-12-31  Bruno Haible  <bruno@clisp.org>
12166
12167         isnand: Fix mistake.
12168         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
12169         __builtin_isnand.
12170
12171 2010-12-31  Bruno Haible  <bruno@clisp.org>
12172
12173         open: Avoid C++ error on HP-UX 11.
12174         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
12175
12176 2010-12-31  Bruno Haible  <bruno@clisp.org>
12177
12178         time_r: Add missing declarations on HP-UX 11.
12179         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
12180         instead of HAVE_LOCALTIME_R.
12181         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
12182         HAVE_LOCALTIME_R always.
12183         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
12184         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
12185         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
12186         HAVE_LOCALTIME_R.
12187         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
12188         * doc/posix-functions/localtime_r.texi: Likewise.
12189
12190 2010-12-29  Eric Blake  <eblake@redhat.com>
12191
12192         mountlist: tweak previous commit
12193         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
12194         Reported by Paul Eggert.
12195
12196         mountlist: fix local drive detection on cygwin
12197         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
12198         that works for cygwin.
12199
12200 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
12201
12202         ftoastr, snprintf: ftoastr + snprintf module
12203         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
12204         since the snprintf module now should be good enough here.
12205         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
12206         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
12207         and gl_MODULE_INDICATOR([snprintf]), but the former enables
12208         GNULIB_SNPRINTF only for the test directory, and the latter
12209         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
12210         seems to suffice by itself.
12211
12212 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12213
12214         alloca: one step towards thread-safety
12215         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
12216         need for a static variable.  All callers changed.  This does not
12217         make the alloca replacement thread-safe, but it's one step.
12218
12219         tests: minor indenting change
12220         * tests/init.sh: Sync from coreutils housekeeping patch
12221         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
12222         to keep lines within 80 columns.
12223
12224 2010-12-28  Jim Meyering  <meyering@redhat.com>
12225
12226         regex: don't infloop on persistent failing calloc
12227         * lib/regexec.c (build_trtable): Return failure indication upon
12228         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
12229         In glibc, this was fixed for version 2.13:
12230         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
12231
12232 2010-12-28  Bruno Haible  <bruno@clisp.org>
12233             Paul Eggert <eggert@cs.ucla.edu>
12234
12235         linkat: Make implementation robust against system behaviour variations.
12236         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
12237         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
12238         way, and to -2 if it needs a generic runtime test.
12239         * lib/linkat.c (solaris_optimized_link_immediate,
12240         solaris_optimized_link_follow): New functions.
12241         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
12242         (check_same_link): Use it.
12243
12244 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
12245
12246         New module 'unigbrk/base'.
12247         * modules/unigbrk/base: New file.
12248         * lib/unigbrk.in.h: New file.
12249
12250         New module 'unigbrk/uc-gbrk-prop'.
12251         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
12252         * modules/unigbrk/uc-gbrk-prop: New file.
12253         * lib/unigbrk/gbrkprop.h: New file.
12254         * lib/unigbrk/uc-gbrk-prop.c: New file.
12255
12256         New module 'unigbrk/uc-is-grapheme-break'.
12257         * modules/unigbrk/uc-is-grapheme-break: New file.
12258         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
12259         * lib/unigbrk/uc-is-grapheme-break.c: New file.
12260         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
12261         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
12262         * tests/unigbrk/GraphemeBreakTest.txt: New file.
12263
12264         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
12265
12266 2010-12-27  Bruno Haible  <bruno@clisp.org>
12267
12268         linkat test: Avoid failure on Solaris 11 2010-11.
12269         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
12270
12271 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
12272
12273         utimens: work around glibc rounding bug on more platforms
12274         * lib/utimens.c (fdutimens): Work around rounding bug even if
12275         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
12276         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
12277
12278 2010-12-27  Bruno Haible  <bruno@clisp.org>
12279
12280         select tests: Improve comments.
12281         * tests/test-select.c (do_select): Add comments.
12282
12283 2010-12-27  Bruno Haible  <bruno@clisp.org>
12284
12285         select tests: Safer way of handling timeout.
12286         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
12287         at every invocation.
12288
12289 2010-12-27  Bruno Haible  <bruno@clisp.org>
12290
12291         select tests: Use 'bool' where appropriate.
12292         * tests/test-select.c (connect_to_socket): Change argument type to
12293         'bool'.
12294
12295 2010-12-27  Bruno Haible  <bruno@clisp.org>
12296
12297         select tests: Use existing modules.
12298         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
12299         (configure.ac): Don't test for unistd.h.
12300         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
12301         declared in <unistd.h>.
12302
12303 2010-12-27  Bruno Haible  <bruno@clisp.org>
12304
12305         mbrtowc: Work around a Solaris 7 bug.
12306         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
12307         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
12308         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
12309         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
12310         MBRTOWC_NULL_ARG1_BUG.
12311         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
12312         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
12313         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
12314         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
12315
12316 2010-12-27  Jim Meyering  <meyering@redhat.com>
12317
12318         read-file.c: tweak syntax
12319         * lib/read-file.c (fread_file): Remove space after "*" in function
12320         definitions.
12321
12322 2010-12-27  Bruno Haible  <bruno@clisp.org>
12323
12324         times test: Avoid gcc warnings on OSF/1.
12325         * tests/test-times.c (main): Cast printf arguments from clock_t to
12326         'long int'.
12327
12328 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
12329
12330         utimens: work around glibc rounding bug on older Linux kernels
12331         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
12332         on Linux with a glibc whose utimes might not work, then work
12333         around a longstanding glibc bug involving rounding rather than
12334         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
12335         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
12336
12337 2010-12-26  Bruno Haible  <bruno@clisp.org>
12338
12339         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
12340         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
12341         _GL_CXXALIAS_SYS.
12342         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12343
12344 2010-12-26  Bruno Haible  <bruno@clisp.org>
12345
12346         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
12347         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
12348         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
12349         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
12350         looking for the declaration.
12351         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
12352         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
12353         problem.
12354         * doc/posix-functions/inet_pton.texi: Likewise.
12355
12356 2010-12-26  Bruno Haible  <bruno@clisp.org>
12357
12358         arpa_inet: Use the common idioms with C++ support.
12359         * lib/arpa_inet.in.h: Include c++defs.h.
12360         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
12361         support.
12362         * modules/arpa_inet (Depends-on): Add c++defs.
12363         (Makefile.am): Substitute the contents of c++defs.h.
12364         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
12365         * modules/arpa_inet-c++-tests: New file.
12366         * tests/test-arpa_inet-c++.cc: New file.
12367
12368 2010-12-25  Bruno Haible  <bruno@clisp.org>
12369
12370         Fix more C++ link errors on Solaris 8.
12371         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
12372         $(LIB_EACCESS).
12373         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
12374         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
12375         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
12376         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
12377         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
12378
12379 2010-12-25  Bruno Haible  <bruno@clisp.org>
12380
12381         printf-posix: Fix link error when a non-GCC compiler is used.
12382         * lib/stdio.in.h (printf): When not using GCC, override printf
12383         correctly.
12384         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12385
12386 2010-12-25  Bruno Haible  <bruno@clisp.org>
12387
12388         strerror_r-posix: Update doc.
12389         * doc/posix-functions/strerror_r.texi: Update doc about the return
12390         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
12391
12392 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
12393
12394         utimens: simplify the logic of the previous change
12395         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
12396         This should not affect whether the test succeeds or fails.
12397
12398         utimens: configure better on hosts with NFS clock skew
12399         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
12400         uses the clock of the local host.  It might use the clock of the
12401         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
12402         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
12403
12404 2010-12-25  Bruno Haible  <bruno@clisp.org>
12405
12406         ptsname test: Avoid failure on Solaris.
12407         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
12408         open a pseudo-terminal; don't use BSD-style ptys.
12409         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
12410
12411 2010-12-25  Bruno Haible  <bruno@clisp.org>
12412
12413         ptsname: Avoid ERANGE failure on some systems.
12414         * lib/ptsname.c (buffer): Increase size.
12415
12416 2010-12-25  Bruno Haible  <bruno@clisp.org>
12417
12418         rename, renameat: Avoid test failures at NFS mounted locations.
12419         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
12420         so that subsequent mkdir calls succeed.
12421
12422 2010-12-25  Bruno Haible  <bruno@clisp.org>
12423
12424         iswblank: Fix C++ link error on Solaris 8.
12425         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
12426         _GL_FUNCDECL_SYS.
12427
12428 2010-12-25  Bruno Haible  <bruno@clisp.org>
12429
12430         unistd: Fix C++ link error on Solaris 8.
12431         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
12432
12433 2010-12-25  Bruno Haible  <bruno@clisp.org>
12434
12435         readlink doc: Mention an old glibc bug.
12436         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
12437
12438 2010-12-25  Bruno Haible  <bruno@clisp.org>
12439
12440         fcntl-h: Fix for use of C++ on glibc systems.
12441         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
12442         also on glibc systems in C++ mode.
12443         Reported by Gary V. Vaughan <gary@gnu.org>.
12444
12445 2010-12-25  Bruno Haible  <bruno@clisp.org>
12446
12447         roundl-ieee: Make it work on OSF/1 5.1 with cc.
12448         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
12449
12450 2010-12-25  Bruno Haible  <bruno@clisp.org>
12451
12452         truncl-ieee: Make it work on OSF/1 5.1 with cc.
12453         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
12454         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
12455         test whether truncl works according to ISO C 99 with IEC 60559.
12456         * m4/truncl-ieee.m4: New file.
12457         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
12458         m4/signbit.m4.
12459         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
12460
12461 2010-12-25  Bruno Haible  <bruno@clisp.org>
12462
12463         ceill-ieee: Make it work on OSF/1 5.1 with cc.
12464         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
12465         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
12466         test whether ceill works according to ISO C 99 with IEC 60559.
12467         * m4/ceill-ieee.m4: New file.
12468         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
12469         m4/signbit.m4.
12470         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
12471
12472 2010-12-25  Bruno Haible  <bruno@clisp.org>
12473
12474         Ensure all prerequisites of <wchar.h> are included.
12475         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
12476         before <wchar.h>.
12477         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
12478         gl_MBRLEN_NUL_RETVAL): Likewise.
12479         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
12480         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
12481         AC_FUNC_MBRTOWC): Likewise.
12482         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
12483         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
12484         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
12485         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
12486         Likewise.
12487         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
12488         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
12489         (gl_WCHAR_H): Improve comments.
12490         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
12491
12492 2010-12-25  Bruno Haible  <bruno@clisp.org>
12493
12494         strtok_r: Fix C syntax error in autoconf macro.
12495         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
12496         characters in test program.
12497
12498 2010-12-24  Bruno Haible  <bruno@clisp.org>
12499
12500         ceil, trunc, round: Fix gcc warnings.
12501         * lib/ceil.c (MIN): Undefine before redefining.
12502         * lib/trunc.c (MIN): Likewise.
12503         * lib/round.c (MIN): Likewise.
12504         Include <math.h> first.
12505
12506 2010-12-24  Bruno Haible  <bruno@clisp.org>
12507
12508         select tests: Avoid failures on OSF/1 5.1.
12509         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
12510         failure of closing the last socket; it may fail with ECONNRESET.
12511
12512 2010-12-24  Eric Blake  <eblake@redhat.com>
12513
12514         stdint: avoid HP-UX 10.20 preprocessor bug
12515         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
12516         than #if.
12517         * tests/test-floor2.c (main): Likewise.
12518         Reported by Peter O'Gorman.
12519
12520         pipe: make obsoletion transition easier
12521         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
12522         * modules/pipe (Files): Include revived file.
12523         (Include): Drop reference, to mirror getdate's behavior.
12524
12525 2010-12-24  Bruno Haible  <bruno@clisp.org>
12526
12527         sys_socket: Hide mismatch of declarations on NonStop Kernel.
12528         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
12529         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
12530         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12531
12532 2010-12-24  Bruno Haible  <bruno@clisp.org>
12533
12534         gethostname: Ensure declaration on NonStop Kernel.
12535         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
12536         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12537
12538 2010-12-24  Bruno Haible  <bruno@clisp.org>
12539
12540         sys_select: Ensure all necessary types on NonStop Kernel.
12541         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
12542         include <sys/time.h>.
12543         * doc/posix-headers/sys_select.texi: Mention that it's missing on
12544         NonStop Kernel.
12545         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12546
12547 2010-12-24  Bruno Haible  <bruno@clisp.org>
12548
12549         sys_select: Remove unneeded include.
12550         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
12551         have <sys/select.h>.
12552
12553 2010-12-24  Bruno Haible  <bruno@clisp.org>
12554
12555         gethostname: Provide a fallback for HOST_NAME_MAX.
12556         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
12557         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
12558         instead.
12559         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12560
12561 2010-12-24  Bruno Haible  <bruno@clisp.org>
12562
12563         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
12564         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
12565         (SA_RESTART): Likewise.
12566         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12567
12568 2010-12-24  Bruno Haible  <bruno@clisp.org>
12569
12570         signal: Define NSIG.
12571         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
12572         * tests/test-signal.c (nsig): New variable.
12573         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12574
12575 2010-12-24  Bruno Haible  <bruno@clisp.org>
12576
12577         rename, renameat: Avoid test failures on OSF/1 5.1.
12578         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
12579         alternative error codes.
12580         * tests/test-renameat.c (main): Likewise.
12581
12582 2010-12-24  Bruno Haible  <bruno@clisp.org>
12583
12584         *printf: Detect large precisions bug on Solaris 10/SPARC.
12585         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
12586         by Paul Eggert.
12587         * tests/test-snprintf-posix.h (test_function): Add this test code here
12588         too.
12589         * tests/test-sprintf-posix.h (test_function): Likewise.
12590         * tests/test-vasnprintf-posix.c (test_function): Likewise.
12591         * tests/test-vasprintf-posix.c (test_function): Likewise.
12592         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
12593         around by gnulib.
12594         * doc/posix-functions/printf.texi: Likewise.
12595         * doc/posix-functions/snprintf.texi: Likewise.
12596         * doc/posix-functions/sprintf.texi: Likewise.
12597         * doc/posix-functions/vfprintf.texi: Likewise.
12598         * doc/posix-functions/vprintf.texi: Likewise.
12599         * doc/posix-functions/vsnprintf.texi: Likewise.
12600         * doc/posix-functions/vsprintf.texi: Likewise.
12601         * doc/posix-functions/dprintf.texi: Undo last commit.
12602         * doc/posix-functions/vdprintf.texi: Likewise.
12603
12604 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12605
12606         tests: port test-fdutimensat.c to Solaris 8
12607         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
12608         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
12609         On Solaris 8, it fails with errno == ENOSYS, because there is no
12610         futimens (so it can't use the fd), and there is no lutimens (so it
12611         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
12612
12613         vsnprintf: make more consistent with snprintf; doc fixes
12614
12615         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
12616         the byte count return problem was promoted from the snprintf-posix
12617         to the snprintf module.
12618         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12619         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
12620         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
12621         * tests/test-snprintf.c (main): Check the byte count returned.
12622         * tests/test-vsnprintf.c (main): Likewise.
12623
12624 2010-12-23  Eric Blake  <eblake@redhat.com>
12625
12626         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
12627         * modules/sigpipe (License): Relax license.
12628
12629 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
12630
12631         doc: document Solaris printf bug with large float precisions
12632         * doc/posix-functions/dprintf.texi (dprintf):
12633         * doc/posix-functions/fprintf.texi (fprintf):
12634         * doc/posix-functions/printf.texi (printf):
12635         * doc/posix-functions/snprintf.texi (snprintf):
12636         * doc/posix-functions/sprintf.texi (sprintf):
12637         * doc/posix-functions/vdprintf.texi (vdprintf):
12638         * doc/posix-functions/vfprintf.texi (vfprintf):
12639         * doc/posix-functions/vprintf.texi (vprintf):
12640         * doc/posix-functions/vsnprintf.texi (vsnprintf):
12641         * doc/posix-functions/vsprintf.texi (vsprintf):
12642         Mention that these functions mishandle large floating point
12643         precisions on Solaris 10.  The same bug is also present in Solaris
12644         8, and I assume earlier.  This causes "cd gnulib-tests; make
12645         check" to fail on Solaris 8 (and I assume, later) when building
12646         the latest coreutils, in test-vasprintf-posix's call to
12647         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
12648         the wide flavors (e.g., wprintf) so this patch just updates the
12649         documentation for the narrow ones.
12650
12651         test-posixtm.c: add two tests
12652         * tests/test-posixtm.c: Add two tests, to highlight the
12653         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
12654         around this bug; this is merely to document it.
12655
12656 2010-12-22  Bruno Haible  <bruno@clisp.org>
12657
12658         getlogin_r: Work around portability problem on OSF/1.
12659         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
12660         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
12661         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
12662         test for a truncated result.
12663         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
12664         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
12665         * modules/getlogin_r (Depends-on): Add memchr.
12666         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
12667
12668 2010-12-22  Bruno Haible  <bruno@clisp.org>
12669
12670         ptsname: Avoid test failure on OSF/1 5.1.
12671         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
12672         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
12673         (same_slave): New function.
12674         (main): Use it to compare ptsname's result with the expected file name.
12675
12676 2010-12-22  Bruno Haible  <bruno@clisp.org>
12677
12678         Port extended stdio modules to HP NonStop Kernel.
12679         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
12680         macros.
12681         * lib/fbufmode.c: Update comments.
12682         * lib/fflush.c: Likewise.
12683         * lib/fpurge.c: Likewise.
12684         * lib/freadable.c: Likewise.
12685         * lib/freadahead.c: Likewise.
12686         * lib/freading.c: Likewise.
12687         * lib/freadptr.c: Likewise.
12688         * lib/freadseek.c: Likewise.
12689         * lib/fseeko.c: Likewise.
12690         * lib/fseterr.c: Likewise.
12691         * lib/fwritable.c: Likewise.
12692         * lib/fwriting.c: Likewise.
12693         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
12694
12695 2010-12-22  Bruno Haible  <bruno@clisp.org>
12696
12697         ttyname_r: Work around bug on OSF/1 5.1.
12698         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
12699         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
12700         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
12701         present.
12702         * lib/ttyname_r.c (ttyname_r): Update comments.
12703
12704 2010-12-22  Bruno Haible  <bruno@clisp.org>
12705
12706         round: Implement result sign according to IEEE 754.
12707         * lib/round.c (MIN, MINUS_ZERO): New macros.
12708         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
12709         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
12710         * tests/test-round-ieee.c (main): Likewise.
12711         * tests/test-roundl-ieee.c (main): Likewise.
12712
12713         trunc: Implement result sign according to IEEE 754.
12714         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
12715         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
12716         * tests/test-trunc2.c: Include minus-zero.h.
12717         (MINUS_ZERO): New macro.
12718         (trunc_reference): Keep in sync with lib/trunc.c.
12719         * tests/test-truncf2.c: Include minus-zero.h.
12720         (MINUS_ZERO): New macro.
12721         (truncf_reference): Keep in sync with lib/trunc.c.
12722         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
12723         * tests/test-trunc-ieee.c (main): Likewise.
12724         * tests/test-truncl-ieee.c (main): Likewise.
12725
12726         ceil: Implement result sign according to IEEE 754.
12727         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
12728         (FUNC): Return -0.0 for -1 < x < 0.
12729         * tests/test-ceil2.c: Include minus-zero.h.
12730         (MINUS_ZERO): New macro.
12731         (ceil_reference): Keep in sync with lib/ceil.c.
12732         * tests/test-ceilf2.c: Include minus-zero.h.
12733         (MINUS_ZERO): New macro.
12734         (ceilf_reference): Keep in sync with lib/ceil.c.
12735         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
12736         * tests/test-ceil-ieee.c (main): Likewise.
12737         * tests/test-ceill-ieee.c (main): Likewise.
12738
12739         floor: Implement result sign according to IEEE 754.
12740         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
12741         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
12742         * tests/test-floorf2.c (floorf_reference): Likewise.
12743         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
12744         * tests/test-floor-ieee.c (main): Likewise.
12745         * tests/test-floorl-ieee.c (main): Likewise.
12746
12747 2010-12-22  Bruno Haible  <bruno@clisp.org>
12748
12749         getaddrinfo: Update doc.
12750         * doc/posix-functions/gai_strerror.texi: Return type is also different
12751         on AIX and HP-UX.
12752
12753 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
12754
12755         getaddrinfo, inet_ntop: Update doc for Solaris.
12756         * doc/posix-functions/gai_strerror.texi: Return type is also an
12757         issue on Solaris 9 and earlier.
12758         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
12759         on Solaris 10 and earlier.
12760
12761 2010-12-21  Bruno Haible  <bruno@clisp.org>
12762
12763         New module 'roundl-ieee'.
12764         * modules/roundl-ieee: New file.
12765         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
12766         test whether roundl works according to ISO C 99 with IEC 60559.
12767         * m4/roundl-ieee.m4: New file.
12768         * modules/roundl-ieee-tests: New file.
12769         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
12770         * tests/test-roundl.c (main): Remove signbit tests.
12771         * modules/roundl-tests (Depends-on): Remove signbit.
12772         * doc/posix-functions/roundl.texi: Mention the new module.
12773
12774 2010-12-21  Bruno Haible  <bruno@clisp.org>
12775
12776         New module 'truncl-ieee'.
12777         * modules/truncl-ieee: New file.
12778         * modules/truncl-ieee-tests: New file.
12779         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
12780         * tests/test-truncl.c (main): Remove signbit tests.
12781         * modules/truncl-tests (Depends-on): Remove signbit.
12782         * doc/posix-functions/truncl.texi: Mention the new module.
12783
12784 2010-12-21  Bruno Haible  <bruno@clisp.org>
12785
12786         New module 'ceill-ieee'.
12787         * modules/ceill-ieee: New file.
12788         * modules/ceill-ieee-tests: New file.
12789         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
12790         * tests/test-ceill.c (main): Remove signbit tests.
12791         * modules/ceill-tests (Depends-on): Remove signbit.
12792         * doc/posix-functions/ceill.texi: Mention the new module.
12793
12794 2010-12-21  Bruno Haible  <bruno@clisp.org>
12795
12796         New module 'floorl-ieee'.
12797         * modules/floorl-ieee: New file.
12798         * modules/floorl-ieee-tests: New file.
12799         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
12800         * tests/test-floorl.c (main): Remove signbit tests.
12801         * modules/floorl-tests (Depends-on): Remove signbit.
12802         * doc/posix-functions/floorl.texi: Mention the new module.
12803
12804 2010-12-21  Bruno Haible  <bruno@clisp.org>
12805
12806         New module 'round-ieee'.
12807         * modules/round-ieee: New file.
12808         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
12809         whether round works according to ISO C 99 with IEC 60559.
12810         * m4/round-ieee.m4: New file.
12811         * modules/round-ieee-tests: New file.
12812         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
12813         * tests/test-round1.c (main): Remove signbit tests.
12814         * modules/round-tests (Depends-on): Remove 'signbit'.
12815         * doc/posix-functions/round.texi: Mention the new module.
12816
12817 2010-12-21  Bruno Haible  <bruno@clisp.org>
12818
12819         New module 'trunc-ieee'.
12820         * modules/trunc-ieee: New file.
12821         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
12822         whether trunc works according to ISO C 99 with IEC 60559.
12823         * m4/trunc-ieee.m4: New file.
12824         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
12825         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
12826         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
12827         * modules/trunc-ieee-tests: New file.
12828         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
12829         * tests/test-trunc1.c (main): Remove signbit tests.
12830         * modules/trunc-tests (Depends-on): Remove 'signbit'.
12831         * doc/posix-functions/trunc.texi: Mention the new module.
12832
12833 2010-12-21  Bruno Haible  <bruno@clisp.org>
12834
12835         New module 'ceil-ieee'.
12836         * modules/ceil-ieee: New file.
12837         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
12838         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
12839         ISO C 99 with IEC 60559.
12840         * m4/ceil-ieee.m4: New file.
12841         * modules/ceil (Files): Add lib/ceil.c.
12842         (Depends-on): Add 'float'.
12843         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12844         * lib/math.in.h (ceil): New declaration.
12845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
12846         REPLACE_CEIL.
12847         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
12848         * modules/ceil-ieee-tests: New file.
12849         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
12850         * tests/test-math-c++.cc: Check the signature of 'ceil'.
12851         * doc/posix-functions/ceil.texi: Mention the new module.
12852
12853 2010-12-21  Bruno Haible  <bruno@clisp.org>
12854
12855         New module 'floor-ieee'.
12856         * modules/floor-ieee: New file.
12857         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
12858         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
12859         ISO C 99 with IEC 60559.
12860         * m4/floor-ieee.m4: New file.
12861         * modules/floor (Files): Add lib/floor.c.
12862         (Depends-on): Add 'float'.
12863         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12864         * lib/math.in.h (floor): New declaration.
12865         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
12866         REPLACE_FLOOR.
12867         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
12868         * modules/floor-ieee-tests: New file.
12869         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
12870         * tests/test-math-c++.cc: Check the signature of 'floor'.
12871         * doc/posix-functions/floor.texi: Mention the new module.
12872
12873 2010-12-21  Bruno Haible  <bruno@clisp.org>
12874
12875         New module 'roundf-ieee'.
12876         * modules/roundf-ieee: New file.
12877         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
12878         test whether roundf works according to ISO C 99 with IEC 60559.
12879         * m4/roundf-ieee.m4: New file.
12880         * modules/roundf-ieee-tests: New file.
12881         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
12882         * tests/test-roundf1.c (main): Remove signbit tests.
12883         * modules/roundf-tests (Depends-on): Remove 'signbit'.
12884         * doc/posix-functions/roundf.texi: Mention the new module.
12885
12886 2010-12-21  Bruno Haible  <bruno@clisp.org>
12887
12888         New module 'truncf-ieee'.
12889         * modules/truncf-ieee: New file.
12890         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
12891         test whether truncf works according to ISO C 99 with IEC 60559.
12892         * m4/truncf-ieee.m4: New file.
12893         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
12894         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
12895         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
12896         * modules/truncf-ieee-tests: New file.
12897         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
12898         * tests/test-truncf1.c (main): Remove signbit tests.
12899         * modules/truncf-tests (Depends-on): Remove 'signbit'.
12900         * doc/posix-functions/truncf.texi: Mention the new module.
12901
12902 2010-12-21  Bruno Haible  <bruno@clisp.org>
12903
12904         New module 'ceilf-ieee'.
12905         * modules/ceilf-ieee: New file.
12906         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
12907         test whether ceilf works according to ISO C 99 with IEC 60559.
12908         * m4/ceilf-ieee.m4: New file.
12909         * modules/ceilf-ieee-tests: New file.
12910         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
12911         * tests/test-ceilf1.c (main): Remove signbit tests.
12912         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
12913         * doc/posix-functions/ceilf.texi: Mention the new module.
12914
12915 2010-12-21  Bruno Haible  <bruno@clisp.org>
12916
12917         New module 'floorf-ieee'.
12918         * modules/floorf-ieee: New file.
12919         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
12920         test whether floorf works according to ISO C 99 with IEC 60559.
12921         * m4/floorf-ieee.m4: New file.
12922         * modules/floorf-ieee-tests: New file.
12923         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
12924         * tests/test-floorf1.c (main): Remove signbit tests.
12925         * modules/floorf-tests (Depends-on): Remove 'signbit'.
12926         * doc/posix-functions/floorf.texi: Mention the new module.
12927
12928 2010-12-21  Bruno Haible  <bruno@clisp.org>
12929
12930         Support for minus zero in autoconf macros.
12931         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
12932         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
12933         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
12934         * tests/minus-zero.h: Update comments.
12935
12936 2010-12-21  Bruno Haible  <bruno@clisp.org>
12937
12938         Tests for module 'ceil'.
12939         * modules/ceil-tests: New file.
12940         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
12941         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
12942
12943 2010-12-21  Bruno Haible  <bruno@clisp.org>
12944
12945         Tests for module 'floor'.
12946         * modules/floor-tests: New file.
12947         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
12948         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
12949
12950 2010-12-21  Bruno Haible  <bruno@clisp.org>
12951
12952         math: Fix indentation.
12953         * lib/math.in.h (floorf): Fix indentation.
12954
12955 2010-12-21  Bruno Haible  <bruno@clisp.org>
12956
12957         Fix cross-compilation guesses on Solaris.
12958         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
12959         not match "solaris2.10".
12960         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
12961         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
12962         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
12963
12964 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
12965
12966         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
12967         This fixes a problem observed with the latest coreutils snapshot
12968         that caused a test to fail on Solaris 8.  src/csplit.c's call
12969         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
12970         earlier, instead of returning the number of bytes that would have
12971         been generated; this causes csplit to incorrectly report memory
12972         exhaustion.
12973         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
12974         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
12975         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
12976         comments to match.
12977         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
12978         Fix typo in matching older versions of Solaris: "solaris2.10"
12979         is matched by the shell pattern "solaris2.[0-9]*".  This matters
12980         only for guessing while cross-compiling.
12981         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
12982
12983 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
12984
12985         ftoastr: fix comment again
12986         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
12987         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
12988         Also, simplify example a bit by using flags = 0.
12989
12990 2010-12-20  Bruno Haible  <bruno@clisp.org>
12991
12992         round*, trunc*: Update documentation regarding glibc.
12993         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
12994         * doc/posix-functions/round.texi: Likewise.
12995         * doc/posix-functions/roundl.texi: Likewise.
12996         * doc/posix-functions/truncf.texi: Likewise.
12997         * doc/posix-functions/trunc.texi: Likewise.
12998         * doc/posix-functions/truncl.texi: Likewise.
12999
13000 2010-12-20  Bruno Haible  <bruno@clisp.org>
13001
13002         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
13003         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
13004         * doc/posix-functions/round.texi: Likewise.
13005         * doc/posix-functions/roundl.texi: Likewise.
13006
13007 2010-12-20  Bruno Haible  <bruno@clisp.org>
13008
13009         ttyname_r: Add missing declaration on HP-UX 11.
13010         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
13011         HAVE_TTYNAME_R.
13012         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
13013         declared. Set HAVE_TTYNAME_R always.
13014         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13015         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
13016         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
13017         HAVE_TTYNAME_R.
13018         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
13019
13020 2010-12-20  Bruno Haible  <bruno@clisp.org>
13021
13022         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
13023         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
13024         * doc/posix-functions/getlogin_r.texi: Likewise.
13025         * tests/test-getlogin.c: Include <errno.h>.
13026         (main): Avoid test failure on HP-UX 11.11.
13027         * tests/test-getlogin_r.c (main): Likewise.
13028
13029 2010-12-20  Bruno Haible  <bruno@clisp.org>
13030
13031         getlogin_r: Add missing declaration on HP-UX 11.
13032         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
13033         declared also when it exists as a function.
13034         * doc/posix-functions/getlogin_r.texi: Document this workaround.
13035
13036 2010-12-20  Bruno Haible  <bruno@clisp.org>
13037
13038         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
13039         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
13040         through wcrtomb.
13041
13042 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
13043
13044         ftoastr: fix comment
13045         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
13046         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
13047
13048 2010-12-19  Bruno Haible  <bruno@clisp.org>
13049
13050         isnan: Ensure it is a macro.
13051         * lib/math.in.h (isnan): Define as a macro if not already a macro.
13052         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
13053         Solaris.
13054
13055 2010-12-19  Bruno Haible  <bruno@clisp.org>
13056
13057         ldexpl test: Fix link error on OSF/1 5.1.
13058         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
13059
13060 2010-12-19  Bruno Haible  <bruno@clisp.org>
13061
13062         wctype: Make it work in C++ mode on OSF/1 5.1.
13063         * lib/wctype.in.h (iswblank): Declare but not define here.
13064         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
13065         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
13066         * modules/wctype (Files): Add lib/iswblank.c.
13067
13068 2010-12-19  Bruno Haible  <bruno@clisp.org>
13069
13070         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
13071         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
13072         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
13073
13074 2010-12-19  Bruno Haible  <bruno@clisp.org>
13075
13076         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
13077         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
13078         _POSIX_PII_SOCKET.
13079         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
13080         * doc/posix-functions/recvfrom.texi: Likewise.
13081         * doc/posix-functions/send.texi: Likewise.
13082         * doc/posix-functions/sendto.texi: Likewise.
13083
13084 2010-12-19  Bruno Haible  <bruno@clisp.org>
13085
13086         tcgetsid: Add missing declaration on OSF/1 5.1.
13087         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
13088         HAVE_TCGETSID.
13089         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
13090         Don't set HAVE_TCGETSID.
13091         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
13092         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
13093         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
13094         HAVE_TCGETSID.
13095         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
13096
13097 2010-12-19  Bruno Haible  <bruno@clisp.org>
13098
13099         stdio: Fix problem with popen() declaration on OSF/1 5.1.
13100         * lib/stdio.in.h: During the include_next statement, let recursive
13101         includes of this file include only the system header file.
13102
13103 2010-12-19  Bruno Haible  <bruno@clisp.org>
13104
13105         iconv_open: Fix regression from 2010-12-04.
13106         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
13107         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
13108
13109 2010-12-19  Bruno Haible  <bruno@clisp.org>
13110
13111         stdbool test: Avoid a gcc warning.
13112         * tests/test-stdbool.c (main): Fail if e1 is false.
13113         Reported by Jim Meyering.
13114
13115 2010-12-19  Jim Meyering  <meyering@redhat.com>
13116
13117         setenv: restore to working order
13118         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
13119         mistakenly removed.
13120         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
13121         HAVE_SETENV.
13122         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
13123         HAVE_SETENV.
13124
13125 2010-12-19  Bruno Haible  <bruno@clisp.org>
13126
13127         Document some different function declarations on OSF/1 5.1.
13128         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
13129         * doc/posix-functions/inet_ntop.texi: Likewise.
13130         * doc/posix-functions/gethostname.texi: Likewise.
13131         * lib/unistd.in.h (gethostname): Update comment.
13132
13133 2010-12-19  Bruno Haible  <bruno@clisp.org>
13134
13135         doc: Mention vasprintf-posix module.
13136         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
13137         the 'vasprintf-posix' module.
13138         * doc/glibc-functions/vasprintf.texi: Likewise.
13139
13140 2010-12-19  Bruno Haible  <bruno@clisp.org>
13141
13142         unsetenv: Add missing declaration on OSF/1 5.1.
13143         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
13144         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
13145         Don't set HAVE_UNSETENV. In the test program, set _BSD.
13146         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
13147         not HAVE_UNSETENV.
13148         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
13149         HAVE_UNSETENV.
13150         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
13151
13152 2010-12-19  Bruno Haible  <bruno@clisp.org>
13153
13154         setenv: Add missing declaration on OSF/1 5.1.
13155         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
13156         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
13157         declared. Don't set HAVE_SETENV.
13158         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
13159         not HAVE_SETENV.
13160         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
13161         HAVE_SETENV.
13162         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
13163
13164 2010-12-19  Bruno Haible  <bruno@clisp.org>
13165
13166         nl_langinfo tests: Avoid gcc warning.
13167         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
13168
13169 2010-12-19  Bruno Haible  <bruno@clisp.org>
13170
13171         mknod: Avoid error in C++ mode on OSF/1 with GCC.
13172         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
13173         _GL_CXXALIAS_SYS.
13174
13175 2010-12-19  Bruno Haible  <bruno@clisp.org>
13176
13177         stdbool: Relax test.
13178         * tests/test-stdbool.c (e): Don't require that casts from a variable's
13179         address to 'bool' work in static initializer, for compilers other than
13180         GCC.
13181
13182 2010-12-19  Bruno Haible  <bruno@clisp.org>
13183
13184         ftello: Add missing declaration on OSF/1 5.1.
13185         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
13186         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
13187         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
13188         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
13189         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
13190
13191 2010-12-19  Bruno Haible  <bruno@clisp.org>
13192
13193         fseeko: Add missing declaration on OSF/1 5.1.
13194         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
13195         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
13196         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
13197         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
13198         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
13199
13200 2010-12-19  Bruno Haible  <bruno@clisp.org>
13201
13202         fchdir: Add missing declaration on OSF/1 5.1.
13203         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
13204         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
13205         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
13206         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
13207         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
13208
13209 2010-12-19  Bruno Haible  <bruno@clisp.org>
13210
13211         relocatable-prog-wrapper: Separate from relocatable-prog.
13212         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
13213         uninstall-relocwrapper rule here.
13214         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
13215         Reported by Ian Beckwith <ianb@erislabs.net>.
13216
13217 2010-12-19  Bruno Haible  <bruno@clisp.org>
13218
13219         unistr/u8-mbsnlen: Add missing dependency.
13220         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
13221         Reported by Ian Beckwith <ianb@erislabs.net>.
13222
13223 2010-12-19  Bruno Haible  <bruno@clisp.org>
13224
13225         iconv: Make it possible again to use this module without 'iconv-h'.
13226         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
13227         if it is not defined.
13228         Reported by Ian Beckwith <ianb@erislabs.net>.
13229
13230 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
13231
13232         acl: port to Solaris 8 when copying from tmpfs to ufs
13233         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
13234         error number.  Problem observed on Solaris 8 with latest
13235         coreutils, with "mv A B", where A is on a tmpfs file system and B
13236         is on a ufs file system.  This caused coreutils' mv/part-symlink
13237         test to fail.
13238
13239         tests: set fail=0 at start
13240         * tests/init.sh (setup_): Move fail=0 initialization here ...
13241         (mktempd_): ... from here, so that tests can rely on fail being
13242         set to 0 initially.  This fixes a problem in coreutils; see:
13243         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
13244
13245 2010-12-18  Bruno Haible  <bruno@clisp.org>
13246
13247         memmem-simple: Stylistic changes.
13248         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
13249         Fix preprocessor directive indentation.
13250
13251 2010-12-15  Pádraig Brady <P@draigBrady.com>
13252
13253         memmem, memmem-simple: reorganize and expand empty needle check
13254         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
13255         functional checks to memmem-simple so that one has a fully functional
13256         memmem by using just this module.
13257         Restrict the performance only check to the memmem module.
13258         Also expand the empty needle check to ensure the correct
13259         pointer is returned, not just a non NULL pointer.
13260         * doc/glibc-functions/memmem.texi: Rearrange the portability
13261         documentation to correlate with the rearranged checks.
13262         Clarify exactly how the memmem and memmem-simple modules
13263         relate to each other.
13264
13265 2010-12-15  Pádraig Brady <P@draigBrady.com>
13266             Bruno Haible  <bruno@clisp.org>
13267
13268         Improve cross-compilation guesses for uClibc.
13269         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
13270         that uClibc does not have the glibc bug.
13271         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
13272         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
13273
13274 2010-12-14  Eric Blake  <eblake@redhat.com>
13275
13276         configmake: provide fallbacks for oldest supported autotools
13277         * m4/configmake.m4: New file.
13278         * modules/configmake (Files): Ship it.
13279         (configure.ac): Use it to guarantee fallbacks.
13280
13281 2010-12-13  Pádraig Brady <P@draigBrady.com>
13282
13283         read-file: Improve handling of large files
13284         * lib/read-file.c (fread_file): Minimize realloc()s
13285         for regular files, and better manage sizes around SIZE_MAX.
13286
13287 2010-12-13  Eric Blake  <eblake@redhat.com>
13288
13289         cloexec, fcntl: relax license
13290         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
13291         consent from all contributors.
13292         * modules/fcntl (License): Likewise.
13293
13294 2010-12-10  Bruno Haible  <bruno@clisp.org>
13295
13296         Tests for module 'pipe-posix'.
13297         * modules/pipe-posix-tests: New file.
13298         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
13299
13300 2010-12-10  Bruno Haible  <bruno@clisp.org>
13301
13302         pipe-posix: Make it work in C++ mode.
13303         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
13304         (pipe): Use common idiom, not a macro definition.
13305         * lib/pipe.c: New file.
13306         * m4/pipe.m4: New file.
13307         * modules/pipe-posix (Description): Enhance.
13308         (Files): Add lib/pipe.c, m4/pipe.m4.
13309         (configure.ac): Invoke gl_FUNC_PIPE.
13310         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
13311         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
13312         * tests/test-unistd-c++.cc: Check the signature of pipe.
13313
13314 2010-12-10  Bruno Haible  <bruno@clisp.org>
13315
13316         Rename module 'pipe' to 'spawn-pipe'.
13317         * modules/spawn-pipe: New file, renamed from modules/pipe.
13318         (Files, configure.ac, Makefile.am): Update.
13319         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
13320         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
13321         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
13322         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
13323         "spawn-pipe.h" instead of "pipe.h".
13324         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
13325         to gl_SPAWN_PIPE.
13326         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
13327         (Files, Makefile.am): Update.
13328         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
13329         Update.
13330         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
13331         Include "spawn-pipe.h" instead of "pipe.h".
13332         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
13333         * lib/javacomp.c: Likewise.
13334         * lib/javaversion.c: Likewise.
13335         * lib/pipe-filter-gi.c: Likewise.
13336         * lib/pipe-filter-ii.c: Likewise.
13337         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
13338         * modules/javacomp (Depends-on): Likewise.
13339         * modules/javaversion (Depends-on): Likewise.
13340         * modules/pipe-filter-gi (Depends-on): Likewise.
13341         * modules/pipe-filter-ii (Depends-on): Likewise.
13342         * MODULES.html.sh (Executing programs): Update.
13343         * NEWS: Mention the change.
13344
13345 2010-12-10  Eric Blake  <eblake@redhat.com>
13346
13347         pipe-posix: new module
13348         * modules/pipe-posix: New file.
13349         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
13350         (gl_UNISTD_H): Check for declaration.
13351         * modules/unistd (Makefile.am): Substitute it.
13352         * lib/unistd.in.h (pipe): Provide it for mingw.
13353         * doc/posix-functions/pipe.texi (pipe): Update documentation.
13354         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
13355
13356 2010-12-07  Bruno Haible  <bruno@clisp.org>
13357
13358         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
13359         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
13360         u8_strcmp_gnu.
13361         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
13362
13363 2010-12-06  Bruno Haible  <bruno@clisp.org>
13364
13365         Update internal documentation.
13366         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
13367
13368 2010-12-04  Bruno Haible  <bruno@clisp.org>
13369
13370         Put more information about failed tests into the test return codes.
13371         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
13372         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
13373         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
13374         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13375         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
13376         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
13377         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
13378         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
13379         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
13380         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
13381         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
13382         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
13383         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13384         * m4/stdint.m4 (gl_STDINT_H): Likewise.
13385         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
13386         returns a bit mask.
13387         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
13388         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
13389         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
13390         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
13391         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
13392         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
13393         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
13394         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
13395         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
13396         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
13397         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
13398         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
13399         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
13400         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
13401         * m4/link.m4 (gl_FUNC_LINK): Likewise.
13402         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
13403         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
13404         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
13405         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
13406         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
13407         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
13408         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
13409         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
13410         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
13411         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
13412         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
13413         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
13414         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
13415         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
13416         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
13417         gl_PRINTF_PRECISION): Likewise.
13418         * m4/regex.m4 (gl_REGEX): Likewise.
13419         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
13420         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
13421         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
13422         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
13423         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
13424         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
13425         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
13426         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
13427         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
13428         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13429         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
13430         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
13431         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
13432         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
13433         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
13434         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
13435         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
13436         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
13437         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13438         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
13439         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
13440         enumerated value.
13441         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
13442
13443 2010-12-04  Bruno Haible  <bruno@clisp.org>
13444
13445         Update for Solaris 11 2010-11.
13446         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
13447         Express, released in November 2010.
13448
13449 2010-12-04  Bruno Haible  <bruno@clisp.org>
13450
13451         nproc: Relax license.
13452         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
13453         and Paul Eggert.
13454         Requested by Ludovic Courtès <ludo@gnu.org>.
13455
13456 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
13457
13458         utimecmp: fine-grained src to nearby coarse-grained dest
13459
13460         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
13461         and the source is on a file system with higher-resolution time
13462         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
13463         not work, and the time stamps are close together, the algorithm to
13464         determine the exact resolution from the read-back mtime was buggy:
13465         it had a "!=" where it should have had an "==".  This bug has been
13466         in the code ever since it was introduced to gnulib.
13467         Problem reported by Dan Jacobson in
13468         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
13469
13470 2010-11-30  Bruno Haible  <bruno@clisp.org>
13471
13472         strerror_r-posix: Fix autoconf test.
13473         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
13474
13475 2010-11-28  Bruno Haible  <bruno@clisp.org>
13476             Paul Eggert  <eggert@cs.ucla.edu>
13477
13478         Tests for module 'getdomainname'.
13479         * modules/getdomainname-tests: New file.
13480         * tests/test-getdomainname.c: New file, based on
13481         tests/test-gethostname.c.
13482
13483 2010-11-28  Bruno Haible  <bruno@clisp.org>
13484             Paul Eggert  <eggert@cs.ucla.edu>
13485
13486         getdomainname: Use the system function when possible.
13487         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
13488         (getdomainname): Replace if needed. Provide the declaration if it is
13489         missing. Don't use _GL_CXXALIAS_SYS_CAST.
13490         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
13491         (getdomainname): When the system has getdomainname, call the system
13492         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
13493         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
13494         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
13495         found in libnsl. Look for the declaration also in <netdb.h>. Replace
13496         the function if its second argument is of type 'int' or if it is found
13497         in libnsl.
13498         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
13499         <sys/systeminfo.h> and sysinfo().
13500         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
13501         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13502         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
13503         HAVE_GETDOMAINNAME.
13504         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
13505         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
13506         * doc/glibc-functions/getdomainname.texi: Document the problems with
13507         the getdomainname declaration.
13508
13509 2010-11-28  Bruno Haible  <bruno@clisp.org>
13510
13511         sys_socket: Ensure ss_family field on AIX.
13512         * lib/sys_socket.in.h (ss_family): New macro definition.
13513         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
13514         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
13515         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
13516         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
13517         * modules/sys_socket (Makefile.am): Substitute
13518         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
13519         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
13520
13521 2010-11-27  Bruno Haible  <bruno@clisp.org>
13522
13523         readline: Improve configure output.
13524         * m4/readline.m4 (gl_FUNC_READLINE): Make the
13525         "checking for readline..." result understandable.
13526
13527 2010-11-27  Bruno Haible  <bruno@clisp.org>
13528
13529         *printf-posix: Detect a bug on Solaris 10/x86.
13530         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
13531         for floating-point output.
13532         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
13533         directive.
13534         * tests/test-snprintf-posix.h (test_function): Likewise.
13535         * tests/test-sprintf-posix.h (test_function): Likewise.
13536         * tests/test-vasprintf-posix.c (test_function): Likewise.
13537         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
13538         * doc/posix-functions/printf.texi: Likewise.
13539         * doc/posix-functions/snprintf.texi: Likewise.
13540         * doc/posix-functions/sprintf.texi: Likewise.
13541         * doc/posix-functions/vfprintf.texi: Likewise.
13542         * doc/posix-functions/vprintf.texi: Likewise.
13543         * doc/posix-functions/vsnprintf.texi: Likewise.
13544         * doc/posix-functions/vsprintf.texi: Likewise.
13545         * doc/glibc-functions/obstack_printf.texi: Likewise.
13546         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13547
13548 2010-11-27  Bruno Haible  <bruno@clisp.org>
13549
13550         Fix link error when module libunistring-optional is in use.
13551         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
13552         * modules/striconveha-tests (Makefile.am): Likewise.
13553
13554 2010-11-27  Bruno Haible  <bruno@clisp.org>
13555
13556         regex: Mention link dependencies.
13557         * modules/regex (Link): New section.
13558         * modules/rpmatch (Link): Likewise.
13559         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
13560
13561 2010-11-27  Bruno Haible  <bruno@clisp.org>
13562
13563         ftoastr: Fix compilation error on Solaris.
13564         * lib/ftoastr.c: Include <config.h>.
13565
13566 2010-11-27  Bruno Haible  <bruno@clisp.org>
13567
13568         getloadavg: Update documentation.
13569         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
13570
13571 2010-11-27  Bruno Haible  <bruno@clisp.org>
13572
13573         sys_socket: Fix test whether the functions are declared.
13574         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
13575         not <sys/select.h>.
13576
13577 2010-11-27  Bruno Haible  <bruno@clisp.org>
13578
13579         getpass: Make sure to get system declaration on some platforms.
13580         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
13581         gl_USE_SYSTEM_EXTENSIONS.
13582         * modules/getpass (Depends-on): Add extensions.
13583
13584 2010-11-26  Bruno Haible  <bruno@clisp.org>
13585
13586         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
13587         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
13588         'iconv' module is present.
13589         (ICONV_CONST): New macro.
13590         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
13591         ICONV_CONST.
13592         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
13593         set ICONV_CONST.
13594         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
13595         here.
13596         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
13597         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
13598         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
13599         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
13600         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
13601         present.
13602
13603 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
13604
13605         ftoastr: comment fix
13606         * lib/ftoastr.c: "little" -> "little or no" in comment
13607
13608 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
13609
13610         stdint: port to GCC 4.3 + OSX + Octave
13611         On this platform, stdint.h is buggy and defines int64_t to long
13612         long int.  The replacement defined it to long int, causing
13613         problems with C++ style name mangling.  Instead, trust the system
13614         definition if INT64_MAX is defined, and likewise for the unsigned
13615         variant.   Problem reported by Jarno Rajahalme in
13616         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
13617         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
13618         and don't mess with int64_t and INT64_MAX in this case.
13619         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
13620
13621 2010-11-24  Bruno Haible  <bruno@clisp.org>
13622
13623         doc: Corrections regarding MacOS X 10.4 and 10.5.
13624         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
13625         MacOS X.
13626         Reported by Simon Josefsson.
13627
13628 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
13629
13630         Uninstall ".bin" files installed by relocwrapper.
13631         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
13632         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
13633         unless it is already there.
13634
13635 2010-11-21  Bruno Haible  <bruno@clisp.org>
13636
13637         Update for NetBSD 5.0.
13638         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
13639         NetBSD; the test fails on NetBSD 5.0.
13640         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
13641         about NetBSD.
13642
13643 2010-11-21  Bruno Haible  <bruno@clisp.org>
13644
13645         Update for HP-UX 11.23 and HP-UX 11.31.
13646         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
13647         HP-UX.
13648
13649 2010-11-21  Bruno Haible  <bruno@clisp.org>
13650
13651         Update for MacOS X 10.5.
13652         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
13653         MacOS X; the test fails on MacOS X 10.5.8.
13654         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
13655         about MacOS X.
13656
13657 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
13658
13659         bootstrap: add bootstrap_sync option.
13660         See discussion at
13661         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
13662         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
13663         * build-aux/bootstrap: Accept --bootstrap-sync to update
13664         bootstrap if it is not identical to the local gnulib's
13665         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
13666         enable this by default.  Accept --no-bootstrap-sync to disable
13667         it.
13668
13669 2010-11-20  Bruno Haible  <bruno@clisp.org>
13670
13671         Ensure that <features.h> is included before __GLIBC__ is tested.
13672         * lib/printf-parse.h: Include <features.h>.
13673         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
13674         Reported by Mike Frysinger <vapier@gentoo.org>.
13675
13676         Ensure that <features.h> is included before __GLIBC__ is tested.
13677         * lib/wchar.in.h: Include <features.h>.
13678         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
13679         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
13680         Reported by Mike Frysinger <vapier@gentoo.org>.
13681
13682         Ensure that <features.h> is included before __GLIBC__ is tested.
13683         * lib/arpa_inet.in.h: Include <features.h>.
13684         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
13685         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
13686         Reported by Mike Frysinger <vapier@gentoo.org>.
13687
13688         Ensure that <features.h> is included before __GLIBC__ is tested.
13689         * build-aux/link-warning.h: Include <features.h>.
13690         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
13691         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
13692         Reported by Mike Frysinger <vapier@gentoo.org>.
13693
13694         Ensure that <features.h> is included before __GLIBC__ is tested.
13695         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
13696         Reported by Mike Frysinger <vapier@gentoo.org>.
13697
13698 2010-11-20  Bruno Haible  <bruno@clisp.org>
13699
13700         memmem: Fix autoconf test.
13701         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
13702
13703 2010-11-20  Bruno Haible  <bruno@clisp.org>
13704
13705         Port to uClibc.
13706         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
13707         * lib/fcntl.in.h: Likewise.
13708         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
13709         * lib/mbrtowc.c (mbrtowc): Likewise.
13710         * lib/relocatable.c (find_shared_library_fullname): Likewise.
13711         * lib/strerror_r.c: Likewise.
13712         * lib/unistr/u8-strnlen.c: Likewise.
13713         * lib/vasnprintf.c (decimal_point_char): Likewise.
13714         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
13715         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
13716         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
13717         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
13718         * tests/test-sigaction.c (handler, main): Likewise.
13719         * lib/freading.h: Treat uClibc like a non-glibc platform.
13720         * lib/freading.c: Likewise.
13721         * lib/gettext.h: Likewise.
13722         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
13723         Likewise.
13724         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
13725         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
13726         * lib/propername.c (proper_name_utf8): Likewise.
13727         * lib/spawn.in.h: Likewise.
13728         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
13729         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
13730         mem_cd_iconveh_internal): Likewise.
13731         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
13732         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
13733         strstr, strcasestr): Likewise.
13734         * lib/unicodeio.c (unicode_to_mb): Likewise.
13735         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
13736         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
13737         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
13738         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
13739         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
13740         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
13741         * lib/unistr/u8-stpncpy.c: Likewise.
13742         * lib/vasnprintf.c (VASNPRINTF): Likewise.
13743         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
13744         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
13745         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
13746         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
13747         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
13748         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
13749         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
13750         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
13751         Likewise.
13752         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
13753         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
13754         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
13755         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13756         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
13757         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13758         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13759         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
13760         * tests/test-getopt.h (OPTIND_MIN): Likewise.
13761         * tests/test-striconveha.c (main): Likewise.
13762         * tests/test-vasnprintf-posix.c (test_function): Likewise.
13763         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
13764         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
13765         * doc/posix-functions/getline.texi: Likewise.
13766         Reported by Mike Frysinger <vapier@gentoo.org>.
13767
13768 2010-11-20  Bruno Haible  <bruno@clisp.org>
13769
13770         nproc: Fix condition.
13771         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
13772         HAVE_PTHREAD_AFFINITY_NP.
13773
13774 2010-11-20  Bruno Haible  <bruno@clisp.org>
13775
13776         Fix a comment.
13777         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
13778
13779 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
13780
13781         ftoastr: don't assume snprintf
13782         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
13783         Implement a subset of snprintf here, by using sprintf safely.
13784         * modules/ftoastr (Depends-on): Remove snprintf.
13785
13786 2010-11-19  Jim Meyering  <meyering@redhat.com>
13787
13788         test-rename.h: fix compilation failure
13789         * tests/test-rename.h (test_rename): Add omitted "}".
13790
13791 2010-11-17  Jim Meyering  <meyering@redhat.com>
13792
13793         maint.mk: add a URL discussing the no-@acronym policy
13794         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
13795
13796 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
13797
13798         ftoastr: depend on snprintf, improve comments
13799         * lib/ftoastr.c: Also mention Loitsch's draft.
13800         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
13801         needed in the current implementation, but it might simplify
13802         speeding up the code later.
13803         * modules/ftoastr: Depend on snprintf; this improves portability.
13804         Suggested by Bruno Haible in the same email.
13805
13806         ftoastr: port to hosts lacking strtof and strtold
13807         Problem reported by Bruno Haible in
13808         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
13809         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
13810         environment and strtold (and presumably strtof) are not available.
13811         * modules/ftoastr (Files): Add m4/c-strtod.m4.
13812         (configure.ac): Require gl_C99_STRTOLD.
13813
13814 2010-11-18  Bruno Haible  <bruno@clisp.org>
13815
13816         c-strtold: Avoid link error on AIX 7.
13817         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
13818         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
13819         (gl_C_STRTOLD): Test whether strtold_l exists.
13820         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
13821
13822 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
13823
13824         intprops: new macro INT_BITS_STRLEN_BOUND
13825         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
13826         ftoastr.h.  This exposes an internal of intprops.h that was formerly
13827         not exposed.  Also, it uses a slightly tighter bound than before;
13828         though this makes no practical difference, we might as well be as
13829         tight as we easily can.
13830
13831         ftoastr: new module, for lossless conversion of floats to short strings
13832         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
13833         * modules/ftoastr: New files.
13834
13835 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
13836
13837         bootstrap: port to Solaris sed
13838         * build-aux/bootstrap (get_version): Port to Solaris sed.
13839         See Ralf Wildenhues's note in
13840         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
13841
13842 2010-11-14  Jim Meyering  <meyering@redhat.com>
13843
13844         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
13845         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
13846         and move definition closer to sole use.
13847
13848 2010-11-13  Jim Meyering  <meyering@redhat.com>
13849
13850         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
13851         Now we require at least autoconf-2.59, which means the work-around
13852         is no longer needed.
13853         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
13854         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13855         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
13856         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
13857         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
13858
13859 2010-11-13  Bruno Haible  <bruno@clisp.org>
13860
13861         rename, renameat: Avoid test failures at NFS mounted locations.
13862         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
13863         functions.
13864         (test_rename): Use assert_nonexistent.
13865         * tests/test-rename.c: Include <dirent.h>.
13866         * tests/test-renameat.c: Likewise.
13867         Reported by Gary V. Vaughan <gary@gnu.org>.
13868
13869         rename, renameat: Document Linux bug with NFS
13870         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
13871         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
13872         * doc/posix-functions/renameat.texi: Likewise.
13873         Suggested by Eric Blake.
13874
13875 2010-11-13  Bruno Haible  <bruno@clisp.org>
13876
13877         rename test: Add comments.
13878         * tests/test-rename.h (test_rename): Add structure and comments.
13879
13880 2010-11-13  Eric Blake  <eblake@redhat.com>
13881
13882         maintainer-makefile: cover a few more files
13883         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
13884         scripts generated within C files, for libvirt.
13885
13886 2010-11-13  Bruno Haible  <bruno@clisp.org>
13887
13888         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
13889         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
13890         character, return the number of bytes that belong together, not always
13891         1.
13892         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
13893         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
13894         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
13895         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
13896         number of bytes of an invalid character.
13897         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
13898         (main): Invoke it.
13899         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
13900         results.
13901         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
13902         malformed byte sequences.
13903         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
13904         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
13905         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
13906         Reported by Ben Pfaff and Paolo Bonzini.
13907
13908 2010-11-13  Bruno Haible  <bruno@clisp.org>
13909
13910         openat: Work around glibc bug with fchownat() and empty file names.
13911         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
13912         (gl_FUNC_FCHOWNAT): Invoke it.
13913         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
13914         * doc/posix-functions/fchownat.texi: Document the glibc bug.
13915         Reported by Gary V. Vaughan <gary@gnu.org>.
13916
13917 2010-11-13  Bruno Haible  <bruno@clisp.org>
13918
13919         openat: Ensure autoconf macro ordering.
13920         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
13921         gl_USE_SYSTEM_EXTENSIONS.
13922         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
13923
13924 2010-11-13  Bruno Haible  <bruno@clisp.org>
13925
13926         Update comments.
13927         * lib/unistr/u8-check.c: Update file name in comments.
13928         * lib/unistr/u8-mblen.c: Likewise.
13929         * lib/unistr/u8-prev.c: Likewise.
13930         * lib/unistr/u8-strmblen.c: Likewise.
13931         * lib/unistr/u8-strmbtouc.c: Likewise.
13932
13933 2010-11-13  Jim Meyering  <meyering@redhat.com>
13934
13935         tests: avoid test failure on Solaris 10 due to lack of PATH export
13936         * tests/test-update-copyright.sh: Don't forget to export PATH.
13937
13938         init.sh: ensure that IFS is defined, just in case...
13939         * tests/init.sh (setup_): Ensure that IFS is defined,
13940         so that saving and restoring it works as expected.  This
13941         appears to be useful at least for an old version of dash
13942         from a long time ago (RH 6).  See here for details:
13943         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
13944
13945         maint.mk: tighten "test a == b" check
13946         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
13947         test to files that contain something like #!/bin/sh.
13948         Without this, coreutils would get two false positives in
13949         the comments of C source files.
13950
13951 2010-11-12  Eric Blake  <eblake@redhat.com>
13952
13953         bootstrap: fix typo in previous attempt
13954         * build-aux/bootstrap (buildreq): Correct the grouping.
13955         Reported by Paul Eggert.
13956
13957         maintainer-makefile: prohibit test x == x
13958         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
13959         Based on a report by Matthias Bolte.
13960
13961         bootstrap: allow FreeBSD gzip
13962         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
13963         which has no '.' and goes to stderr.
13964         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
13965         Reported by Matthias Bolte.
13966
13967         maintainer-makefile: check for i18n setup
13968         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
13969         will likely work.
13970
13971 2010-11-12  Bruno Haible  <bruno@clisp.org>
13972
13973         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
13974         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
13975         * lib/nanosleep.c (nanosleep): Likewise.
13976
13977 2010-11-11  Bruno Haible  <bruno@clisp.org>
13978
13979         fcntl-h: Fix for use of C++ on glibc systems.
13980         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
13981         also on glibc systems in C++ mode.
13982         Reported by Gary V. Vaughan <gary@gnu.org>.
13983
13984 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
13985
13986         mknod: avoid false failure with dash
13987         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
13988
13989 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
13990
13991         unlink: Fix "is it should" typo in diagnostic.
13992         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
13993         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
13994
13995 2010-11-11  Bruno Haible  <bruno@clisp.org>
13996
13997         Tests for module 'strerror_r-posix'.
13998         * modules/strerror_r-posix-tests: New file.
13999         * tests/test-strerror_r.c: New file.
14000         * tests/test-string-c++.cc: Check the signature of strerror_r.
14001
14002         New module 'strerror_r-posix'.
14003         * lib/string.in.h (strerror_r): New declaration.
14004         * lib/strerror_r.c: New file.
14005         * m4/strerror_r.m4: New file.
14006         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
14007         of strerror_r.
14008         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
14009         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
14010         * modules/strerror_r-posix: New file.
14011         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
14012         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
14013         * doc/posix-functions/strerror_r.texi: Mention the new module and the
14014         portability problems.
14015
14016 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
14017
14018         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
14019         line is also considered for output. Quoted function name in shell
14020         command, so temporary files for functions like MyClass::operator()
14021         are removed correctly without errors.
14022
14023 2010-11-09  Bruno Haible  <bruno@clisp.org>
14024
14025         * doc/posix-functions/strerror.texi: List more failing platforms.
14026
14027         * doc/posix-functions/strerror.texi: Add a comment.
14028
14029 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
14030
14031         fdopendir: fix bug on MacOS X when low on file descriptors
14032
14033         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
14034         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
14035         All callers changed.
14036         (fdopendir): Invoke save_cwd at the top level, not after using
14037         multiple dup() calls to use up file descriptors.  Then retry
14038         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
14039         less than the maximum number of open file descriptors, because
14040         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
14041         on Mac OS X 10.6.4 for tar 1.24
14042         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
14043         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
14044         and for tar 1.25
14045         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
14046
14047 2010-11-07  Bruno Haible  <bruno@clisp.org>
14048
14049         vasnprintf: Support I flag on glibc systems.
14050         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
14051         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
14052         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
14053         snprintf function.
14054         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
14055         glibc systems.
14056         * tests/test-vasnprintf-posix3.c: New file.
14057         * modules/vasnprintf-posix-tests (Files): Add it.
14058         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
14059
14060 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
14061
14062         [html] Fix copy/paste bug: Use unique name for compiler warnings.
14063         * MODULES.html.sh: For compiler warnings, use name
14064         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
14065
14066 2010-11-05  Eric Blake  <eblake@redhat.com>
14067
14068         ceil, floor: avoid spurious failure with icc
14069         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
14070         [denormals-as-zero] when optimizing without -mieee-fp option.
14071         * tests/test-floorf2.c (floorf_reference): Likewise.
14072         * tests/test-ceilf1.c (dummy): New function.
14073         (main): Use it to outsmart icc's optimization.
14074         * tests/test-floorf1.c (dummy, main): Likewise.
14075
14076         tests: require working signbit
14077         * modules/ceilf-tests (Depends-on): Add signbit.
14078         * modules/ceill-tests (Depends-on): Likewise.
14079         * modules/floorf-tests (Depends-on): Likewise.
14080         * modules/floorl-tests (Depends-on): Likewise.
14081         * modules/round-tests (Depends-on): Likewise.
14082         * modules/roundf-tests (Depends-on): Likewise.
14083         * modules/roundl-tests (Depends-on): Likewise.
14084         * modules/trunc-tests (Depends-on): Likewise.
14085         * modules/truncf-tests (Depends-on): Likewise.
14086         * modules/truncl-tests (Depends-on): Likewise.
14087
14088         strtod: work around icc bug
14089         * lib/strtod.c (minus_zero): Define to working value.
14090         (strtod): Use it to avoid icc bug.
14091
14092         copysign: enhance tests
14093         * modules/copysign-tests (Files): Add minus-zero.h.
14094         * tests/test-copysign.c (main): Also test zeros.
14095
14096 2010-11-04  Eric Blake  <eblake@redhat.com>
14097
14098         ceil, floor, round, trunc: enhance tests of -0
14099         * tests/test-ceilf1.c (main): Ensure correct sign of result.
14100         * tests/test-ceill.c (main): Likewise.
14101         * tests/test-floorf1.c (main): Likewise.
14102         * tests/test-floorl.c (main): Likewise.
14103         * tests/test-round1.c (main): Likewise.
14104         * tests/test-roundf1.c (main): Likewise.
14105         * tests/test-roundl.c (main): Likewise.
14106         * tests/test-trunc1.c (main): Likewise.
14107         * tests/test-truncf1.c (main): Likewise.
14108         * tests/test-truncl.c (main): Likewise.
14109
14110 2010-11-04  Eric Blake  <eblake@redhat.com>
14111
14112         frexp, tests: work around ICC bug with -zero
14113         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
14114         works with more compilers.
14115         * tests/minus-zero.h: New file.
14116         * modules/ceilf-tests (Files): Include it.
14117         * modules/ceill-tests (Files): Likewise.
14118         * modules/floorf-tests (Files): Likewise.
14119         * modules/floorl-tests (Files): Likewise.
14120         * modules/frexp-nolibm-tests (Files): Likewise.
14121         * modules/frexp-tests (Files): Likewise.
14122         * modules/frexpl-nolibm-tests (Files): Likewise.
14123         * modules/frexpl-tests (Files): Likewise.
14124         * modules/isnan-tests (Files): Likewise.
14125         * modules/isnand-nolibm-tests (Files): Likewise.
14126         * modules/isnand-tests (Files): Likewise.
14127         * modules/isnanf-nolibm-tests (Files): Likewise.
14128         * modules/isnanf-tests (Files): Likewise.
14129         * modules/isnanl-nolibm-tests (Files): Likewise.
14130         * modules/isnanl-tests (Files): Likewise.
14131         * modules/round-tests (Files): Likewise.
14132         * modules/roundf-tests (Files): Likewise.
14133         * modules/roundl-tests (Files): Likewise.
14134         * modules/ldexpl-tests (Files): Likewise.
14135         * modules/signbit-tests (Files): Likewise.
14136         * modules/snprintf-posix-tests (Files): Likewise.
14137         * modules/sprintf-posix-tests (Files): Likewise.
14138         * modules/strtod-tests (Files): Likewise.
14139         * modules/trunc-tests (Files): Likewise.
14140         * modules/truncf-tests (Files): Likewise.
14141         * modules/truncl-tests (Files): Likewise.
14142         * modules/vsnprintf-posix-tests (Files): Likewise.
14143         * modules/vsprintf-posix-tests (Files): Likewise.
14144         * modules/vasnprintf-posix-tests (Files): Likewise.
14145         * modules/vasprintf-posix-tests (Files): Likewise.
14146         * tests/test-ceilf1.c (main): Use it.
14147         * tests/test-ceill.c (main): Likewise.
14148         * tests/test-floorf1.c (main): Likewise.
14149         * tests/test-floorl.c (main): Likewise.
14150         * tests/test-frexp.c (main): Likewise.
14151         * tests/test-frexpl.c (main): Likewise.
14152         * tests/test-isnan.c (main): Likewise.
14153         * tests/test-isnand.h (main): Likewise.
14154         * tests/test-isnanf.h (main): Likewise.
14155         * tests/test-isnanl.h (main): Likewise.
14156         * tests/test-ldexpl.c (main): Likewise.
14157         * tests/test-round.c (main): Likewise.
14158         * tests/test-roundf.c (main): Likewise.
14159         * tests/test-roundl.c (main): Likewise.
14160         * tests/test-signbit.c (test_signbitf, test_signbitd)
14161         (test_signbitl): Likewise.
14162         * tests/test-snprintf-posix.h (test_function): Likewise.
14163         * tests/test-sprintf-posix.h (test_function): Likewise.
14164         * tests/test-strtod.c (main): Likewise.
14165         * tests/test-trunc1.c (main): Likewise.
14166         * tests/test-truncf1.c (main): Likewise.
14167         * tests/test-truncl.c (main): Likewise.
14168
14169         isnanl: work around icc bug
14170         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
14171
14172 2010-11-03  Eric Blake  <eblake@redhat.com>
14173
14174         tests: fix compiler warnings
14175         * tests/test-getopt.h (test_getopt): Fix condition.
14176         * tests/test-getopt_long.h (test_getopt_long): Likewise.
14177         * tests/test-pipe2.c (main): Likewise.
14178         * tests/test-quotearg-simple.c (main): Avoid icc warning.
14179
14180         utimens: fix broken m4 test
14181         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
14182
14183 2010-10-28  Bruno Haible  <bruno@clisp.org>
14184
14185         posix_spawn*, getdtablesize: Relax license.
14186         * modules/posix_spawn (License): Change to LGPLv2+.
14187         * modules/posix_spawnp (License): Likewise.
14188         * modules/posix_spawn-internal (License): Likewise.
14189         * modules/posix_spawnattr_init (License): Likewise.
14190         * modules/posix_spawnattr_getflags (License): Likewise.
14191         * modules/posix_spawnattr_setflags (License): Likewise.
14192         * modules/posix_spawnattr_getpgroup (License): Likewise.
14193         * modules/posix_spawnattr_setpgroup (License): Likewise.
14194         * modules/posix_spawnattr_getschedparam (License): Likewise.
14195         * modules/posix_spawnattr_setschedparam (License): Likewise.
14196         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
14197         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
14198         * modules/posix_spawnattr_getsigdefault (License): Likewise.
14199         * modules/posix_spawnattr_setsigdefault (License): Likewise.
14200         * modules/posix_spawnattr_getsigmask (License): Likewise.
14201         * modules/posix_spawnattr_setsigmask (License): Likewise.
14202         * modules/posix_spawnattr_destroy (License): Likewise.
14203         * modules/posix_spawn_file_actions_init (License): Likewise.
14204         * modules/posix_spawn_file_actions_addclose (License): Likewise.
14205         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
14206         * modules/posix_spawn_file_actions_addopen (License): Likewise.
14207         * modules/posix_spawn_file_actions_destroy (License): Likewise.
14208         * modules/getdtablesize (License): Likewise.
14209         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
14210
14211 2010-10-26  Bruno Haible  <bruno@clisp.org>
14212
14213         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
14214         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
14215         Cygwin and mingw.
14216         Suggested by Eric Blake.
14217
14218 2010-10-26  Bruno Haible  <bruno@clisp.org>
14219
14220         stdio: Work around compilation error due to renameat() on Solaris 10.
14221         * lib/stdio.in.h: Include <unistd.h> on Solaris.
14222         * lib/renameat.c: Don't include <unistd.h> here.
14223         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
14224         Reported by Paul Eggert and Eric Blake.
14225
14226 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
14227
14228         renameat: port to Solaris 10, which declares renameat in unistd.h
14229
14230         * lib/renameat.c: Include unistd.h before stdio.h, because
14231         Solaris 10 declares renameat in unistd.h.  Problem encountered
14232         when building GNU tar 1.24 on Solaris 10.
14233
14234 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
14235
14236         fdopendir: fix C89 compilation
14237         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
14238         compilers.
14239
14240 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
14241
14242         inttostr: simplify by removing unnecessary redundancy
14243         * lib/anytostr.c: Don't include verify.h.
14244         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
14245         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
14246         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
14247         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
14248         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
14249         Likewise.
14250         * modules/inttostr (Depends-on): Remove 'verify'.
14251
14252 2010-10-23  Bruno Haible  <bruno@clisp.org>
14253
14254         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
14255         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
14256         Reported by Eric Blake.
14257
14258 2010-10-23  Bruno Haible  <bruno@clisp.org>
14259
14260         Tests: Fix LOCALE_JA on MirBSD 10.
14261         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
14262         to an UTF-8 locale.
14263         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
14264         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
14265         Reported by Eric Blake.
14266
14267 2010-10-21  Bruno Haible  <bruno@clisp.org>
14268
14269         nl_langinfo test: Avoid test failure on NetBSD 5.
14270         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
14271         Reported by Eric Blake.
14272
14273 2010-10-21  Eric Blake  <eblake@redhat.com>
14274
14275         c-stack: work around libsigsegv 2.8 bug
14276         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
14277         overflow on at least PowerPC64.
14278
14279 2010-10-17  Bruno Haible  <bruno@clisp.org>
14280
14281         userspec: Drop redundant file.
14282         * modules/userspec (Files): Remove lib/inttostr.h.
14283
14284 2010-10-17  Bruno Haible  <bruno@clisp.org>
14285
14286         nl_langinfo tests: Silence some warnings.
14287         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
14288         Reported by Jim Meyering.
14289
14290 2010-10-17  Bruno Haible  <bruno@clisp.org>
14291
14292         Make use of GCC's attribute __alloc_size__.
14293         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
14294         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
14295         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
14296         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
14297         __alloc_size__.
14298         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
14299         Suggested by Jim Meyering.
14300
14301 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
14302
14303         bootstrap: anchor .gitignore entries.
14304         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
14305         with...
14306         (insert_vc_ignore): ... this new function, which prepends `/' to
14307         all .gitignore entries before passing them to
14308         insert_sorted_if_absent.
14309
14310 2010-10-16  Bruno Haible  <bruno@clisp.org>
14311
14312         nextafter: Fix configure check.
14313         * modules/nextafter (configure.ac): Correct expected prototype.
14314
14315 2010-10-16  Bruno Haible  <bruno@clisp.org>
14316
14317         termios: Update documentation.
14318         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
14319
14320 2010-10-16  Bruno Haible  <bruno@clisp.org>
14321
14322         tests: Make them compile with TinyCC.
14323         * tests/test-strstr.c (main): Remove parentheses around array
14324         initializer.
14325
14326 2010-10-15  Eric Blake  <eblake@redhat.com>
14327
14328         ignore-value: make header idempotent
14329         * lib/ignore-value.h: Add double-inclusion guards.
14330         Reported by Stefan Berger.
14331
14332 2010-10-15  Jim Meyering  <meyering@redhat.com>
14333
14334         GNUmakefile: handle "stable" target, not "major"
14335         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
14336         lists in maint.mk and announce-gen.  Without this, "make stable"
14337         would fail to ensure that $(VERSION) is up to date.
14338
14339 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
14340
14341         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
14342         & co.
14343
14344 2010-10-14  Bruno Haible  <bruno@clisp.org>
14345
14346         vasnprintf: Don't set errno to 0.
14347         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
14348         block that sets it to 0.
14349         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
14350
14351 2010-10-14  Bruno Haible  <bruno@clisp.org>
14352
14353         socketlib: Fix.
14354         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
14355         gl_PREREQ_SYS_H_WINSOCK2.
14356         Reported by Ian Beckwith <ianb@erislabs.net>.
14357
14358 2010-10-13  Jim Meyering  <meyering@redhat.com>
14359
14360         test-select-stdin.c: avoid warn_unused_result warnings
14361         * tests/test-select-stdin.c: Include "macros.h".
14362         ASSERT that read and fflush succeed.
14363
14364 2010-10-13  Jim Meyering  <meyering@redhat.com>
14365
14366         git-version-gen: do require git-VC'd files in cwd
14367         * build-aux/git-version-gen: Reject a git version string
14368         if there are no commits associated with the current directory.
14369         This avoids an unlikely false-positive (unrelated dir whose parent
14370         repository also contains a tag matching v*), as pointed out
14371         by Giuseppe Scrivano in
14372         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
14373
14374 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
14375
14376         argv-iter: omit nonconforming declaration
14377         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
14378         enum arg_iter_err declaration, which doesn't conform to C99.
14379         Solaris 10 cc warns about this.
14380
14381 2010-10-13  Eric Blake  <eblake@redhat.com>
14382
14383         termios: fix compilation on mingw
14384         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
14385         (gl_TERMIOS_H): Adjust it on mingw.
14386         * modules/termios (Makefile.am): Substitute new key.
14387         * lib/termios.in.h (includes): Make include_next conditional.
14388         * doc/posix-headers/termios.texi (termios.h): Update
14389         documentation.
14390         Reported by Daniel P. Berrange.
14391
14392 2010-10-13  Jim Meyering  <meyering@redhat.com>
14393
14394         git-version-gen: don't require that .git/ be in the current dir
14395         * build-aux/git-version-gen: Adjust this script so that it works
14396         when run from any working directory beneath the top-level .git/-
14397         containing directory.  Inspired by a patch from Giuseppe Scrivano,
14398         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
14399
14400         test-select: avoid warn_unused_result warnings
14401         * tests/test-select.c: Include "macros.h".
14402         ASSERT that each call to read, write, and pipe succeeds.
14403         While not technically required, also check each "close".
14404         * modules/select-tests (Files): Add tests/macros.h.
14405
14406         test-symlinkat: remove declaration of unused local
14407         * tests/test-symlinkat.c (main): Remove unused local, "buf".
14408
14409         test-inttostr: avoid shadowing warnings
14410         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
14411         and use malloc rather than the stack for the same reason as
14412         mentioned in the comment justifying the other allocation.
14413
14414 2010-10-11  Bruno Haible  <bruno@clisp.org>
14415
14416         stdlib: Allow multiple gnulib generated replacements to coexist.
14417         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
14418         Reported by Sam Steingold <sds@gnu.org>.
14419
14420 2010-10-11  Jim Meyering  <meyering@redhat.com>
14421
14422         fix a documentation typo
14423         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
14424
14425 2010-10-11  Eric Blake  <eblake@redhat.com>
14426
14427         futimens: work around Solaris 11 bug
14428         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
14429         * tests/test-futimens.h (test_futimens): Enhance, rather than
14430         weaken test.
14431         * doc/posix-functions/futimens.texi (futimens): Document the bug.
14432
14433 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
14434
14435         Indentation.
14436         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
14437         higher-level operators more to the left.
14438
14439 2010-10-11  Jim Meyering  <meyering@redhat.com>
14440
14441         test-futimens: avoid unwarranted test failure on Solaris 5.11
14442         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
14443         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
14444         because it tries to dereference the NULL name argument.
14445
14446 2010-10-11  Bruno Haible  <bruno@clisp.org>
14447
14448         Indentation.
14449         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
14450         indentation.
14451
14452 2010-10-11  Jim Meyering  <meyering@redhat.com>
14453
14454         spawn.in.h: make indentation consistent with parentheses
14455         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
14456         Make indentation consistent with parentheses.
14457
14458 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
14459
14460         Fix mismatched parens in previous commit
14461         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
14462         parens.
14463
14464 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14465
14466         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
14467
14468         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
14469         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
14470         * lib/malloca.c: Include "verify.h".
14471         (verify1): Remove, replacing with a verify call.
14472         * lib/relocwrapper.c (verify1): Likewise.
14473         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
14474         Likewise.
14475         * modules/malloca (Depends-on): Add 'verify'.
14476         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
14477         * modules/vasnprintf (Depends-on): Add 'verify'.
14478         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
14479         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14480         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14481         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14482         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14483         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14484         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14485
14486         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
14487
14488         Formerly the style was sometimes 2*X - 1, because the C standard
14489         was wrongly thought to disallow ?: in integral constant expressions.
14490         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
14491         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
14492         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
14493         * lib/stdint.in.h (_verify_intmax_size): Likewise.
14494         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
14495         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
14496         verify that time_t cannot be floating.
14497
14498 2010-10-08  Eric Blake  <eblake@redhat.com>
14499
14500         time: enforce recent POSIX ruling that time_t is integral
14501         * lib/time.in.h (__time_t_must_be_integral): Detect any
14502         problematic systems, allowing the rest of gnulib to assume POSIX.
14503
14504 2010-10-08  Jim Meyering  <meyering@redhat.com>
14505
14506         fdopendir: fix a bug on systems lacking openat and /proc support
14507         OpenBSD 4.7 is one such system.  The most noticeable effect was
14508         failure of any application making nontrivial use of fts: rm, du,
14509         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
14510           ./rm: traversal failed: `a': Bad file descriptor
14511         Debugging that, you see that even though FD 6 was closed just
14512         prior to the opendir call in fd_clone_opendir, its resulting
14513         dir->dd_fd was 8, rather than the expected value of 6:
14514
14515         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
14516         93                close (fd);
14517         (gdb) n
14518         94                dir = fd_clone_opendir (dupfd);
14519         (gdb) n
14520         95                saved_errno = errno;
14521         (gdb) p dir->dd_fd
14522         $11 = 8
14523
14524         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
14525         The problem is that on OpenBSD, fd_clone_opendir has to resort
14526         to using the old-style save/restore CWD mechanism, due to its
14527         lack of openat/proc support, and *that* would steal the FD (6)
14528         that opendir was supposed to use.
14529
14530         The fix is to squirrel away the desired FD so that save_cwd uses a
14531         different one, and then free the dest FD right before calling opendir.
14532         That guarantees opendir will use the required file descriptor.
14533
14534         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
14535
14536 2010-10-08  Bruno Haible  <bruno@clisp.org>
14537
14538         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
14539         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
14540
14541 2010-10-08  Bruno Haible  <bruno@clisp.org>
14542
14543         nanosleep: Make replacement POSIX compliant.
14544         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
14545         is out of range.
14546         Reported by Jim Meyering.
14547
14548 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14549
14550         bootstrap: add hook for altering gnulib.mk, for Bison
14551         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
14552         the Bison bootstrapping process can rewrite file names and variables
14553         in this file before later parts of 'bootstrap' use the file.
14554         Bison wants to include lib/gnulib.mk from the top-level makefile,
14555         so it needs the file names in this file to be relative to the top
14556         level, not relative to lib; plus it needs variable names to be
14557         rewritten.
14558         (slurp): Use the new function.
14559
14560         bootstrap: reformat for readability
14561         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
14562
14563 2010-10-08  Eric Blake  <eblake@redhat.com>
14564
14565         docs: update cygwin progress
14566         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
14567         1.7.7.
14568         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
14569         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
14570         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
14571         * doc/posix-functions/carg.texi (carg): Likewise.
14572         * doc/posix-functions/cargf.texi (cargf): Likewise.
14573         * doc/posix-functions/casin.texi (casin): Likewise.
14574         * doc/posix-functions/casinf.texi (casinf): Likewise.
14575         * doc/posix-functions/casinh.texi (casinh): Likewise.
14576         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
14577         * doc/posix-functions/catan.texi (catan): Likewise.
14578         * doc/posix-functions/catanf.texi (catanf): Likewise.
14579         * doc/posix-functions/catanh.texi (catanh): Likewise.
14580         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
14581         * doc/posix-functions/ccos.texi (ccos): Likewise.
14582         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
14583         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
14584         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
14585         * doc/posix-functions/cexp.texi (cexp): Likewise.
14586         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
14587         * doc/posix-functions/cimag.texi (cimag): Likewise.
14588         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
14589         * doc/posix-functions/clog.texi (clog): Likewise.
14590         * doc/posix-functions/clogf.texi (clogf): Likewise.
14591         * doc/posix-functions/conj.texi (conj): Likewise.
14592         * doc/posix-functions/conjf.texi (conjf): Likewise.
14593         * doc/posix-functions/cpow.texi (cpow): Likewise.
14594         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
14595         * doc/posix-functions/cproj.texi (cproj): Likewise.
14596         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
14597         * doc/posix-functions/creal.texi (creal): Likewise.
14598         * doc/posix-functions/crealf.texi (crealf): Likewise.
14599         * doc/posix-functions/csin.texi (csin): Likewise.
14600         * doc/posix-functions/csinf.texi (csinf): Likewise.
14601         * doc/posix-functions/csinh.texi (csinh): Likewise.
14602         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
14603         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
14604         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
14605         * doc/posix-functions/ctan.texi (ctan): Likewise.
14606         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
14607         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
14608         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
14609         * doc/posix-headers/complex.texi (complex.h): Likewise.
14610
14611 2010-10-07  Jim Meyering  <meyering@redhat.com>
14612
14613         parse-datetime: avoid compilation failure on OpenBSD 4.7
14614         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
14615         This works around a compilation failure on OpenBSD 4.7:
14616         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
14617
14618 2010-10-07  Eric Blake  <eblake@redhat.com>
14619
14620         docs: update cygwin progress
14621         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
14622         1.7.6.
14623         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
14624         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
14625         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
14626         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
14627         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
14628         Likewise.
14629         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
14630         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
14631         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
14632         Likewise.
14633         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
14634         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
14635         Likewise.
14636         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
14637         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
14638         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
14639         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
14640         Likewise.
14641         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
14642         Likewise.
14643         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
14644
14645         docs: update parse-datetime history
14646         * doc/parse-datetime.texi (Authors of parse_datetime): Better
14647         documentation of this function's history and alternatives.
14648
14649         cygwin: use more robust version check
14650         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
14651         exclude an eventual cygwin 1.9.1.
14652         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
14653         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
14654         (gl_FUNC_STRCASESTR): Likewise.
14655         Reported by Bruno Haible.
14656
14657 2010-10-06  Bruno Haible  <bruno@clisp.org>
14658
14659         string, sys_select: Avoid #including large headers unless necessary.
14660         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
14661         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
14662         OSF/1, BeOS, Haiku.
14663         Reported by Jim Meyering.
14664
14665 2010-10-05  Eric Blake  <eblake@redhat.com>
14666
14667         memmem, strstr, strcasestr: fix bug with long periodic needle
14668         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
14669         periodic needle having false positive.
14670         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
14671         and cygwin 1.7.7.
14672         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
14673         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
14674         (gl_FUNC_STRCASESTR): Likewise.
14675         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
14676         * tests/test-memmem.c (main): Expose the bug.
14677         * tests/test-strcasestr.c (main): Likewise.
14678         * tests/test-strstr.c (main): Likewise.
14679         * tests/test-c-strcasestr.c (main): Likewise.
14680         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
14681         * doc/posix-functions/strstr.texi (strstr): Likewise.
14682         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
14683         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
14684
14685 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14686
14687         parse-datetime: do some more renaming
14688         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
14689         parse_datetime, not get_date.  Mention the renaming.
14690         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
14691         in comments.
14692         * m4/bison.m4: Likewise.
14693
14694 2010-10-05  Eric Blake  <eblake@redhat.com>
14695
14696         parse-datetime: better name than get_date
14697         * NEWS: Reword the deprecation notice.
14698         * modules/get_date: Rename to modules/parse-datetime.
14699         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
14700         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
14701         * lib/get_date.y: Rename to lib/parse-datetime.y.
14702         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
14703         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
14704         * doc/getdate.texi: Provide fallback wrapper.
14705         * lib/getdate.h: Move guts, and wrap...
14706         * lib/parse-datetime.h: ...new file.
14707         * lib/parse-datetime.y (get_date): Rename...
14708         (parse_datetime): ...to this.
14709         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
14710         (gl_PARSE_DATETIME): ...to this.
14711         * doc/posix-functions/getdate.texi (get_date): Provide fallback
14712         documentation.
14713         * modules/getdate (Files): Provide fallback docs and header.
14714         (Notice, Depends-on): Update references.
14715         * tests/test-parse-datetime.c: Likewise.
14716         * DEPENDENCIES: Likewise.
14717         * MODULES.html.sh (Date and time <time.h>): Likewise.
14718         * doc/parse-datetime.texi (Date input formats)
14719         (Authors of parse_datetime): Likewise.
14720         * modules/parse-datetime (Files, configure.ac, Makefile.am)
14721         (Include): Likewise.
14722         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
14723         * gnulib-tool: Likewise.
14724         * m4/bison.m4 (gl_BISON): Likewise.
14725         Suggested by Bruno Haible.
14726
14727 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
14728
14729         more ports to Solaris tr, which needs [] around ranges
14730         * gnulib-tool: Solaris tr needs [] around ranges.
14731         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
14732         * tests/test-pipe-filter-gi1.c (main): Likewise.
14733         * tests/test-pipe-filter-ii1.c (main): Likewise.
14734
14735 2010-10-05  Eric Blake  <eblake@redhat.com>
14736
14737         bootstrap: fix Solaris regression
14738         * build-aux/bootstrap (check_versions): Solaris tr still needs []
14739         around ranges.
14740         Reported by Pádraig Brady.
14741
14742         bootstrap: work with pkg-config
14743         * build-aux/bootstrap (check_versions): Also transliterate - in
14744         prerequisite name.
14745         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
14746         prerequisites that were already found, to avoid confusion.
14747         Reported by Justin Clift.
14748
14749         faccessat: remove unused wrappers
14750         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
14751         presence of these wrappers dragged in -lgen on Solaris.
14752         Reported by Clemens Brogi; fix suggested by Paul Eggert.
14753
14754 2010-10-05  Jim Meyering  <meyering@redhat.com>
14755
14756         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
14757         * Makefile (sc_pragma_columns): New syntax-check rule.
14758
14759 2010-10-04  Bruno Haible  <bruno@clisp.org>
14760
14761         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
14762         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
14763         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
14764         Reported by Bruce Korb and Eric Blake.
14765
14766 2010-10-04  Bruno Haible  <bruno@clisp.org>
14767
14768         threadlib: Make option --with-libpth-prefix work.
14769         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
14770         use $LIBPTH, not just -lpth.
14771
14772 2010-10-04  Bruno Haible  <bruno@clisp.org>
14773
14774         Avoid line length limitation from HP NonStop system header files.
14775         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
14776         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
14777         * lib/ctype.in.h: Likewise.
14778         * lib/dirent.in.h: Likewise.
14779         * lib/errno.in.h: Likewise.
14780         * lib/fcntl.in.h: Likewise.
14781         * lib/float.in.h: Likewise.
14782         * lib/getopt.in.h: Likewise.
14783         * lib/iconv.in.h: Likewise.
14784         * lib/inttypes.in.h: Likewise.
14785         * lib/langinfo.in.h: Likewise.
14786         * lib/locale.in.h: Likewise.
14787         * lib/math.in.h: Likewise.
14788         * lib/netdb.in.h: Likewise.
14789         * lib/netinet_in.in.h: Likewise.
14790         * lib/poll.in.h: Likewise.
14791         * lib/pthread.in.h: Likewise.
14792         * lib/pty.in.h: Likewise.
14793         * lib/sched.in.h: Likewise.
14794         * lib/se-selinux.in.h: Likewise.
14795         * lib/search.in.h: Likewise.
14796         * lib/signal.in.h: Likewise.
14797         * lib/spawn.in.h: Likewise.
14798         * lib/stdarg.in.h: Likewise.
14799         * lib/stddef.in.h: Likewise.
14800         * lib/stdint.in.h: Likewise.
14801         * lib/stdio.in.h: Likewise.
14802         * lib/stdlib.in.h: Likewise.
14803         * lib/string.in.h: Likewise.
14804         * lib/strings.in.h: Likewise.
14805         * lib/sys_file.in.h: Likewise.
14806         * lib/sys_ioctl.in.h: Likewise.
14807         * lib/sys_select.in.h: Likewise.
14808         * lib/sys_socket.in.h: Likewise.
14809         * lib/sys_stat.in.h: Likewise.
14810         * lib/sys_time.in.h: Likewise.
14811         * lib/sys_times.in.h: Likewise.
14812         * lib/sys_utsname.in.h: Likewise.
14813         * lib/sys_wait.in.h: Likewise.
14814         * lib/sysexits.in.h: Likewise.
14815         * lib/termios.in.h: Likewise.
14816         * lib/time.in.h: Likewise.
14817         * lib/unistd.in.h: Likewise.
14818         * lib/wchar.in.h: Likewise.
14819         * lib/wctype.in.h: Likewise.
14820         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
14821         * modules/ctype (Makefile.am): Likewise.
14822         * modules/dirent (Makefile.am): Likewise.
14823         * modules/errno (Makefile.am): Likewise.
14824         * modules/fcntl-h (Makefile.am): Likewise.
14825         * modules/float (Makefile.am): Likewise.
14826         * modules/getopt-posix (Makefile.am): Likewise.
14827         * modules/iconv-h (Makefile.am): Likewise.
14828         * modules/inttypes (Makefile.am): Likewise.
14829         * modules/langinfo (Makefile.am): Likewise.
14830         * modules/locale (Makefile.am): Likewise.
14831         * modules/math (Makefile.am): Likewise.
14832         * modules/netdb (Makefile.am): Likewise.
14833         * modules/netinet_in (Makefile.am): Likewise.
14834         * modules/poll-h (Makefile.am): Likewise.
14835         * modules/pthread (Makefile.am): Likewise.
14836         * modules/pty (Makefile.am): Likewise.
14837         * modules/sched (Makefile.am): Likewise.
14838         * modules/search (Makefile.am): Likewise.
14839         * modules/selinux-h (Makefile.am): Likewise.
14840         * modules/signal (Makefile.am): Likewise.
14841         * modules/spawn (Makefile.am): Likewise.
14842         * modules/stdarg (Makefile.am): Likewise.
14843         * modules/stddef (Makefile.am): Likewise.
14844         * modules/stdint (Makefile.am): Likewise.
14845         * modules/stdio (Makefile.am): Likewise.
14846         * modules/stdlib (Makefile.am): Likewise.
14847         * modules/string (Makefile.am): Likewise.
14848         * modules/strings (Makefile.am): Likewise.
14849         * modules/sys_file (Makefile.am): Likewise.
14850         * modules/sys_ioctl (Makefile.am): Likewise.
14851         * modules/sys_select (Makefile.am): Likewise.
14852         * modules/sys_socket (Makefile.am): Likewise.
14853         * modules/sys_stat (Makefile.am): Likewise.
14854         * modules/sys_time (Makefile.am): Likewise.
14855         * modules/sys_times (Makefile.am): Likewise.
14856         * modules/sys_utsname (Makefile.am): Likewise.
14857         * modules/sys_wait (Makefile.am): Likewise.
14858         * modules/sysexits (Makefile.am): Likewise.
14859         * modules/termios (Makefile.am): Likewise.
14860         * modules/time (Makefile.am): Likewise.
14861         * modules/unistd (Makefile.am): Likewise.
14862         * modules/wchar (Makefile.am): Likewise.
14863         * modules/wctype (Makefile.am): Likewise.
14864
14865 2010-10-04  Bruno Haible  <bruno@clisp.org>
14866
14867         read-file tests: Avoid a test failure on NonStop Kernel.
14868         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
14869         a regular file.
14870         Reported by Joachim Schmitz <schmitz@hp.com>.
14871
14872 2010-10-03  Bruno Haible  <bruno@clisp.org>
14873
14874         gnulib-tool: Fixes for --create-testdir with --libtool.
14875         * gnulib-tool (func_get_automake_snippet): Don't augment
14876         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
14877         an executable.
14878         (func_create_testdir): Handle module 'alloca' like func_import.
14879         Reported by Bruce Korb <bruce.korb@gmail.com>.
14880
14881 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
14882
14883         Avoid some lines longer than 80 characters.
14884         * lib/stdint.in.h: Break long comment lines.
14885         * lib/math.in.h: Likewise.
14886         (_GL_NUM_UINT_WORDS): New macro, for readability.
14887         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
14888         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
14889         * lib/stdlib.in.h: Likewise.
14890         * lib/spawn.in.h: Likewise.
14891         * lib/sys_socket.in.h: Update an URL.
14892         * lib/sys_stat.in.h: Break long line.
14893
14894 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
14895
14896         Improve pmccabe2html.
14897         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
14898         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
14899         when the sources change. Remove the line in the HTML about "Used
14900         ranges" (which implied that there might be other unused ranges),
14901         rename "Resume" to "Summary" (easier to understand for more users).
14902         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
14903         styles, and some unnecessary blank lines.
14904
14905 2010-10-03  Bruno Haible  <bruno@clisp.org>
14906             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14907
14908         acl: Add support for ACLs on NonStop Kernel.
14909         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
14910         Check whether the function aclsort() exists.
14911         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
14912         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
14913         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
14914         (acl_nontrivial [HAVE_ACLSORT]: New function.
14915         (file_has_acl): Implement for NonStop Kernel.
14916         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
14917         (qset_acl): Implement for NonStop Kernel.
14918         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
14919         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
14920         (main): Implement for NonStop Kernel.
14921         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
14922         Kernel. Handle this flavor.
14923         * tests/test-set-mode-acl.sh: Likewise.
14924         * tests/test-copy-acl.sh: Likewise.
14925         * tests/test-copy-file.sh: Likewise.
14926
14927 2010-10-03  Bruno Haible  <bruno@clisp.org>
14928
14929         Info about ACLs on NonStop Kernel.
14930         * doc/acl-resources.txt: Add info about NonStop Kernel.
14931         References by Joachim Schmitz <schmitz@hp.com>.
14932
14933 2010-10-02  Bruno Haible  <bruno@clisp.org>
14934
14935         Define missing EDQUOT on NonStop Kernel.
14936         * lib/errno.in.h (EDQUOT): Assign a value if missing.
14937         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
14938         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
14939         missing.
14940         * doc/posix-headers/errno.texi: Mention the NSK bug.
14941         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
14942         Reported by Joachim Schmitz <schmitz@hp.com>.
14943
14944 2010-10-02  Bruno Haible  <bruno@clisp.org>
14945
14946         Update doc for POSIX:2008.
14947         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
14948         Update URL of POSIX specification.
14949
14950 2010-10-02  Bruno Haible  <bruno@clisp.org>
14951
14952         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
14953         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
14954         from gnulib, not from Automake.
14955
14956 2010-10-02  Bruno Haible  <bruno@clisp.org>
14957
14958         New module 'system-posix'.
14959         * modules/system-posix: New file.
14960         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
14961         module is present.
14962         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
14963         GNULIB_SYSTEM_POSIX.
14964         * modules/stdlib (Depends-on): Remove sys_wait.
14965         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
14966         * doc/posix-functions/system.texi: Mention the new module.
14967         * doc/posix-headers/stdlib.texi: Likewise.
14968         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
14969         define test_sys_wait_macros to a no-op.
14970         Reported by Sam Steingold <sds@gnu.org>.
14971
14972 2010-09-30  Bruno Haible  <bruno@clisp.org>
14973
14974         More renaming from 'getdate' to 'get_date'.
14975         * doc/get_date.texi: Renamed from doc/getdate.texi.
14976         * modules/get_date (Files): Update.
14977         * MODULES.html.sh (Date and time <time.h>): Update.
14978         * DEPENDENCIES: Update.
14979         * gnulib-tool: Update comment.
14980         * m4/bison.m4 (gl_BISON): Likewise.
14981         * m4/get_date.m4 (gl_GET_DATE): Likewise.
14982
14983 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
14984
14985         bootstrap: support ACLOCAL_FLAGS during aclocal
14986         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
14987         can add additional -I dir for third-party .m4 files.
14988
14989 2010-09-30  Eric Blake  <eblake@redhat.com>
14990
14991         bootstrap: use glibtoolize on MacOS
14992         * build-aux/bootstrap (check_versions): Convert libtool into
14993         libtoolize.
14994         (tool search): Move libtool check earlier, and look for
14995         glibtoolize for MacOS.
14996         (gnulib_tool_options): Auto-add --libtool when appropriate.
14997         Reported by Justin Clift.
14998
14999         poll: fix typo that broke test on MacOS
15000         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
15001         Reported by Justin Clift.
15002
15003         getdate: rename to get_date
15004         Note: getdate.h is not renamed, to minimize client impact.
15005         * modules/getdate: Mark obsolete.  Move old contents...
15006         * modules/get_date: ...to new module name.
15007         * modules/getdate-tests: Move...
15008         * modules/get_date-tests: ...here.
15009         * m4/getdate.m4: Move...
15010         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
15011         * lib/getdate.y: Move...
15012         * lib/get_date.y: ...here.
15013         * tests/test-getdate.c: Move...
15014         * tests/test-get_date.c: ...here.
15015         * doc/posix-functions/getdate.texi (getdate): Update name.
15016         * NEWS: Mention the change.
15017
15018 2010-09-29  Bruno Haible  <bruno@clisp.org>
15019
15020         Separate the module 'waitpid' from the module 'sys_wait'.
15021         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
15022         present.
15023         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
15024         gl_MODULE_INDICATOR_FOR_TESTS.
15025         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
15026         * modules/sys_wait (Depends-on): Remove waitpid.
15027         (Makefile.am): Substitute GNULIB_WAITPID.
15028         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
15029         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
15030         signature only if the 'waitpid' module is present.
15031         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
15032         * NEWS: Mention the change.
15033         * modules/grantpt (Depends-on): Add waitpid.
15034         * modules/wait-process (Depends-on): Likewise.
15035
15036 2010-09-29  Bruno Haible  <bruno@clisp.org>
15037
15038         More tests for module 'sys_wait'.
15039         * modules/sys_wait-c++-tests: New file.
15040         * tests/test-sys_wait-c++.cc: New file.
15041         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
15042         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
15043
15044 2010-09-29  Bruno Haible  <bruno@clisp.org>
15045
15046         New module 'waitpid'.
15047         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
15048         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
15049         Don't include <process.h>.
15050         (waitpid): Declare only, using modern idiom.
15051         * m4/waitpid.m4: New file.
15052         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
15053         * modules/waitpid: New file.
15054         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
15055         (Makefile.am): Update.
15056         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
15057
15058 2010-09-28  Bruno Haible  <bruno@clisp.org>
15059
15060         poll: Assume ANSI C.
15061         * lib/poll.c (poll): Use an ANSI C declaration.
15062
15063 2010-09-28  Bruno Haible  <bruno@clisp.org>
15064
15065         poll-h: Create poll.h on all platforms.
15066         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
15067         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
15068         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
15069         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
15070         (gl_REPLACE_POLL_H): Don't set POLL_H.
15071         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
15072         * modules/poll-h (Depends-on): Add include_next.
15073         (Makefile.am): Create poll.h unconditionally. Substitute also
15074         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
15075
15076 2010-09-28  Bruno Haible  <bruno@clisp.org>
15077
15078         Tests for module 'poll-h'.
15079         * modules/poll-h-c++-tests: New file.
15080         * tests/test-poll-h-c++.cc: New file.
15081
15082         Tests for module 'poll-h'.
15083         * modules/poll-h-tests: New file.
15084         * tests/test-poll-h.c: New file.
15085
15086 2010-09-28  Bruno Haible  <bruno@clisp.org>
15087
15088         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
15089         * modules/poll-h (Depends-on): Add 'extensions'.
15090
15091 2010-09-28  Bruno Haible  <bruno@clisp.org>
15092
15093         New module 'poll-h'.
15094         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
15095         (poll): Use modern idiom.
15096         * modules/poll-h: New file.
15097         * modules/poll (Files): Remove lib/poll.in.h.
15098         (Depends-on): Add poll-h.
15099         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
15100         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
15101         * m4/poll_h.m4: New file.
15102         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
15103         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
15104         and invoke gl_REPLACE_POLL_H.
15105         * lib/poll.c: Use common idiom.
15106         * tests/test-poll.c: Likewise.
15107         * doc/posix-headers/poll.texi: Mention the poll-h module.
15108         Suggested by Eric Blake.
15109
15110 2010-09-26  Bruno Haible  <bruno@clisp.org>
15111
15112         sys_wait: Implement WSTOPSIG.
15113         * lib/sys_wait.in.h (WSTOPSIG): New macro.
15114         Reported by Simon Josefsson.
15115
15116 2010-09-26  Simon Josefsson  <simon@josefsson.org>
15117
15118         stdlib, sys_wait: Avoid compilation error on mingw.
15119         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
15120
15121 2010-09-26  Bruno Haible  <bruno@clisp.org>
15122
15123         stdlib tests: Avoid code duplication.
15124         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
15125         * modules/sys_wait-tests (Files): Likewise.
15126         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
15127         * tests/test-stdlib.c: Include test-sys_wait.h.
15128         (main): Invoke test_sys_wait_macros.
15129         * tests/test-sys_wait.c: Include test-sys_wait.h.
15130         (main): Invoke test_sys_wait_macros.
15131
15132 2010-09-25  Simon Josefsson  <simon@josefsson.org>
15133
15134         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
15135         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
15136         sure Windows sockets are working before calling getaddrinfo.
15137         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
15138         * doc/gnulib.texi (Windows sockets): Fix typo.
15139
15140 2010-09-25  Bruno Haible  <bruno@clisp.org>
15141
15142         Tests for module 'regex-quote'.
15143         * modules/regex-quote-tests: New file.
15144         * tests/test-regex-quote.c: New file.
15145
15146         New module 'regex-quote'.
15147         * lib/regex-quote.h: New file.
15148         * lib/regex-quote.c: New file.
15149         * modules/regex-quote: New file.
15150         Suggested by Reuben Thomas <rrt@sc3d.org>.
15151
15152 2010-09-24  Bruno Haible  <bruno@clisp.org>
15153
15154         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
15155         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
15156
15157 2010-09-23  Bruno Haible  <bruno@clisp.org>
15158
15159         setenv: Relax license.
15160         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
15161         Blake.
15162         Requested by Eric Blake.
15163
15164 2010-09-22  Bruno Haible  <bruno@clisp.org>
15165
15166         termios: Relax license.
15167         * modules/termios (License): Change to LGPLv2+.
15168         Requested by Eric Blake.
15169
15170 2010-09-22  Bruno Haible  <bruno@clisp.org>
15171
15172         threadlib: Allow the package to change the default to 'no'.
15173         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
15174         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
15175         Reported by Paul Eggert.
15176
15177 2010-09-22  Pádraig Brady  <P@draigbrady.com>
15178             Bruno Haible  <bruno@clisp.org>
15179
15180         Fix endless loop in mbmemcasecoll.
15181         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
15182         byte.
15183         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
15184
15185 2010-09-22  Bruno Haible  <bruno@clisp.org>
15186
15187         Tests for module 'memcoll'.
15188         * modules/memcoll-tests: New file.
15189         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
15190
15191         memcoll, xmemcoll: Clarify size vs. length.
15192         * modules/memcoll.c (memcoll0): Clarify specification.
15193         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
15194         passed to collate_error.
15195
15196 2010-09-22  Bruno Haible  <bruno@clisp.org>
15197
15198         Tests for module 'memcasecmp'.
15199         * modules/memcasecmp-tests: New file.
15200         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
15201
15202 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
15203
15204         * lib/pthread.in.h: Add split double-inclusion guard, and include
15205         system <pthread.h> if there is one.  Use @@-style as in other
15206         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
15207         pthread.h doesn't.
15208         (pthread_mutexattr_destroy, pthread_mutexattr_init):
15209         (pthread_mutexattr_settype, pthread_mutex_trylock):
15210         New static inline functions, if there's no system <pthread.h>.
15211         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
15212         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
15213         Approximate with mutexes if the system lacks spinlocks, as in
15214         MacOS.
15215         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
15216         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
15217         @@-style.  Check for spinlocks separately.
15218         (gl_PTHREAD_DEFAULTS): New macro.
15219         * modules/pthread: Redo to use a more typical style for in.h files.
15220
15221 2010-09-21  Eric Blake  <eblake@redhat.com>
15222
15223         net_if: enhance tests
15224         * tests/test-net_if.c (main): Move signature checks earlier.
15225         Print failures to stderr.
15226         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
15227         Document the bug that we do not yet fix.
15228
15229 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
15230
15231         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
15232         about gnulib, not GSS.
15233
15234 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
15235
15236         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
15237         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
15238         for Emacs.
15239         * build-aux/pmccabe2html: Make Makefile.am example code more
15240         cut-and-paste friendly.
15241
15242 2010-09-21  Simon Josefsson  <simon@josefsson.org>
15243
15244         * tests/test-net_if.c: New file.
15245         * modules/net_if-tests: New file.
15246
15247 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15248
15249         pthread: add pthread_spin_destroy
15250         * lib/pthread.in.h (pthread_spin_destroy): New function.
15251
15252 2010-09-19  Bruno Haible  <bruno@clisp.org>
15253
15254         gnulib-tool: Fix --help output.
15255         * gnulib-tool (func_usage): Fix help message.
15256         Reported by Reuben Thomas <rrt@sc3d.org>.
15257
15258 2010-09-18  Jim Meyering  <meyering@redhat.com>
15259
15260         maint.mk: avoid unexpanded \n in two diagnostics
15261         * top/maint.mk (sc_prohibit_always_true_header_tests):
15262         Don't use a literal \n in a halt=... assignment.  It would not be
15263         expanded, and the two \n bytes would appear in the diagnostic output
15264         rather than the desired newline.  Use halt=$$(printf ... instead.
15265         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
15266
15267 2010-09-18  Bruno Haible  <bruno@clisp.org>
15268
15269         netinet_in: Doc tweak.
15270         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
15271         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15272
15273 2010-09-18  Jim Meyering  <meyering@redhat.com>
15274
15275         init.sh: correct an outdated comment
15276         * tests/init.sh (create_exe_shims_):  s/function/alias/
15277
15278         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
15279         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
15280         a file named "*.exe" is removed between the glob expansion and the
15281         processing of that oddly named file.
15282
15283 2010-09-17  Eric Blake  <eblake@redhat.com>
15284
15285         mirbsd: add some more support
15286         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
15287         in BSD family.
15288         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
15289         devices as OpenBSD.
15290         * m4/host-os.m4 (mirbsd): Add MirBSD.
15291
15292         tests: fix unportable assumption on sys/wait.h
15293         * tests/test-sys_wait.c (main): Relax test.
15294         * tests/test-stdlib.c (main): Likewise.
15295
15296         init.sh: accomodate directory with no .exes
15297         * tests/init.sh: Accomodate directory containing only scripts.
15298
15299         tests: avoid compiler warning
15300         * tests/test-stdlib.c (main): Use the variable.
15301
15302         fdutimens, fdutimensat: update signature, again
15303         * lib/utimens.h (gl_futimens): Delete, and move signature...
15304         (fdutimens): ...here.
15305         (fdutimensat): Rearrange signature.
15306         (lutimensat): Rename variable for clarity.
15307         * lib/fdutimensat.c (fdutimensat): Update signature.
15308         * lib/utimens.c (fdutimens): Likewise.
15309         (gl_futimens): Delete.
15310         (utimens, lutimens): Update callers.
15311         * lib/futimens.c (futimens): Likewise.
15312         * tests/test-fdutimensat.c: Likewise.
15313         * tests/test-utimens.c: Likewise.
15314         * tests/test-futimens.h: Update comment.
15315         * NEWS: Mention this.
15316         Suggested by Paul Eggert.
15317
15318 2010-09-17  Bruno Haible  <bruno@clisp.org>
15319
15320         Take over the maintenance of some older macros from Autoconf.
15321         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
15322         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
15323         GNU Autoconf.
15324         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
15325         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
15326
15327 2010-09-17  Eric Blake  <eblake@redhat.com>
15328
15329         fdutimensat: drop atflag validation
15330         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
15331         with valid fd, to close a race scenario where futimens is
15332         unsupported and FILE was replaced by a symlink.
15333         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
15334         accordingly.
15335         Suggested by Paul Eggert.
15336
15337 2010-09-16  Bruno Haible  <bruno@clisp.org>
15338
15339         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
15340         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
15341
15342 2010-09-16  Bruno Haible  <bruno@clisp.org>
15343
15344         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
15345         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
15346         login_tty exists.
15347         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15348
15349 2010-09-16  Bruno Haible  <bruno@clisp.org>
15350
15351         login_tty: Make the replacement code work on BSD systems.
15352         * lib/login_tty.c: Include <sys/ioctl.h>.
15353         (login_tty): Use ioctl TIOCSCTTY when available.
15354         * modules/login_tty (Depends-on): Add sys_ioctl.
15355         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15356
15357 2010-09-16  Bruno Haible  <bruno@clisp.org>
15358
15359         login_tty: Stricter unit test.
15360         * modules/login_tty-tests (Depends-on): Add tcgetsid.
15361         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
15362         and tcgetsid() after login_tty.
15363         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15364
15365 2010-09-16  Bruno Haible  <bruno@clisp.org>
15366
15367         New module 'tcgetsid'.
15368         * lib/tcgetsid.c: New file.
15369         * m4/tcgetsid.m4: New file.
15370         * modules/tcgetsid: New file.
15371         * modules/termios (Depends-on): Add c++defs, warn-on-use.
15372         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
15373         GNULIB_TCGETSID, HAVE_TCGETSID.
15374         * lib/termios.in.h: Include <sys/types.h>.
15375         (tcgetsid): New declaration.
15376         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
15377         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
15378         * doc/posix-functions/tcgetsid.texi: Mention the new module.
15379         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
15380
15381 2010-09-16  Bruno Haible  <bruno@clisp.org>
15382
15383         Tests for module 'termios'.
15384         * modules/termios-c++-tests: New file.
15385         * modules/termios-tests: New file.
15386         * tests/test-termios-c++.cc: New file.
15387         * tests/test-termios.c: New file.
15388
15389         New module 'termios'.
15390         * modules/termios: New file.
15391         * lib/termios.in.h: New file.
15392         * m4/termios_h.m4: New file.
15393         * doc/posix-headers/termios.texi: Mention the new module.
15394
15395 2010-09-16  Eric Blake  <eblake@redhat.com>
15396
15397         fdutimensat: add an atflag parameter
15398         * lib/fdutimensat.c (fdutimensat): Add new parameter.
15399         * lib/utimens.h (fdutimensat): Update prototype.
15400         * tests/test-fdutimensat.c: Adjust test to match.
15401         * NEWS: Document the change.
15402         Suggested by Paul Eggert.
15403
15404 2010-09-16  Bruno Haible  <bruno@clisp.org>
15405
15406         Fix typos in comments.
15407         * lib/striconveh.h: Fix typo in comment.
15408         * lib/login_tty.c (login_tty): Likewise.
15409
15410 2010-09-15  Bruno Haible  <bruno@clisp.org>
15411
15412         stdlib: clarify MirBSD WEXITSTATUS bug
15413         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
15414         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
15415
15416 2010-09-15  Eric Blake  <eblake@redhat.com>
15417
15418         stdlib: work around MirBSD WEXITSTATUS bug
15419         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
15420         * modules/stdlib (Depends-on): Add sys_wait.
15421         * tests/test-sys_wait.c (main): Enhance test.
15422         * tests/test-stdlib.c (main): Likewise.
15423         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
15424
15425         docs: mention MacOS issue with WEXITSTATUS(constant)
15426         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
15427         issue.
15428         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
15429
15430         strnlen: add tests
15431         * modules/strnlen-tests: New file.
15432         * tests/test-strnlen.c: Likewise.
15433
15434 2010-09-14  Bruno Haible  <bruno@clisp.org>
15435
15436         unistr/base: Avoid link errors when module 'libunistring' is also used.
15437         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
15438         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
15439         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
15440         Declare also when HAVE_LIBUNISTRING is set.
15441         Reported by Pádraig Brady <P@draigbrady.com>.
15442
15443 2010-09-14  Eric Blake  <eblake@redhat.com>
15444
15445         test-rawmemchr: make more robust
15446         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
15447         (Depends-on, configure.ac): Add needed prerequisites to use it.
15448         * modules/memchr-tests (Files, Depends-on, configure.ac):
15449         Likewise, to avoid implicit reliance on memchr module prereqs.
15450         * tests/test-memchr.c (main): Ensure proper masking.
15451         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
15452         reads.
15453
15454         memchr: detect glibc Alpha bug
15455         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
15456         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
15457         Alpha.
15458         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
15459         * tests/test-memchr.c (main): Enhance test.
15460         Reported by Nelson H. F. Beebe.
15461
15462 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15463
15464         fts, getcwd, glob: audit for dirfd returning -1
15465         * lib/fts.c (opendir): Remove #define; no longer used.
15466         (opendirat): New arg PDIR_FD.  All callers changed.
15467         (fts_build, _opendir2): Use new opendirat to avoid the need for
15468         dirfd, or for checking whether dirfd returns a negative value.
15469         Don't use opendir; always use openat followed by fdopendir.
15470         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
15471         it.
15472         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
15473         returns -1 here.
15474         * modules/fts (Depends-on): Remove dirfd.
15475         * modules/getcwd (Depends-on): Likewise.
15476
15477 2010-09-13  Eric Blake  <eblake@redhat.com>
15478
15479         float: fix broken MirBSD header
15480         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
15481         * doc/posix-headers/float.texi (float.h): Document it.
15482
15483 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15484
15485         fts: use O_NOFOLLOW to avoid race condition when opening a directory
15486         * lib/fts.c (opendirat): New arg extra_flags.
15487         (__opendir2): Use it to avoid following symlinks when opening
15488         a directory, if symlinks are not supposed to be followed.  See
15489         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
15490
15491         fdopendir: preserve argument fd before returning
15492         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
15493         (fdopendir_with_dup, fd_clone_opendir): New static functions.
15494         (fdopendir): Use them, arranging for FD to be open to the same
15495         directory that it was when it started.  (It might be temporarily
15496         closed while fdopendir is running, so this not thread- or
15497         signal-safe.)  Be careful to do the right thing even when file
15498         descriptors are scarce and dup fails with errno == EMFILE.  See
15499         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
15500
15501 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
15502
15503         regex: Pass the system regex if its only problem is 32-bit regoff_t.
15504         * NEWS: Document change.
15505         * m4/regex.m4: Disable test for regoff_t size.
15506
15507 2010-09-13  Jim Meyering  <meyering@redhat.com>
15508
15509         fts: don't operate on an invalid file descriptor after failed dup
15510         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
15511         negative file descriptor.
15512
15513 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
15514
15515         savedir: add streamsavedir, deprecate fdsavedir
15516         * NEWS: Mention deprecation of fdsavedir.
15517         * lib/savedir.c (streamsavedir): New extern function, whose name
15518         ends in "savedir" to be consistent with the others.  This differs
15519         from savedirstream in that it doesn't close its argument.  The
15520         next version of GNU tar will use this instead of fdsavedir, to
15521         avoid some race conditions and conserve file descriptors.
15522         (savedirstream): Reimplement as a wrapper around streamsavedir.
15523         (fdsavedir): Add a comment deprecating this function.  As far as
15524         I know, only GNU tar used it, and GNU tar doesn't need it any more.
15525         * lib/savedir.h (streamsavedir): New decl.
15526         (fdsavedir): Add a comment deprecating this.
15527
15528 2010-09-10  Bruno Haible  <bruno@clisp.org>
15529
15530         langinfo: Fix last commit.
15531         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
15532         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
15533         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15534
15535 2010-09-10  Bruno Haible  <bruno@clisp.org>
15536
15537         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
15538         * lib/progreloc.c (O_EXEC): Define fallback.
15539
15540 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
15541
15542         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
15543         * NEWS: Document recent changes to fcntl-h.
15544         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
15545         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
15546         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
15547         Similarly for O_SEARCH; this last was already true, but not documented.
15548         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
15549         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
15550         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
15551         Likewise.
15552         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
15553         is zero, not whether it is defined.
15554         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
15555         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
15556         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
15557
15558 2010-09-10  Bruno Haible  <bruno@clisp.org>
15559
15560         langinfo, nl_langinfo: Fix for IRIX 5.3.
15561         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
15562         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
15563         HAVE_LANGINFO_YESEXPR.
15564         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
15565         HAVE_LANGINFO_YESEXPR.
15566         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
15567         HAVE_LANGINFO_T_FMT_AMPM is 0.
15568         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
15569         HAVE_LANGINFO_YESEXPR is 0.
15570         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
15571         NOEXPR.
15572         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
15573         * doc/posix-functions/nl_langinfo.texi: Likewise.
15574         Reported by Eric Blake.
15575
15576 2010-09-10  Bruno Haible  <bruno@clisp.org>
15577
15578         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
15579         * doc/glibc-functions/login_tty.texi: Mention the include file problem
15580         on FreeBSD 8.0 and OpenBSD 4.6.
15581         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
15582         * m4/pty_h.m4 (gl_PTY_H): Likewise.
15583         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
15584         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
15585         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
15586         ac_includes_default.
15587         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
15588
15589 2010-09-09  Eric Blake  <eblake@redhat.com>
15590
15591         strsignal: work around NetBSD bug
15592         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
15593         * lib/string.in.h (includes): Likewise.
15594         * doc/posix-functions/strsignal.texi (strsignal): Document the
15595         bug.
15596         Reported by Nelson H. F. Beebe.
15597
15598         gnulib-tool: work with NetBSD /bin/sh
15599         * gnulib-tool (func_cache_var, func_cache_lookup_module)
15600         (func_get_description, func_get_comment, func_get_status)
15601         (func_get_notice, func_get_applicability, func_get_filelist)
15602         (func_get_dependencies, func_get_autoconf_early_snippet)
15603         (func_get_autoconf_snippet, func_get_automake_snippet)
15604         (func_get_include_directive, func_get_link_directive)
15605         (func_get_license, func_get_maintainer, func_import): Avoid
15606         shell syntax errors from parsing syntax extensions.
15607
15608 2010-09-09  Bruno Haible  <bruno@clisp.org>
15609
15610         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
15611         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
15612         a reliable way to determine whether the 'alias' command works.
15613
15614 2010-09-08  Jim Meyering  <meyering@redhat.com>
15615
15616         init.sh: penalize a set-x-impaired shell; don't disqualify it
15617         * tests/init.sh: Too many shells corrupt application stderr when
15618         you set -x, so we can't afford to disqualify them, since at least
15619         on Irix-6.5, that would disqualify all bourne shells.
15620         Instead, use a two-pass approach.
15621         On the first pass, try to find a shell that meets the stricter
15622         condition that set -x does not corrupt stderr.
15623         If no shell meets the stricter condition, retest each candidate
15624         shell, but without that extra condition.  Finally, when
15625         VERBOSE=yes is requested and set -x might cause trouble, simply
15626         issue a warning and refrain from enabling debug output.
15627
15628 2010-09-08  Eric Blake  <eblake@redhat.com>
15629
15630         unsetenv: fix OpenBSD bug
15631         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
15632         * doc/posix-functions/unsetenv.texi (unsetenv): Update
15633         documentation.
15634         Reported by Jim Meyering.
15635
15636         strtod: work around IRIX 6.5 bug
15637         * lib/strtod.c (strtod): Reparse number on shorter string if
15638         exponent parse was invalid.
15639         * tests/test-strtod.c (main): Add check for "0x1p 2".
15640         Reported by Tom G. Christensen.
15641
15642         getopt: optimize previous patch
15643         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
15644         empty variable.  Speed up awk script.
15645         Reported by Paolo Bonzini.
15646
15647 2010-09-08  Jim Meyering  <meyering@redhat.com>
15648
15649         test.sh: disqualify shells for which set -x corrupts stderr
15650         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
15651         and OpenBSD 4.7.  They make it so with "set -x", environment settings
15652         appear in stderr output.  For example, this command:
15653             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
15654         prints "P=1" on those two systems:
15655
15656 2010-09-08  Bruno Haible  <bruno@clisp.org>
15657
15658         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
15659         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
15660         commands, because some shells ignore redirections when there is an
15661         error in the command lookup.
15662         Reported by Eric Blake.
15663
15664 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
15665
15666         * lib/regex.h: Fix a mention of `regex_compile' (should be
15667         `re_compile_pattern').
15668         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
15669         (re_set_registers): Correct name of parameter in comment.
15670
15671         * doc/regex.texi: Add documentation for missing syntax flags.
15672         Remove commented-out documentation of defunct syntax option
15673         RE_NO_EMPTY_ALTS.
15674         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
15675         Add documentation of re_set_registers.
15676         Document trick to re-use a pattern buffer by setting fastmap manually.
15677         Update documentation of struct re_pattern_buffer per public members.
15678         Uncomment documentation of equivalence class operators and
15679         collating symbol operators, since they are now implemented,
15680         Explain leftmost-longest matching in relation to alternatives.
15681         Tidy documentation of substring matching.
15682         Remove POSIX documentation, which is done better in
15683         glibc, and refer the reader there. Keep BSD API documentation, as
15684         that is not readily available elsewhere.
15685
15686 2010-09-07  Eric Blake  <eblake@redhat.com>
15687
15688         getopt: handle POSIXLY_CORRECT set but not exported
15689         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
15690         export state of POSIXLY_CORRECT, due to bash set -o posix.
15691         Reported by Dustin J. Mitchell.
15692
15693 2010-09-05  Bruno Haible  <bruno@clisp.org>
15694
15695         gnulib-tool: Highlight the changed options.
15696         * gnulib-tool (func_usage): Display the --import, --add-import,
15697         --remove-import explanations in bold font.
15698
15699 2010-09-06  Karl Berry  <karl@gnu.org>
15700
15701         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
15702
15703 2010-09-05  Bruno Haible  <bruno@clisp.org>
15704
15705         uniwidth/width: Update comment.
15706         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
15707         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
15708
15709 2010-09-05  Bruno Haible  <bruno@clisp.org>
15710
15711         isinf, isnan: Relax license.
15712         * modules/isinf (License): Change from GPL to LGPL, with consent from
15713         Ben Pfaff.
15714         * modules/isnan (License): Likewise.
15715         Requested by Ludovic Courtès.
15716
15717 2010-09-04  Bruno Haible  <bruno@clisp.org>
15718
15719         gnulib-tool: Help migration from --import to --add-import or --update.
15720         * gnulib-tool: Emit a verbose error message when --import is used
15721         without any module name.
15722
15723 2010-09-04  Bruno Haible  <bruno@clisp.org>
15724
15725         Update doc about gnulib-tool.
15726         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
15727         'gnulib-tool --update' in more detail.
15728         Reported by Eric Blake.
15729
15730 2010-09-04  Bruno Haible  <bruno@clisp.org>
15731
15732         gnulib-tool: Change --import. New options --add/remove-import.
15733         * gnulib-tool: New options --add-import, --remove-import.
15734         (func_usage): Document them.
15735         (have_associative): Define always.
15736         (func_import): In import mode, don't merge the specified settings with
15737         the cached settings. Implement remove-import mode.
15738         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
15739         Explain when to use them versus --import.
15740         (Simple update): Use --add-import instead of --import.
15741         * NEWS: Mention the change.
15742
15743 2010-09-04  Bruno Haible  <bruno@clisp.org>
15744
15745         * doc/gnulib-tool.texi (Initial import): Update paragraph about
15746         separate gnulib.mk.
15747
15748 2010-09-04  Bruno Haible  <bruno@clisp.org>
15749
15750         gnulib-tool: Don't talk about CVS any more.
15751         * gnulib-tool (func_usage, func_import): Write "version control"
15752         instead of CVS.
15753
15754 2010-09-04  Jim Meyering  <meyering@redhat.com>
15755
15756         maint.mk: avoid obscure sc_copyright_check failure in coreutils
15757         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
15758         false positives (whose names may be ill-chosen) when searching
15759         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
15760         would cause a false-positive.
15761
15762         avoid coreutils "make distcheck" failure
15763         Coreutils tests with an absolute build directory name that contains
15764         a space.  Not quoting this directory name caused a failure.
15765         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
15766         * tests/test-vc-list-files-cvs.sh: Likewise.
15767
15768 2010-09-04  Bruno Haible  <bruno@clisp.org>
15769
15770         gnulib-tool: Avoid error when run in a package without Makefile.am.
15771         * gnulib-tool: When collecting the m4dirs in a package that does not
15772         have a Makefile.am, eliminate those directories that contain no
15773         gnulib-cache.m4. Fix expression that counts these directories.
15774
15775 2010-09-04  Bruno Haible  <bruno@clisp.org>
15776
15777         update-copyright test: Improve output when perl is missing or too old.
15778         * tests/test-update-copyright.sh: Move test of Perl version down after
15779         the test whether Perl exists. Provide an explanation relating Perl's
15780         error message to Automake's SKIP: message.
15781
15782 2010-09-04  Bruno Haible  <bruno@clisp.org>
15783
15784         Don't augment PATH in TESTS_ENVIRONMENT.
15785         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
15786         set abs_aux_dir instead of augmenting PATH.
15787         * modules/vc-list-files-tests (Makefile.am): Likewise.
15788         * tests/test-update-copyright.sh: Augment PATH here.
15789         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
15790         path_prepend_.
15791         * tests/test-vc-list-files-git.sh: Likewise.
15792
15793 2010-09-04  Jim Meyering  <meyering@redhat.com>
15794
15795         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
15796         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
15797
15798 2010-09-04  Bruno Haible  <bruno@clisp.org>
15799
15800         strdup: Fix compilation error in C++ mode.
15801         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
15802         the macro.
15803
15804 2010-09-04  Bruno Haible  <bruno@clisp.org>
15805
15806         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
15807         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
15808         macro into a function.
15809         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
15810
15811 2010-09-04  Bruno Haible  <bruno@clisp.org>
15812
15813         Set PATH_SEPARATOR the same way autoconf does.
15814         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
15815         the value of PATH_SEPARATOR the same way autoconf-generated configure
15816         scripts do.
15817         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
15818         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
15819
15820 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
15821
15822         Set PATH_SEPARATOR the same way autoconf does.
15823         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
15824         the same way autoconf-generated configure scripts do.
15825         * posix-modules: Likewise.
15826
15827 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15828
15829         hash: fix safe_hasher const typo
15830         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
15831         const; otherwise, there is a type error later.
15832
15833 2010-09-02  Jim Meyering  <meyering@redhat.com>
15834
15835         test-update-copyright.sh: require perl 5.8.0
15836         * tests/test-update-copyright.sh: Require 5.8.0,
15837         which Tom G. Christensen has confirmed is adequate,
15838         while 5.6.1 is not.
15839
15840 2010-09-02  Eric Blake  <eblake@redhat.com>
15841
15842         tests: init.sh improvements for re-exec'ing with zsh
15843         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
15844         -vx through shell re-exec.
15845         Reported by Tom G. Christensen.
15846
15847         wctype: fix typo in previous commit
15848         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
15849         Reported by Ludovic Courtès.
15850
15851 2010-09-02  Jim Meyering  <meyering@redhat.com>
15852
15853         test-update-copyright.sh: skip test if Perl is too old
15854         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
15855         Reported by Tom G. Christensen.
15856
15857 2010-09-02  Bruno Haible  <bruno@clisp.org>
15858
15859         wctype: Avoid compilation error on IRIX 6.5.30.
15860         * lib/wctype.in.h (iswblank): Declare with a replacement if
15861         REPLACE_ISWBLANK is set.
15862         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
15863         declared. Set REPLACE_ISWBLANK.
15864         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
15865         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
15866         * doc/posix-headers/wctype.texi: Likewise.
15867         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15868
15869 2010-09-01  Bruno Haible  <bruno@clisp.org>
15870
15871         New module 'socketlib'.
15872         * modules/socketlib: New file.
15873         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
15874         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
15875         * modules/sockets (Depends-on): Add socketlib.
15876         Suggested by Sam Steingold <sds@gnu.org>.
15877
15878 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15879
15880         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
15881
15882         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
15883         when one needs search access to a directory but not read access.
15884         On systems where it is available, it works in some cases where
15885         O_RDONLY does not, namely on directories that are searchable but
15886         not readable, and which need only to be searchable.  If O_SEARCH
15887         is not available, fall back to the traditional method of using
15888         O_RDONLY.
15889
15890         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
15891         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
15892         when opening a directory that needs only to be searchable.
15893         * lib/chdir-safer.c (chdir_no_follow): Likewise.
15894         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
15895         * lib/openat-proc.c (openat_proc_name): Likewise.
15896         * lib/openat.c (openat_needs_fchdir): Likewise.
15897         * lib/save-cwd.c (save_cwd): Likewise.
15898         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
15899
15900 2010-08-28  Bruno Haible  <bruno@clisp.org>
15901
15902         New module 'host-cpu-c-abi'.
15903         * modules/host-cpu-c-abi: New file.
15904         * m4/host-cpu-c-abi.m4: New file, based on part of
15905         clisp/src/m4/general.m4.
15906         Requested by Sam Steingold <sds@gnu.org>.
15907
15908 2010-08-31  Eric Blake  <eblake@redhat.com>
15909         and Jim Meyering  <meyering@redhat.com>
15910
15911         hash: factor, and guard against misbehaving hasher function
15912         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
15913         of table->hasher's return value.  Also protect against a hash value
15914         so large that adding it to table->bucket results in a NULL pointer.
15915         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
15916         Use it in place of open-coded check-and-abort.
15917
15918 2010-08-30  Bruno Haible  <bruno@clisp.org>
15919
15920         hash: silence spurious clang warning
15921         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
15922         Reported by Eric Blake.
15923
15924 2010-08-30  Eric Blake  <eblake@redhat.com>
15925
15926         strstr, memmem, strcasestr: avoid leaked shell message
15927         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
15928         FreeBSD.
15929         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
15930         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
15931
15932         tests: silence clang warning
15933         * tests/test-malloca.c (do_allocation): Avoid dead store.
15934
15935 2010-08-29  Bruno Haible  <bruno@clisp.org>
15936
15937         gettext: Fix recent mistake.
15938         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
15939
15940 2010-08-29  Bruno Haible  <bruno@clisp.org>
15941
15942         selinux-h: Offer a --without-selinux option.
15943         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
15944         --without-selinux was specified, skip all tests and define
15945         HAVE_SELINUX_SELINUX_H to 0.
15946         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
15947         set LIB_SELINUX to empty.
15948         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
15949         gl_LIBSELINUX. If --without-selinux was specified, replace
15950         selinux/context.h.
15951         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
15952
15953 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15954             Bruno Haible  <bruno@clisp.org>
15955
15956         Make the module 'realloc-gnu' work again on AIX and OSF/1.
15957         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
15958         of HAVE_REALLOC.
15959         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
15960         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
15961         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
15962         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
15963
15964 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15965             Bruno Haible  <bruno@clisp.org>
15966
15967         Make the module 'calloc-gnu' work again on AIX and OSF/1.
15968         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
15969         HAVE_CALLOC.
15970         * lib/xmalloc.c: Update accordingly.
15971         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
15972         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
15973         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
15974
15975 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15976             Bruno Haible  <bruno@clisp.org>
15977
15978         Make the module 'malloc-gnu' work again on AIX and OSF/1.
15979         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
15980         HAVE_MALLOC.
15981         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
15982         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
15983         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
15984
15985 2010-08-29  Bruno Haible  <bruno@clisp.org>
15986
15987         Update modules list.
15988         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
15989         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
15990         (String handling <string.h>): Add astrxfrm.
15991         (File system functions): Add readlinkat.
15992
15993 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15994
15995         Tests for module 'realloc-gnu'.
15996         * modules/realloc-gnu-tests: New file.
15997         * tests/test-realloc-gnu.c: New file.
15998
15999         Tests for module 'calloc-gnu'.
16000         * modules/calloc-gnu-tests: New file.
16001         * tests/test-calloc-gnu.c: New file.
16002
16003         Tests for module 'malloc-gnu'.
16004         * modules/malloc-gnu-tests: New file.
16005         * tests/test-malloc-gnu.c: New file.
16006
16007 2010-08-28  Bruno Haible  <bruno@clisp.org>
16008
16009         Rename module 'realloc' -> 'realloc-gnu'.
16010         * modules/realloc-gnu: New file, copied from modules/realloc.
16011         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
16012         obsolete.
16013         * modules/mgetgroups (Depends-on): Update.
16014         * doc/posix-functions/realloc.texi: Update.
16015         * NEWS: Mention the change.
16016
16017         Rename module 'calloc' -> 'calloc-gnu'.
16018         * modules/calloc-gnu: New file, copied from modules/calloc.
16019         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
16020         obsolete.
16021         * doc/posix-functions/calloc.texi: Update.
16022         * NEWS: Mention the change.
16023
16024         Rename module 'malloc' -> 'malloc-gnu'.
16025         * modules/malloc-gnu: New file, copied from modules/malloc.
16026         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
16027         obsolete.
16028         * modules/argp (Depends-on): Update.
16029         * modules/regex (Depends-on): Update.
16030         * doc/posix-functions/malloc.texi: Update.
16031         * NEWS: Mention the change.
16032
16033 2010-08-28  Eric Blake  <eblake@redhat.com>
16034
16035         pread, pwrite: add missing dependency
16036         * modules/pread (Depends-on): Add extensions.
16037         * modules/pwrite (Depends-on): Likewise.
16038
16039 2010-08-28  Bruno Haible  <bruno@clisp.org>
16040
16041         unistr/u*-strchr: Fix tests dependencies.
16042         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
16043         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
16044         Reported by Ian Beckwith <ianb@erislabs.net>.
16045
16046 2010-08-28  Bruno Haible  <bruno@clisp.org>
16047
16048         read-file: Don't occupy too much unused memory.
16049         * lib/read-file.c (fread_file): Shrink the buffer at the end.
16050
16051 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
16052             Eric Blake  <eblake@redhat.com>
16053             Bruno Haible  <bruno@clisp.org>
16054
16055         read-file: Avoid memory reallocations with regular files.
16056         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
16057         (fread_file): With regular files, use the remaining length as the
16058         initial buffer size.  Check against overflow.
16059         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
16060         sys_stat.
16061
16062 2010-08-28  Bruno Haible  <bruno@clisp.org>
16063
16064         ftello: Relax license.
16065         * modules/ftello (License): Relax to LGPLv2+.
16066         Reported by Eric Blake.
16067
16068 2010-08-28  Bruno Haible  <bruno@clisp.org>
16069
16070         Avoid relocwrapper link errors due to gnulib replacement functions.
16071         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
16072         function.
16073         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16074
16075 2010-08-28  Bruno Haible  <bruno@clisp.org>
16076
16077         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
16078         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
16079         defined.
16080         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
16081         Suggested by Eric Blake.
16082
16083 2010-08-28  Bruno Haible  <bruno@clisp.org>
16084
16085         sys_socket, netdb: Ensure socklen_t gets defined.
16086         * modules/sys_socket (Depends-on): Add socklen.
16087         * modules/netdb (Depends-on): Likewise.
16088         * modules/getaddrinfo (Depends-on): Remove socklen.
16089         * modules/getsockopt (Depends-on): Likewise.
16090         * modules/setsockopt (Depends-on): Likewise.
16091         * tests/test-sys_socket.c: Check that socklen_t is defined.
16092         * tests/test-netdb.c: Likewise.
16093         * m4/socklen.m4: Update comments.
16094         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16095
16096 2010-08-27  Eric Blake  <eblake@redhat.com>
16097
16098         login_tty: add missing dependency
16099         * modules/login_tty (Depends-on): Add pty.
16100
16101 2010-08-26  Eric Blake  <eblake@redhat.com>
16102
16103         lib-symbol-versions: fix m4 quoting
16104         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
16105         format for AC_LINK_IFELSE.
16106
16107         glob: fix compile test
16108         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
16109
16110         btowc: fix missing file
16111         * modules/btowc (Files): Also ship locale-fr.m4.
16112
16113         lseek: fix link test
16114         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
16115         AC_LINK_IFELSE.
16116
16117         include_next: silence autoconf 2.68 warning
16118         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
16119         AC_COMPILE_IFELSE as special.
16120         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
16121         autoconf < 2.68.
16122
16123         acl: fix compilation test
16124         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
16125         AC_COMPILE_IFELSE.
16126
16127 2010-08-26  Bruno Haible  <bruno@clisp.org>
16128
16129         Modernize AC_TRY_RUN invocations.
16130         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
16131         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
16132         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
16133         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
16134         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
16135         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
16136         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
16137         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
16138         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
16139         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
16140         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
16141         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
16142         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
16143         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
16144         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
16145         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
16146         gl_MBRLEN_NUL_RETVAL): Likewise.
16147         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
16148         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
16149         Likewise.
16150         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
16151         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
16152         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
16153         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
16154         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
16155         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
16156         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
16157         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
16158         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
16159         Likewise.
16160         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
16161         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
16162         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
16163         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
16164         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16165         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
16166         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
16167         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
16168         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
16169         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
16170
16171 2010-08-26  Bruno Haible  <bruno@clisp.org>
16172
16173         Modernize AC_TRY_LINK invocations.
16174         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
16175         AC_TRY_LINK.
16176         * m4/argp.m4 (gl_ARGP): Likewise.
16177         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
16178         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
16179         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
16180         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
16181         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
16182         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
16183         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
16184         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
16185         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
16186         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
16187         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
16188         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
16189         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
16190         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
16191         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
16192         * m4/hostent.m4 (gl_HOSTENT): Likewise.
16193         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
16194         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
16195         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
16196         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
16197         Likewise.
16198         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
16199         Likewise.
16200         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
16201         Likewise.
16202         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
16203         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
16204         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
16205         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
16206         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
16207         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
16208         * m4/servent.m4 (gl_SERVENT): Likewise.
16209         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
16210         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
16211         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
16212         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
16213         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
16214         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16215         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16216         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16217         * modules/tsearch-tests (configure.ac): Likewise.
16218
16219 2010-08-26  Bruno Haible  <bruno@clisp.org>
16220
16221         Modernize AC_TRY_COMPILE invocations.
16222         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
16223         AC_TRY_COMPILE.
16224         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
16225         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
16226         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
16227         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
16228         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
16229         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
16230         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
16231         * m4/lock.m4 (gl_LOCK): Likewise.
16232         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
16233         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
16234         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
16235         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
16236         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
16237         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
16238         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
16239         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
16240         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
16241         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
16242         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
16243         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
16244         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
16245         extraneous semicolon.
16246
16247 2010-08-26  Jim Meyering  <meyering@redhat.com>
16248
16249         stat-time: relax license LGPL
16250         * modules/stat-time (License): Change from GPL to LGPL,
16251         with consent from all contributors, for use in libguile.
16252         Requested by Ludovic Courtès.
16253
16254 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
16255
16256         poll: return immediately on POLLHUP.
16257         * lib/poll.c (poll): Always set timeout before wait_timeout is
16258         computed.
16259
16260 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16261
16262         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
16263         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
16264         rmdir ("dir/.//"), unlinkat.
16265
16266 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16267
16268         stdbool: avoid spurious failure with modern xlc
16269         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
16270
16271 2010-08-24  Bruno Haible  <bruno@clisp.org>
16272
16273         getloadavg: simplify code
16274         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
16275         gl_have_func. Update comments.
16276
16277 2010-08-24  Eric Blake  <eblake@redhat.com>
16278
16279         getloadavg: don't define SVR4 on cygwin
16280         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
16281         only define SVR4 when -lkvm is required.
16282         Reported by Yaakov Selkowitz.
16283
16284 2010-08-24  Bruno Haible  <bruno@clisp.org>
16285
16286         priv-set: fix comment
16287         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
16288
16289 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
16290
16291         priv-set: fix comments
16292         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
16293         to match code, as suggested by David Bartley in:
16294         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
16295
16296 2010-08-23  Eric Blake  <eblake@redhat.com>
16297
16298         stdbool: avoid rejecting clang
16299         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
16300         * tests/test-stdbool.c: Enable more tests if using the system
16301         <stdbool.h> instead of the gnulib replacement.
16302         (main): Move xlc bug test to a runtime test for all compilers.
16303         Reported by Anders Kaseorg.
16304
16305         argz: fix shell quoting issue
16306         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
16307         Reported by Charles Wilson.
16308
16309 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
16310             Erik Faye-Lund <kusmabite@gmail.com>
16311
16312         poll, select: handle ERROR_BROKEN_PIPE.
16313         * lib/poll.c (win32_compute_revents): Return POLLHUP when
16314         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
16315         * lib/select.c (win32_compute_revents): Do not mark a pipe
16316         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
16317
16318 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
16319
16320         fts: allow compilation with C++
16321         * lib/fts_.h: Specify extern "C" linkage with C++.
16322
16323 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16324
16325         Fix gnulib-tool sed script de-commentation for AIX sed.
16326         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
16327         sed.
16328
16329 2010-08-17  Eric Blake  <eblake@redhat.com>
16330
16331         test-stddef: test for (some) offsetof bugs
16332         * tests/test-stddef.c: Enhance test to ensure correct type of
16333         offsetof.
16334         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
16335         that we are not fixing at this time.
16336
16337 2010-08-15  Bruno Haible  <bruno@clisp.org>
16338
16339         stpncpy: Allow stpncpy to be defined as a macro.
16340         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
16341         if it's already correctly declared.
16342         * lib/string.in.h (stpncpy): Undefine before redefining.
16343         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
16344
16345 2010-08-14  Bruno Haible  <bruno@clisp.org>
16346
16347         Rename module 'memxfrm' to 'amemxfrm'.
16348         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
16349         (amemxfrm): Renamed from memxfrm.
16350         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
16351         (amemxfrm): Renamed from memxfrm.
16352         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
16353         * NEWS: Mention the change.
16354         * MODULES.html.sh (String handling <string.h>): Update.
16355         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
16356         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
16357         * lib/unicase/u16-casexfrm.c: Likewise.
16358         * lib/unicase/u32-casexfrm.c: Likewise.
16359         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
16360         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
16361         * lib/uninorm/u16-normxfrm.c: Likewise.
16362         * lib/uninorm/u32-normxfrm.c: Likewise.
16363         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
16364         memxfrm.
16365         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
16366         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
16367         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
16368         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
16369         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
16370         Suggested by Paul Eggert.
16371
16372 2010-08-14  Bruno Haible  <bruno@clisp.org>
16373
16374         Tests for module 'astrxfrm'.
16375         * modules/astrxfrm-tests: New file.
16376         * tests/test-astrxfrm.c: New file.
16377
16378         New module 'astrxfrm'.
16379         * lib/astrxfrm.h: New file.
16380         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
16381         * modules/astrxfrm: New file.
16382
16383 2010-08-14  Reuben Thomas <rrt@sc3d.org>
16384
16385         regex: Tweak doc.
16386         * doc/regex.texi (Overview): Don't mention regex.c.
16387         (GNU Regular Expression Compiling): Likewise.
16388         (Match-end-of-line Operator): Mention 'not_eol'.
16389
16390 2010-08-14  Brian Gough  <bjg@gnu.org>
16391             Bruno Haible  <bruno@clisp.org>
16392
16393         git-merge-changelog: add doc relating to use with bzr and hg.
16394         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
16395
16396 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
16397
16398         pthread: fix pthread.h creation for srcdir != builddir
16399         * modules/pthread (Makefile.am): Fix the rule to work also in a
16400         non-srcdir build.
16401
16402 2010-08-13  Karl Berry  <karl@gnu.org>
16403
16404         * doc/regex.texi (Predefined Syntaxes): @smallexample.
16405         * doc/posix-*/*: force line break before @url of POSIX
16406         specifications.
16407         Suggested by Werner Lemberg.
16408
16409 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
16410
16411         strtod: fix const diagnostic
16412         * lib/strtod.c (strtod): Don't assign const char * to char *,
16413         as this elicits a warning from GCC when warnings are enabled.
16414
16415 2010-08-10  Pádraig Brady <P@draigbrady.com>
16416         and Eric Blake  <eblake@redhat.com>
16417
16418         copy-acl: ignore ENOTSUP on HP-UX
16419         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
16420         so that it is available for HP-UX.
16421         * lib/copy-acl.c (qcopy_acl): Use it.
16422         Reported by Patrick M. Callahan.
16423
16424 2010-08-10  Eric Blake  <eblake@redhat.com>
16425
16426         open, chown: relax license
16427         * modules/open (License): Change to LGPLv2+, with consent by all
16428         authors, for use in augeas.
16429         * modules/chown (License): Likewise.
16430         * modules/lchown (Likewise): Likewise.
16431         Requested by Adam Stokes.
16432
16433 2010-08-09  Karl Berry  <karl@gnu.org>
16434
16435         * build-aux/ar-lib: new file, import from Automake.
16436         * config/srclist.txt: autocheck for updates.
16437
16438 2010-08-09  Eric Blake  <eblake@redhat.com>
16439
16440         readlinkat: adjust client modules
16441         * modules/areadlinkat (Depends-on): Use readlinkat, not
16442         symlinkat.
16443         * modules/areadlinkat-with-size (Depends-on): Likewise.
16444
16445         mknod: be more vocal about danger of running tests as root
16446         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
16447         root, since that is just asking for problems.
16448         Suggested by Bruno Haible, based on a report by Rainer Tammer.
16449
16450         readlinkat: split into its own module
16451         * modules/symlinkat: Split readlinkat...
16452         * modules/readlinkat: ...into separate module.
16453         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
16454         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
16455         * lib/symlinkat.c (readlinkat): Move...
16456         * lib/readlinkat.c: ...into new file.
16457         * modules/symlinkat-tests: Split readlinkat test...
16458         * modules/readlinkat-tests: ...into separate module.
16459         * tests/test-symlinkat.c: Split...
16460         * tests/test-readlinkat.c: ...into new file.
16461         * NEWS: Document the split.
16462         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
16463         * lib/unistd.in.h (readlinkat): Likewise.
16464         Suggested by Bruno Haible.
16465
16466 2010-08-08  Bruno Haible  <bruno@clisp.org>
16467
16468         memxfrm: Speed up.
16469         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
16470         that usually only one call to strxfrm is necessary for each string
16471         part.
16472         Reported by Paul Eggert <eggert@cs.ucla.edu>.
16473
16474 2010-08-07  Karl Berry  <karl@gnu.org>
16475
16476         * doc/posix-headers/limits.texi,
16477         * doc/posix-functions/malloc.texi,
16478         * doc/posix-functions/strsignal.texi: missing @item.
16479         * doc/ld-version-script.texi: spurious leading i.
16480         * doc/regex.texi (Interval Operators): no commas inside @var.
16481
16482 2010-08-01  Bruno Haible  <bruno@clisp.org>
16483
16484         Integrate the regex documentation.
16485         * doc/gnulib.texi: Define 'cn' index.
16486         (Regular expressions): New a chapter that includes regex.texi and
16487         regexprops-generic.texi.
16488         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
16489         syntax.
16490
16491         Whitespace cleanup.
16492         * doc/regex.texi: Remove trailing spaces.
16493
16494         Add regex documentation.
16495         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
16496         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
16497         Written by Kathy A. Hargreaves and Karl Berry.
16498
16499 2010-08-01  Bruno Haible  <bruno@clisp.org>
16500
16501         link: Update documentation.
16502         * doc/posix-functions/link.texi: Update regarding Solaris.
16503
16504 2010-07-31  Bruno Haible  <bruno@clisp.org>
16505
16506         Update modules list.
16507         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
16508         (String handling <string.h>): Add memcmp2, memxfrm.
16509         (Container data structures): Add xlist, xsublist, xoset.
16510         (Core language properties): Add alignof, unused-parameter.
16511         (Process control, Numeric conversion functions <stdlib.h>): Renamed
16512         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
16513         (Unibyte characters <ctype.h>): New section.
16514         (String handling <string.h>): New section.
16515         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
16516         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
16517         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
16518         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
16519         tan, tanh, tanl, y0, y1, yn.
16520         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
16521         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
16522         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
16523         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
16524         unlockpt, vdprintf, vdprintf-posix.
16525         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
16526         (File system functions): Add concat-filename, sys_file, sys_ioctl,
16527         xconcat-filename.
16528         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
16529         getdtablesize, pipe2, pipe2-safer.
16530         (Security): New section.
16531         (Networking functions): Add accept4.
16532         (Signal handling): Add sigpipe.
16533         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
16534         mbmemcasecoll.
16535         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
16536         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
16537         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
16538         pipe-filter-ii.
16539         (Misc): Add argp-version-etc, login_tty, parse-duration.
16540
16541 2010-07-31  Bruno Haible  <bruno@clisp.org>
16542
16543         Improve doc in MODULES.html.
16544         * modules/linkat (Description): Add the word "function".
16545         * modules/mkfifo (Description): Likewise.
16546         * modules/mknod (Description): Likewise.
16547         * modules/remove (Description): Likewise.
16548         * modules/renameat (Description): Likewise.
16549         * modules/stat (Description): Likewise.
16550         * modules/symlink (Description): Likewise.
16551         * modules/unlink (Description): Likewise.
16552
16553 2010-07-31  Bruno Haible  <bruno@clisp.org>
16554
16555         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
16556         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
16557         option --enable/disable-c++ instead of --enable/disable-cxx.
16558         * NEWS: Mention the change.
16559
16560 2010-07-31  Bruno Haible  <bruno@clisp.org>
16561
16562         readlink, areadlink: Relax test a bit.
16563         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
16564         alternative to ENOTDIR.
16565         * tests/test-areadlink.h (test_areadlink): Likewise.
16566         Reported by Rainer Tammer.
16567
16568 2010-07-31  Bruno Haible  <bruno@clisp.org>
16569
16570         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
16571         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
16572         character, perform the search using U_STRCHR.
16573         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
16574         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
16575         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
16576         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
16577         Suggested by Paolo Bonzini.
16578
16579 2010-07-31  Bruno Haible  <bruno@clisp.org>
16580
16581         unistr/u*-strstr: Fix dependencies.
16582         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
16583         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
16584         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
16585
16586 2010-07-31  Bruno Haible  <bruno@clisp.org>
16587
16588         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
16589         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
16590         the beginning of the loop.
16591         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
16592         cases in 'switch' statement.
16593
16594         unistr/u8-strchr: Fix several bugs.
16595         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
16596         the string. When not found, return NULL, not a pointer near the end.
16597
16598         More tests for unistr/u8-strchr.
16599         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
16600         that the function does not read past the first occurrence of the byte
16601         being searched.
16602         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
16603         * tests/unistr/test-u16-strchr.c (main): New function.
16604         * tests/unistr/test-u32-strchr.c (main): New function.
16605
16606 2010-07-31  Bruno Haible  <bruno@clisp.org>
16607
16608         posix-modules: Ignore backup files of documentation files.
16609         * posix-modules: grep only through files named *.texi.
16610
16611 2010-07-31  Bruno Haible  <bruno@clisp.org>
16612
16613         symlinkat: Fix documentation.
16614         * doc/posix-functions/readlinkat.texi: Fix module name.
16615
16616 2010-07-31  Bruno Haible  <bruno@clisp.org>
16617
16618         fchownat: Replace also when chown has the trailing slash bug.
16619         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
16620         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
16621         introduced on 2010-04-10.
16622         Reported by Rainer Tammer.
16623
16624 2010-07-31  Bruno Haible  <bruno@clisp.org>
16625
16626         linkat: Work around AIX 7.1 bug.
16627         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
16628         whether linkat handles trailing slash correctly. If not, replace linkat
16629         and define LINKAT_TRAILING_SLASH_BUG.
16630         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
16631         check whether (fd1,file1) points to a directory if file1 or file2 ends
16632         in a slash. Code taken from lib/link.c.
16633         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
16634         Reported by Rainer Tammer.
16635
16636 2010-07-31  Bruno Haible  <bruno@clisp.org>
16637
16638         Correctly determine whether pow is available in libc on AIX 7 with xlc.
16639         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
16640         This disables an xlc optimization that was causing wrong test results.
16641         Reported by Rainer Tammer.
16642
16643 2010-07-31  Bruno Haible  <bruno@clisp.org>
16644
16645         iconv: Work around AIX 6.1..7.1 bug.
16646         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
16647         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
16648         cross-compiling, guess no on all versions of AIX.
16649         Reported by Rainer Tammer.
16650
16651 2010-07-31  Bruno Haible  <bruno@clisp.org>
16652
16653         readlink: Relax test a bit.
16654         * tests/test-readlink.h (test_readlink): Allow different errno value
16655         when readlink is called with a file name that ends in / and refers to
16656         a file.
16657         Suggested by Eric Blake.
16658         Reported by Rainer Tammer.
16659
16660 2010-07-31  Bruno Haible  <bruno@clisp.org>
16661
16662         copysign: Does not require -lm on glibc systems.
16663         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
16664         gl_COMMON_DOUBLE_MATHFUNC.
16665         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
16666
16667 2010-07-31  Bruno Haible  <bruno@clisp.org>
16668
16669         duplocale: Work around AIX 7.1 bug.
16670         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
16671         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
16672         * lib/duplocale.c (rpl_duplocale): Update comment.
16673         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
16674         Reported by Rainer Tammer.
16675
16676 2010-07-30  Bruno Haible  <bruno@clisp.org>
16677
16678         dirfd: Avoid link error on AIX 7.1.
16679         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
16680         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
16681         exist, set REPLACE_DIRFD.
16682         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
16683         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
16684         * doc/posix-functions/dirfd.texi: Update.
16685         Reported by Rainer Tammer.
16686
16687 2010-07-30  Eric Blake  <eblake@redhat.com>
16688
16689         strtod: next round of AIX fixes
16690         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
16691         exponent.
16692         * tests/test-strtod.c (main): Enhance tests.
16693         * doc/posix-functions/strtod.texi (strtod): Document next bug.
16694         Reported by Rainer Tammer.
16695
16696         futimens: fix configure check
16697         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
16698         Reported by Bruno Haible.
16699
16700 2010-07-30  Bruno Haible  <bruno@clisp.org>
16701
16702         getline: Update regarding AIX.
16703         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
16704         Reported by Rainer Tammer.
16705
16706 2010-07-30  Bruno Haible  <bruno@clisp.org>
16707
16708         wcwidth: Drop replacement on AIX 7.
16709         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
16710         AIX 7.
16711         Reported by Rainer Tammer.
16712
16713 2010-07-30  Bruno Haible  <bruno@clisp.org>
16714
16715         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
16716         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
16717         a 'char *'.
16718         Reported by Rainer Tammer.
16719
16720 2010-07-30  Bruno Haible  <bruno@clisp.org>
16721
16722         unlink: Update regarding AIX.
16723         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
16724         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
16725         Reported by Rainer Tammer.
16726
16727 2010-07-30  Bruno Haible  <bruno@clisp.org>
16728
16729         symlink: Update regarding AIX.
16730         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
16731         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
16732         Reported by Rainer Tammer.
16733
16734 2010-07-30  Bruno Haible  <bruno@clisp.org>
16735
16736         strndup: Update regarding AIX.
16737         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
16738         AIX 7.
16739         Reported by Rainer Tammer.
16740
16741 2010-07-30  Bruno Haible  <bruno@clisp.org>
16742
16743         stat: Update regarding AIX.
16744         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
16745         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
16746         Reported by Rainer Tammer.
16747
16748 2010-07-30  Bruno Haible  <bruno@clisp.org>
16749
16750         truncl: Fix autoconf test.
16751         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
16752         whether truncl works.
16753         Reported by Rainer Tammer.
16754
16755 2010-07-30  Bruno Haible  <bruno@clisp.org>
16756
16757         round: Update regarding AIX.
16758         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
16759         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
16760         Reported by Rainer Tammer.
16761
16762 2010-07-30  Bruno Haible  <bruno@clisp.org>
16763
16764         rename: Update regarding AIX.
16765         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
16766         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
16767         Reported by Rainer Tammer.
16768
16769 2010-07-30  Bruno Haible  <bruno@clisp.org>
16770
16771         printf.m4: Update regarding AIX.
16772         * m4/printf.m4: Update comments regarding AIX.
16773         Reported by Rainer Tammer.
16774
16775 2010-07-30  Bruno Haible  <bruno@clisp.org>
16776
16777         iconv: Update regarding AIX.
16778         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
16779         AIX 7.
16780         Reported by Rainer Tammer.
16781
16782 2010-07-30  Bruno Haible  <bruno@clisp.org>
16783
16784         getopt: Update regarding AIX.
16785         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
16786         no on AIX.
16787         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
16788         Reported by Rainer Tammer.
16789
16790 2010-07-30  Bruno Haible  <bruno@clisp.org>
16791
16792         ldexpl; Update regarding AIX.
16793         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
16794         on AIX 7.
16795         Reported by Rainer Tammer.
16796
16797 2010-07-30  Bruno Haible  <bruno@clisp.org>
16798
16799         frexpl: Update regarding AIX.
16800         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
16801         on AIX 7.
16802         Reported by Rainer Tammer.
16803
16804 2010-07-30  Bruno Haible  <bruno@clisp.org>
16805
16806         open, fopen: Update regarding AIX.
16807         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
16808         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
16809         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
16810         * doc/posix-functions/fopen.texi: Likewise.
16811         Reported by Rainer Tammer.
16812
16813 2010-07-30  Bruno Haible  <bruno@clisp.org>
16814
16815         chown: Update doc regarding AIX.
16816         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
16817         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
16818         Reported by Rainer Tammer.
16819
16820 2010-07-30  Eric Blake  <eblake@redhat.com>
16821
16822         strtod: fix bug in replacement function on AIX
16823         * lib/strtod.c (strtod): Special case broken "0x" parse in
16824         underlying strtod.
16825         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
16826         * doc/posix-functions/strtod.texi (strtod): Likewise.
16827         Reported by Rainer Tammer.
16828
16829 2010-07-30  Bruno Haible  <bruno@clisp.org>
16830
16831         mbrlen: Fix cross-compilation guess for AIX.
16832         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
16833         guess. Leftover from 2008-12-22.
16834
16835 2010-07-30  Bruno Haible  <bruno@clisp.org>
16836
16837         mbrtowc: Fix cross-compilation guess for AIX.
16838         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
16839         guess. Leftover from 2008-12-21.
16840
16841 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
16842
16843         init.sh: work around trap limitation of some shells
16844         * tests/init.sh (setup_): Move exit trap outside of shell function.
16845
16846 2010-07-29  Eric Blake  <eblake@redhat.com>
16847
16848         strtod: aid debugging
16849         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
16850         understanding why strtod is rejected.
16851
16852 2010-07-28  Bruno Haible  <bruno@clisp.org>
16853
16854         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
16855         * lib/unistr/u8-chr.c: Include <string.h>.
16856         * tests/unistr/test-u8-chr.c: Likewise.
16857         * tests/unistr/test-u16-chr.c: Likewise.
16858         * tests/unistr/test-u32-chr.c: Likewise.
16859         * tests/unistr/test-u8-strchr.c: Likewise.
16860         * tests/unistr/test-u16-strchr.c: Likewise.
16861         * tests/unistr/test-u32-strchr.c: Likewise.
16862         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
16863         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
16864         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
16865         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
16866
16867 2010-07-28  Bruno Haible  <bruno@clisp.org>
16868
16869         Use spaces for indentation, not tabs.
16870         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
16871
16872 2010-07-27  Bruno Haible  <bruno@clisp.org>
16873
16874         mbspcasecmp: Fix function specification.
16875         * lib/string.in.h (mbspcasecmp): Fix specification comment.
16876         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
16877         Reported by Eric Blake <eblake@redhat.com>.
16878
16879 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
16880
16881         timespec: use cast and not conditional, as truncation isn't possible
16882         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
16883         instead of a conditional.  Comment about the situation in more detail.
16884         This undoes most of the 2009-10-29 patch.
16885
16886 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
16887
16888         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
16889         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
16890         * lib/unistr/u8-strchr.c: Likewise.
16891         * modules/unistr/u8-chr: Depend on memchr.
16892
16893         unistr/u*-strchr: add tests
16894         * modules/unistr/u8-strchr-tests: New file.
16895         * modules/unistr/u16-strchr-tests: New file.
16896         * modules/unistr/u32-strchr-tests: New file.
16897         * tests/unistr/test-strchr.h: New file.
16898         * tests/unistr/test-u8-strchr.c: New file.
16899         * tests/unistr/test-u16-strchr.c: New file.
16900         * tests/unistr/test-u32-strchr.c: New file.
16901
16902         unistr/u*-chr: test multibyte sequences more
16903         * tests/unistr/test-chr.h: Do complete testing of the characters in the
16904         test vector.
16905         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
16906         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
16907         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
16908
16909         unistr/u*-chr: test multibyte sequences
16910         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
16911
16912         unistr/u*-chr: prepare for multibyte tests
16913         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
16914         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
16915         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
16916         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
16917         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
16918         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
16919
16920 2010-07-18  Bruno Haible  <bruno@clisp.org>
16921
16922         unistr/u8-strchr: Optimize non-ASCII argument case.
16923         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
16924         because the first byte often matches anyway.
16925         Reported by Pádraig Brady <P@draigbrady.com>.
16926
16927 2010-07-15  Karl Berry  <karl@gnu.org>
16928
16929         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
16930
16931 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
16932
16933         getcwd: on Solaris, work better if ancestors are inaccessible
16934         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
16935         buffer and size, try again with a large buffer.  This works better
16936         on Solaris, since its getcwd succeeds even if the path to the root
16937         is inaccessible, and this is helpful in common cases such as .zfs
16938         hidden directories.  Problem reported by J Chapman Flack in
16939         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
16940         Use system getcwd if it's declared, not merely if it's partly
16941         working; use the partly-working test only to avoid needless effort
16942         if the system getcwd fails.
16943         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
16944         comment that was already obsolete and is now even more obsolete.
16945         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
16946         now might call strdup.
16947
16948 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
16949
16950         pthread: Add enough so that coreutils/src/sort.c compiles.
16951         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
16952         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
16953         gnulib. Include <sched.h> and <time.h>, as per POSIX.
16954         Include <sys/types.h>, in case it defines pthread_t.
16955         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
16956         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
16957         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
16958         (pthread_rwlockattr_t, pthread_spinlock_t):
16959         New typedefs, if HAVE_PTHREAD_T is not defined.
16960         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
16961         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
16962         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
16963         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
16964         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
16965         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
16966         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
16967         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
16968         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
16969         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
16970         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
16971         New macros.
16972         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
16973         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
16974         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
16975         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
16976         (pthread_spin_unlock): New dummy functions.
16977         (pthread_create): Return EAGAIN; don't set errno.
16978         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
16979         require AC_C_INLINE.
16980         * modules/pthread (Depends-on): Add sched, time.
16981         (pthread.h): Use AM_V_GEN.
16982
16983 2010-07-13  Bruno Haible  <bruno@clisp.org>
16984
16985         striconveh: Don't malloc memory if the result buffer is sufficient.
16986         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
16987         buffer if its size is sufficient.
16988         Reported by Ludovic Courtès <ludo@gnu.org>.
16989
16990 2010-07-13  Bruno Haible  <bruno@clisp.org>
16991
16992         strtod: Add safety check.
16993         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
16994
16995 2010-07-12  Bruno Haible  <bruno@clisp.org>
16996
16997         Unify tests that set gl_cv_func_ldexpl_no_libm.
16998         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
16999         gl_FUNC_LDEXPL.
17000         (gl_FUNC_LDEXPL): Invoke it.
17001         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
17002
17003 2010-07-12  Bruno Haible  <bruno@clisp.org>
17004
17005         Unify tests that set gl_cv_func_ldexp_no_libm.
17006         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
17007         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
17008         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
17009         (configure.ac): Simply invoke gl_FUNC_LDEXP.
17010         * modules/strtod (Files): Add m4/ldexp.m4.
17011
17012 2010-07-12  Bruno Haible  <bruno@clisp.org>
17013
17014         Unify tests that set gl_cv_func_frexpl_no_libm.
17015         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
17016         gl_FUNC_FREXPL_NO_LIBM.
17017         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
17018         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
17019
17020 2010-07-12  Bruno Haible  <bruno@clisp.org>
17021
17022         Unify tests that set gl_cv_func_frexp_no_libm.
17023         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
17024         gl_FUNC_FREXP_NO_LIBM.
17025         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
17026         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
17027
17028 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
17029
17030         memcoll: clarify sizes versus lengths, document better, and tweak perf
17031         * lib/memcoll.c (strcoll_loop, memcoll0):
17032         Improve quality of descriptive comments.  Name variables
17033         consistently as to whether they are lengths (which do not include
17034         terminating null) versus sizes (which do).
17035         * lib/xmemcoll.c (xmemcoll0): Likewise.
17036         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
17037         returned when s1size == 0; this is easier to compile and saves
17038         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
17039
17040 2010-07-12  Bruno Haible  <bruno@clisp.org>
17041
17042         Tests for module '_Exit'.
17043         * modules/_Exit-tests: New file.
17044         * tests/test-_Exit.sh: New file.
17045         * tests/test-_Exit.c: New file.
17046
17047         New module '_Exit'.
17048         * lib/stdlib.in.h (__attribute__): New macro.
17049         (_Exit): New declaration.
17050         * lib/_Exit.c: New file.
17051         * m4/_Exit.m4: New file.
17052         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
17053         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
17054         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
17055         * modules/_Exit: New file.
17056         * tests/test-stdlib-c++.cc (_Exit): Check signature.
17057         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
17058
17059 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
17060
17061         strtod: make it more-accurate typically, and don't require libm
17062         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
17063         Include limits.h.  Don't include string.h.
17064         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
17065         (locale_isspace): New function, so that no casts are needed to
17066         check whether *s is a space.
17067         (ldexp): Provide an unused dummy if not available.
17068         (scale_radix_exp, parse_number, underlying_strtod): New functions.
17069         (strtod): Use them.  This implementation prefers to use the
17070         underlying strtod if available, falling back on our own code
17071         only to fix known bugs.  This is more likely to produce an
17072         accurate result.  Also, it avoids the use of libm functions.
17073         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
17074         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
17075         was absent, but it caused a test failure with coreutils.
17076         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
17077         with libm.
17078         * modules/strtod (Makefile.am, Link): libm is no longer needed.
17079         * modules/strtod-tests (Makefile.am): Likewise.
17080
17081 2010-07-11  Pádraig Brady  <P@draigBrady.com>
17082             Bruno Haible  <bruno@clisp.org>
17083
17084         unistr/u8-strchr: Optimize ASCII argument case.
17085         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
17086
17087 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
17088
17089         (x)memcoll: minor tweaks
17090         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
17091         is after the type that it qualifies.
17092         (memcoll0): Likewise.
17093         * lib/memcoll.h (memcoll0): Likewise.
17094         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
17095         * lib/xmemcoll.h (xmemcoll0): Likewise.
17096         * lib/memcoll.c (memcoll0): Correct the comment.  This function
17097         differs from memcoll in that the NUL byte is part of the argument.
17098         Omit the abort-checks, as performance is a real issue here.  Plus,
17099         the checks were wrong anyway (an off-by-one error).  Omit local
17100         variable 'diff', as it's a bit clearer that way.
17101         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
17102         no longer needed.
17103
17104 2010-07-08  Chen Guo <chenguo4@yahoo.com>
17105
17106         (x)memcoll: speedup when input is known to be NUL delimited
17107         * lib/memcoll.c: Include stdlib.
17108         (memcoll0): New function.
17109         (strcoll_loop): New function, refactored for use in both memcoll
17110         and memcoll0.
17111         * lib/memcoll.h (memcoll0): Add prototype.
17112         * lib/xmemcoll.c (xmemcoll0): New function.
17113         (collate_error): New function, refactored for use in both xmemcoll
17114         and xmemcoll0.
17115         * lib/xmemcoll.h (xmemcoll0): Add prototype.
17116         * m4/memcoll.m4: add inline invocation.
17117
17118 2010-07-06  Pádraig Brady  <P@draigBrady.com>
17119
17120         * build-aux/bootstrap: Remove any local translations
17121         from the translation project synchronization directory,
17122         so that local only translations are not distributed.
17123
17124 2010-07-04  Bruno Haible  <bruno@clisp.org>
17125
17126         fsusage: Clarify which code applies to which platforms.
17127         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
17128         platform.
17129         * lib/fsusage.c (get_fs_usage): Likewise.
17130
17131 2010-07-04  Bruno Haible  <bruno@clisp.org>
17132
17133         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
17134         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
17135         Reported by Martin Lambers <marlam@marlam.de>.
17136
17137 2010-07-04  Jim Meyering  <meyering@redhat.com>
17138
17139         hash: once again explicitly disallow insertion of NULL
17140         * lib/hash.c (hash_insert0): Reinstate just-removed test:
17141         inserting a NULL pointer cannot work with these functions.
17142         Add a comment with details.
17143         This reverts part of the 2010-07-01 commit, 5bef1a35
17144         "hash: extend module to deal with non-pointer keys".
17145
17146 2010-07-01  Bruno Haible  <bruno@clisp.org>
17147
17148         stdbool: Update doc.
17149         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
17150         Info from Christian Weisgerber <naddy@mips.inka.de>.
17151
17152 2010-07-01  Jim Meyering  <meyering@redhat.com>
17153
17154         hash: extend module to deal with non-pointer keys
17155         * lib/hash.c (hash_insert0): New interface, much like hash_insert
17156         but that allows insertion of non-pointer entries.
17157         Do not disallow an ENTRY value of NULL.
17158         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
17159         * lib/hash.h (hash_insert0): Declare.
17160
17161 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
17162
17163         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
17164         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
17165         not present (i.e. with autoconf 2.59 and when using gettextize, not
17166         gnulib), require AC_GNU_SOURCE instead.
17167
17168 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
17169
17170         idpriv-drop: Fix tests.
17171         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
17172         not to the test-idpriv-droptemp program.
17173
17174 2010-06-29  Bruno Haible  <bruno@clisp.org>
17175
17176         string: Fix syntax error with g++ 2.96.
17177         * lib/string.in.h (__pure__): Remove definition.
17178         (_GL_ATTRIBUTE_PURE): New macro.
17179         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
17180         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
17181         Reported by Christian Weisgerber <naddy@mips.inka.de>.
17182
17183 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
17184
17185         unitypes: Fix bug introduced on 2010-05-18.
17186         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
17187
17188 2010-06-22  Eric Blake  <eblake@redhat.com>
17189
17190         memmem: slight optimization
17191         * lib/str-two-way.h (critical_factorization): Update comments.
17192         Reduce work during factorization phase.
17193         Reported by Carlos Bueno <carlos@bueno.org>.
17194
17195 2010-06-21  Bruno Haible  <bruno@clisp.org>
17196
17197         Fix HAVE_CALLOC_POSIX misnomer.
17198         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
17199         !HAVE_CALLOC_POSIX.
17200         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
17201         HAVE_CALLOC_POSIX.
17202         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
17203         instead of HAVE_CALLOC_POSIX.
17204         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
17205         HAVE_CALLOC_POSIX.
17206
17207         Use modern idiom for calloc() replacement.
17208         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
17209         AC_FUNC_CALLOC.
17210         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
17211         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
17212         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
17213         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
17214         (gl_REPLACE_CALLOC): New macro.
17215
17216 2010-06-21  Bruno Haible  <bruno@clisp.org>
17217
17218         Fix HAVE_REALLOC_POSIX misnomer.
17219         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
17220         !HAVE_REALLOC_POSIX.
17221         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
17222         HAVE_REALLOC_POSIX.
17223         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
17224         instead of HAVE_REALLOC_POSIX.
17225         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
17226         HAVE_REALLOC_POSIX.
17227
17228         Use modern idiom for realloc() replacement.
17229         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
17230         AC_FUNC_REALLOC.
17231         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
17232         Autoconf's AC_FUNC_REALLOC.
17233         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
17234         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
17235         (gl_REPLACE_REALLOC): New macro.
17236         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
17237
17238 2010-06-21  Bruno Haible  <bruno@clisp.org>
17239
17240         Fix HAVE_MALLOC_POSIX misnomer.
17241         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
17242         !HAVE_MALLOC_POSIX.
17243         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
17244         HAVE_MALLOC_POSIX.
17245         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
17246         instead of HAVE_MALLOC_POSIX.
17247         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
17248         HAVE_MALLOC_POSIX.
17249
17250         Use modern idiom for malloc() replacement.
17251         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
17252         AC_FUNC_MALLOC.
17253         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
17254         Autoconf's AC_FUNC_MALLOC.
17255         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
17256         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
17257         (gl_REPLACE_MALLOC): New macro.
17258         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
17259
17260 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
17261
17262         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
17263         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
17264         This macro takes 3 arguments, not 4.
17265
17266 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
17267
17268         ipv6: fix detection under mingw
17269         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
17270         in6_addr.
17271
17272 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
17273
17274         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
17275         that strtod() works when cross-compiling to a glibc version known
17276         to work.
17277
17278 2010-06-15  Bruno Haible  <bruno@clisp.org>
17279
17280         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
17281
17282 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
17283
17284         select: Correct timeout.
17285         * lib/select.c (rpl_select): Compute wait_timeout correctly.
17286
17287 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
17288
17289         git-version-gen: init shell var to avoid env var influence
17290         * build-aux/git-version-gen (v): Init shell var to empty.
17291
17292 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
17293
17294         priv-set: Don't assume that priv.h exists merely because getppriv does.
17295         See Jan Andersen's bug report about AIX 5L in
17296         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
17297         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
17298         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
17299         * lib/priv-set.h: Likewise.
17300         * tests/test-priv-set.c: Likewise.
17301
17302 2010-06-13  Bruno Haible  <bruno@clisp.org>
17303
17304         relocatable: Make it easier to test whether to install wrappers.
17305         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
17306         RELOCATABLE_VIA_WRAPPER.
17307
17308 2010-06-13  Bruno Haible  <bruno@clisp.org>
17309
17310         gnulib-tool: Display specified modules and dependencies differently.
17311         * gnulib-tool (func_show_module_list): New function.
17312         (func_import, func_create_testdir): Invoke it.
17313         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
17314
17315 2010-06-13  Bruno Haible  <bruno@clisp.org>
17316
17317         gnulib-tool: Align code of func_import and func_create_testdir.
17318         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
17319         specified_modules.
17320
17321 2010-06-12  Jim Meyering  <meyering@redhat.com>
17322
17323         test-inttostr: avoid spurious failure on Solaris 9
17324         * tests/test-inttostr.c (main): Skip the test when snprintf fails
17325         to accept "%ju".  Reported by Bruno Haible.
17326
17327 2010-06-11  Jim Meyering  <meyering@redhat.com>
17328
17329         test-sys_socket: mark variables as used more readably
17330         * tests/test-sys_socket.c (main): Mark otherwise unused variables
17331         as "used" explicitly via (void) statement casts.  This is more
17332         readable than using them in an artificial return expression.
17333         Suggestion from Bruno Haible.
17334
17335 2010-06-11  Bruno Haible  <bruno@clisp.org>
17336
17337         Avoid some more warnings from "gcc -Wwrite-strings".
17338         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
17339         to 'const char *'.
17340         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
17341         * tests/test-c-strcasestr.c (main): Likewise.
17342         * tests/test-mbscasestr1.c (main): Likewise.
17343         * tests/test-mbscasestr2.c (main): Likewise.
17344         * tests/test-memmem.c (main): Likewise.
17345         * tests/test-strstr.c (main): Likewise.
17346         * tests/test-strcasestr.c (main): Likewise.
17347
17348 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17349
17350         init.sh: change framework_failure_ to fail with status 99, not 1
17351         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
17352         automake's parallel-tests rule that this is an unexpected failure,
17353         even if the test is listed in XFAIL_TESTS.
17354
17355 2010-06-11  Jim Meyering  <meyering@redhat.com>
17356
17357         test-inttostr: avoid warnings about 4-6KB literal strings
17358         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
17359         Include "macros.h", for its definition of ASSERT.
17360         (CK): s/assert/ASSERT/
17361         * modules/inttostr-tests (Files): Add macros.h.
17362
17363         init.sh: don't use $ME_ or skip_ before they are defined
17364         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
17365         their first uses.  Also hoist their companions: warn_, fail_,
17366         framework_failure_, $stderr_fileno.  Prompted by a patch from
17367         Stefano Lattarini.
17368
17369         test-sys_socket: avoid set-but-not-used warnings from gcc
17370         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
17371         avoid warning about set-but-not-used variables.
17372
17373         test-xvasprintf: avoid 'const' discard warnings
17374         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
17375         "const" when assigning from literal strings.
17376         (test_xasprintf): Add "void" in function argument list to placate
17377         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
17378
17379         tests: avoid compilation warnings in argmatch and exclude tests...
17380         in packages that define ARGMATCH_DIE_DECL, like coreutils.
17381         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
17382         Since it always exits, declare with the "noreturn" attribute.
17383         * tests/test-argmatch.c: Likewise.
17384
17385         tests: avoid 'const' discard warnings in mbsstr tests
17386         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
17387         * tests/test-mbsstr2.c (main): Likewise.
17388
17389         test-verify: avoid warning from gcc's -Wmissing-declarations
17390         * tests/test-verify.c (function): Declare to be static.
17391
17392         test-inttostr.c: include <string.h> for use of strcmp
17393         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
17394
17395         test-linkat: avoid failed assertion on "other" architectures
17396         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
17397         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
17398         sparc: https://bugs.launchpad.net/bugs/591968
17399
17400 2010-06-11  Jim Meyering  <meyering@redhat.com>
17401
17402         printf.m4: avoid autoconf's "Expanded Before Required" warning
17403         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
17404         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
17405         autoconf warning.
17406
17407 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
17408
17409         Replacement header templates are now named with ".in", not "_".
17410         * doc/gnulib-intro.texi: Correct.
17411
17412 2010-06-10  Jim Meyering  <meyering@redhat.com>
17413
17414         inttostr-tests: depend on snprintf, not snprintf-posix
17415         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
17416         snprintf-posix, to avoid this aclocal failure:
17417           missing file gnulib-tests/vasnprintf.c
17418           configure.ac:45: error: expected source file, required through \
17419           AC_LIBSOURCES, not found
17420
17421 2010-06-10  Jim Meyering  <meyering@redhat.com>
17422
17423         inttostr: add a new function, inttostr, and tests
17424         The namesake function was not available.  The existence of the
17425         template file, inttostr.c makes its addition nontrivial.
17426         * lib/anytostr.c: Rename from inttostr.c.
17427         (anytostr): Rename from inttostr.
17428         * lib/inttostr.c: New file.
17429         * modules/inttostr (Files): Add anytostr.c.
17430         (Makefile.am): Set lib_SOURCES instead of ...
17431         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
17432         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
17433         * lib/offtostr.c: Likewise.
17434         * lib/uinttostr.c: Likewise.
17435         * lib/umaxtostr.c: Likewise.
17436         * modules/inttostr-tests: New file.
17437         * tests/test-inttostr.c: New file.  Test these functions.
17438
17439 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
17440             Bruno Haible  <bruno@clisp.org>
17441
17442         Add "Extending Gnulib" chapter to manual.
17443         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
17444         chapter.
17445         (Extending Gnulib): New chapter.
17446         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
17447         chapter.
17448
17449 2010-06-09  Bruno Haible  <bruno@clisp.org>
17450
17451         Avoid relocwrapper link errors due to gnulib replacement functions.
17452         * lib/areadlink.c: Use the system's malloc, realloc functions.
17453         (areadlink): Set errno to ENOMEM explicitly.
17454         * modules/areadlink (Depends-on): Remove malloc-posix.
17455         Reported by Ben Pfaff <blp@cs.stanford.edu>.
17456
17457 2010-06-09  Bruno Haible  <bruno@clisp.org>
17458
17459         Avoid relocwrapper link errors due to gnulib replacement functions.
17460         * lib/canonicalize-lgpl.c: Use the system's malloc function.
17461         * lib/malloca.c: Likewise.
17462         * lib/relocatable.c: Likewise.
17463         * lib/progreloc.c: Use the system's malloc, sprintf functions.
17464         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
17465         * lib/setenv.c: Use the system's malloc, realloc functions.
17466         * lib/strerror.c: Use the system's sprintf function.
17467         Reported by Ben Pfaff <blp@cs.stanford.edu>.
17468
17469 2010-06-04  Bruno Haible  <bruno@clisp.org>
17470
17471         Prefer documented low-level autoconf macro names.
17472         * m4/lib-link.m4: Use m4_translit instead of translit.
17473         * m4/environ.m4: Likewise.
17474         * m4/mathfunc.m4: Likewise.
17475         * m4/onceonly.m4: Likewise.
17476         * m4/stdint.m4: Likewise.
17477         Suggested by Eric Blake.
17478
17479 2010-06-04  Martin Lambers  <marlam@marlam.de>
17480             Bruno Haible  <bruno@clisp.org>
17481
17482         havelib: Allow library names with '+' characters.
17483         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
17484         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
17485
17486 2010-06-09  Bruno Haible  <bruno@clisp.org>
17487
17488         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
17489         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
17490         realloc failed.
17491
17492 2010-06-08  Peter Simons  <simons@cryp.to>
17493
17494         maint.mk: make the news-check rule more configurable
17495         * top/maint.mk (news-check-lines-spec): New variable.
17496         (news-check): Use "sed -n 1,10p" in place of "head".
17497
17498 2010-06-07  Jim Meyering  <meyering@redhat.com>
17499
17500         do-release-commit-and-tag: fix typo in --help
17501         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
17502
17503         regex: avoid new dead-code warning with gcc-4.6.0
17504         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
17505         if-block containing a while-loop.  It's been unused for at least
17506         5 years.
17507
17508 2010-06-05  Bruno Haible  <bruno@clisp.org>
17509
17510         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
17511         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
17512
17513 2010-06-04  Bruno Haible  <bruno@clisp.org>
17514
17515         Update to GNU gettext 0.18.1.
17516         * modules/gettext (configure.ac): Require gettext infrastructure from
17517         version 0.18.1.
17518
17519 2010-06-03  Bruno Haible  <bruno@clisp.org>
17520
17521         Don't use AC_LIBOBJ with file names in subdirectories.
17522         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
17523         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
17524         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
17525         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
17526         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
17527         gl_LIBUNISTRING_LIBSOURCE.
17528         (Makefile.am): Augment lib_SOURCES here, conditionally.
17529         * NEWS: Drop requirement for Automake option 'subdir-objects'.
17530
17531 2010-06-03  Bruno Haible  <bruno@clisp.org>
17532
17533         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
17534         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
17535         expansion does not end with a newline.
17536         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
17537         unnecessary newline.
17538
17539 2010-06-03  Bruno Haible  <bruno@clisp.org>
17540
17541         Reduce dependencies.
17542         * tests/test-quotearg.h: New file, extracted from
17543         tests/test-quotearg.c.
17544         * tests/test-quotearg-simple.c: New file, extracted from
17545         tests/test-quotearg.c.
17546         * tests/test-quotearg.c: Don't include <ctype.h>.
17547         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
17548         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
17549         use_quote_double_quotes, use_quotearg_colon): Moved to
17550         tests/test-quotearg.h.
17551         (results_g, flag_results, custom_quotes, custom_results): Moved
17552         to tests/test-quotearg-simple.c.
17553         (main): Moved the part that does not depend on gettext to
17554         tests/test-quotearg-simple.c. Return 77 if the test cannot be
17555         performed.
17556         * modules/quotearg-simple: New file.
17557         * modules/quotearg-simple-tests: New file.
17558         * modules/quotearg (Depends-on): Add quotearg-simple.
17559         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
17560         (Files): Add tests/test-quotearg.h.
17561         Reported by Paolo Bonzini.
17562
17563 2010-06-03  Bruno Haible  <bruno@clisp.org>
17564
17565         Reduce dependencies.
17566         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
17567
17568 2010-06-03  Bruno Haible  <bruno@clisp.org>
17569
17570         time: Undefine more broken macros.
17571         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
17572         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
17573         Reported by Eric Blake.
17574
17575 2010-06-03  Bruno Haible  <bruno@clisp.org>
17576
17577         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
17578         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
17579         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
17580         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
17581         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
17582         Reported by Ludovic Courtès <ludo@gnu.org>.
17583
17584 2010-06-02  Eric Blake  <eblake@redhat.com>
17585
17586         time: work with mingw + pthreads-win32 library
17587         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
17588         if timespec is defined only in pthread.h.
17589         * modules/time (Makefile.am): Substitute it.
17590         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
17591         <pthread.h>, when needed.
17592         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
17593         from the library.
17594
17595 2010-05-31  Bruno Haible  <bruno@clisp.org>
17596
17597         Avoid expanding two macros in the wrong order.
17598         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
17599         gl_LIBUNISTRING if it is defined.
17600         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
17601         autoconf >= 2.64.
17602         Reported by Ludovic Courtès <ludo@gnu.org>.
17603
17604 2010-05-27  Jim Meyering  <meyering@redhat.com>
17605
17606         maint.mk: also prohibit "#undef" of always-defined symbols
17607         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
17608         Allow more than one space before the symbol name.
17609         (sc_prohibit_always-defined_macros): Use grep's -E, now that
17610         the regexp uses alternation.
17611
17612 2010-05-26  Eric Blake  <eblake@redhat.com>
17613
17614         maint.mk: avoid echo -e
17615         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
17616         Convert all uses of echo -* to printf.
17617         Reported by Matthias Bolte.
17618
17619 2010-05-25  Bruno Haible  <bruno@clisp.org>
17620
17621         Update to GNU gettext 0.18, part 2.
17622         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
17623         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
17624
17625 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17626
17627         Add missing include in test-pwrite.c.
17628         * tests/test-pwrite.c: Include string.h, for strcmp.
17629
17630 2010-05-24  Bruno Haible  <bruno@clisp.org>
17631
17632         * NEWS: Mention requirement for Automake option 'subdir-objects'.
17633
17634 2010-05-24  Bruno Haible  <bruno@clisp.org>
17635
17636         Don't use conversion with transliteration in u{8,16,32}_strcoll.
17637         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
17638         iconveh_error argument.
17639         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
17640         U_STRCONV_TO_LOCALE.
17641         * lib/unistr/u16-strcoll.c: Likewise.
17642         * lib/unistr/u32-strcoll.c: Likewise.
17643         * modules/unistr/u8-strcoll (Depends-on): Add
17644         uniconv/u8-strconv-to-enc, localcharset. Remove
17645         uniconv/u8-strconv-to-locale.
17646         (configure.ac): Bump version number.
17647         * modules/unistr/u16-strcoll (Depends-on): Add
17648         uniconv/u16-strconv-to-enc, localcharset. Remove
17649         uniconv/u16-strconv-to-locale.
17650         (configure.ac): Bump version number.
17651         * modules/unistr/u32-strcoll (Depends-on): Add
17652         uniconv/u32-strconv-to-enc, localcharset. Remove
17653         uniconv/u32-strconv-to-locale.
17654         (configure.ac): Bump version number.
17655
17656 2010-05-24  Bruno Haible  <bruno@clisp.org>
17657
17658         Avoid a test failure on NetBSD 5.0.
17659         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
17660         an iconv() bug.
17661
17662 2010-05-24  Bruno Haible  <bruno@clisp.org>
17663
17664         Adjust #include directive style.
17665         * modules/regex (Includes): Recommend to write <regex.h>.
17666
17667 2010-05-24  Bruno Haible  <bruno@clisp.org>
17668
17669         regex: Don't require alloca.
17670         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
17671         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
17672         only inside if (0).
17673
17674 2010-05-23  Jim Meyering  <meyering@redhat.com>
17675
17676         test-renameat.c: include <sys/stat.h>
17677         * tests/test-renameat.c: Include <sys/stat.h>; required for
17678         definition of S_IS* macros.
17679
17680 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
17681
17682         Update maintainer documentation for 'relocatable-prog' module.
17683         * doc/relocatable-maint.texi: Update.
17684         Comments by Bruno Haible.
17685
17686 2010-05-23  Bruno Haible  <bruno@clisp.org>
17687
17688         git-merge-changelog: Enable --split-merged-entry by default.
17689         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
17690         (usage): Don't mention this option any more.
17691         Reported by Ralf Wildenhues.
17692
17693 2010-05-23  Jim Meyering  <meyering@redhat.com>
17694
17695         test-pwrite: do not leave behind a test file named "out"
17696         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
17697         The trivial-looking use of init.sh is really necessary.
17698         It ensures that the temporary file, "out", is created in
17699         a temporary directory, and removed upon termination.
17700         * tests/test-pwrite.sh: Re-add file.
17701         * modules/pwrite-tests: Reference it.
17702
17703 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17704
17705         Fix output redirection buglet in init.sh.
17706         * tests/init.sh: Fix redirection of stderr.
17707
17708 2010-05-20  Simon Josefsson  <simon@josefsson.org>
17709
17710         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
17711
17712 2010-05-17  Simon Josefsson  <simon@josefsson.org>
17713
17714         * modules/valgrind-tests: New file.
17715         * m4/valgrind-tests.m4: New file.
17716         * doc/valgrind-tests.texi: New file.
17717         * doc/gnulib.texi (Running self-tests under valgrind): New
17718         section.
17719
17720 2010-05-19  Bruno Haible  <bruno@clisp.org>
17721
17722         Clean up dead code in recent commit.
17723         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
17724         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
17725         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
17726         Suggested by Paolo Bonzini.
17727
17728 2010-05-19  Bruno Haible  <bruno@clisp.org>
17729
17730         Avoid valgrind error reports from libunistring.
17731         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
17732         * modules/libunistring (Files): Add it.
17733         * modules/libunistring-optional (Files): Likewise.
17734
17735 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
17736             Bruno Haible  <bruno@clisp.org>
17737
17738         New module 'libunistring-optional'.
17739         * modules/libunistring-optional: New file.
17740         * m4/libunistring-base.m4: New file.
17741         * m4/libunistring-optional.m4: New file.
17742         * lib/unicase.in.h: Renamed from lib/unicase.h.
17743         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
17744         * lib/unictype.in.h: Renamed from lib/unictype.h.
17745         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
17746         * lib/uniname.in.h: Renamed from lib/uniname.h.
17747         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
17748         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
17749         * lib/unistr.in.h: Renamed from lib/unistr.h.
17750         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
17751         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
17752         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
17753         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
17754         gl_LIBUNISTRING. If the library was found, determine the installed
17755         version and set LIBUNISTRING_VERSION.
17756         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
17757         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
17758         handle a configuration option --with-included-libunistring.
17759         * modules/libunistring (Files): Add m4/absolute-header.m4.
17760         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
17761         Add m4/libunistring-base.m4.
17762         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17763         (Makefile.am): Build unicase.h from unicase.in.h.
17764         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
17765         Add m4/libunistring-base.m4.
17766         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17767         (Makefile.am): Build uniconv.h from uniconv.in.h.
17768         * modules/unictype/base (Files): Use unictype.in.h instead of
17769         unictype.h. Add m4/libunistring-base.m4.
17770         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17771         (Makefile.am): Build unictype.h from unictype.in.h.
17772         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
17773         Add m4/libunistring-base.m4.
17774         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17775         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
17776         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
17777         Add m4/libunistring-base.m4.
17778         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17779         (Makefile.am): Build uniname.h from uniname.in.h.
17780         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
17781         Add m4/libunistring-base.m4.
17782         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17783         (Makefile.am): Build uninorm.h from uninorm.in.h.
17784         * modules/unistdio/base (Files): Use unistdio.in.h instead of
17785         unistdio.h. Add m4/libunistring-base.m4.
17786         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17787         (Makefile.am): Build unistdio.h from unistdio.in.h.
17788         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
17789         Add m4/libunistring-base.m4.
17790         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17791         (Makefile.am): Build unistr.h from unistr.in.h.
17792         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
17793         Add m4/libunistring-base.m4.
17794         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17795         (Makefile.am): Build unitypes.h from unitypes.in.h.
17796         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
17797         Add m4/libunistring-base.m4.
17798         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17799         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
17800         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
17801         uniwidth.h. Add m4/libunistring-base.m4.
17802         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
17803         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
17804         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
17805         instead of augmenting lib_SOURCES.
17806         * modules/unicase/empty-suffix-context: Likewise.
17807         * modules/unicase/locale-language: Likewise.
17808         * modules/unicase/tolower: Likewise.
17809         * modules/unicase/totitle: Likewise.
17810         * modules/unicase/toupper: Likewise.
17811         * modules/unicase/u8-casecmp: Likewise.
17812         * modules/unicase/u8-casecoll: Likewise.
17813         * modules/unicase/u8-casefold: Likewise.
17814         * modules/unicase/u8-casexfrm: Likewise.
17815         * modules/unicase/u8-ct-casefold: Likewise.
17816         * modules/unicase/u8-ct-tolower: Likewise.
17817         * modules/unicase/u8-ct-totitle: Likewise.
17818         * modules/unicase/u8-ct-toupper: Likewise.
17819         * modules/unicase/u8-is-cased: Likewise.
17820         * modules/unicase/u8-is-casefolded: Likewise.
17821         * modules/unicase/u8-is-lowercase: Likewise.
17822         * modules/unicase/u8-is-titlecase: Likewise.
17823         * modules/unicase/u8-is-uppercase: Likewise.
17824         * modules/unicase/u8-prefix-context: Likewise.
17825         * modules/unicase/u8-suffix-context: Likewise.
17826         * modules/unicase/u8-tolower: Likewise.
17827         * modules/unicase/u8-totitle: Likewise.
17828         * modules/unicase/u8-toupper: Likewise.
17829         * modules/unicase/u16-casecmp: Likewise.
17830         * modules/unicase/u16-casecoll: Likewise.
17831         * modules/unicase/u16-casefold: Likewise.
17832         * modules/unicase/u16-casexfrm: Likewise.
17833         * modules/unicase/u16-ct-casefold: Likewise.
17834         * modules/unicase/u16-ct-tolower: Likewise.
17835         * modules/unicase/u16-ct-totitle: Likewise.
17836         * modules/unicase/u16-ct-toupper: Likewise.
17837         * modules/unicase/u16-is-cased: Likewise.
17838         * modules/unicase/u16-is-casefolded: Likewise.
17839         * modules/unicase/u16-is-lowercase: Likewise.
17840         * modules/unicase/u16-is-titlecase: Likewise.
17841         * modules/unicase/u16-is-uppercase: Likewise.
17842         * modules/unicase/u16-prefix-context: Likewise.
17843         * modules/unicase/u16-suffix-context: Likewise.
17844         * modules/unicase/u16-tolower: Likewise.
17845         * modules/unicase/u16-totitle: Likewise.
17846         * modules/unicase/u16-toupper: Likewise.
17847         * modules/unicase/u32-casecmp: Likewise.
17848         * modules/unicase/u32-casecoll: Likewise.
17849         * modules/unicase/u32-casefold: Likewise.
17850         * modules/unicase/u32-casexfrm: Likewise.
17851         * modules/unicase/u32-ct-casefold: Likewise.
17852         * modules/unicase/u32-ct-tolower: Likewise.
17853         * modules/unicase/u32-ct-totitle: Likewise.
17854         * modules/unicase/u32-ct-toupper: Likewise.
17855         * modules/unicase/u32-is-cased: Likewise.
17856         * modules/unicase/u32-is-casefolded: Likewise.
17857         * modules/unicase/u32-is-lowercase: Likewise.
17858         * modules/unicase/u32-is-titlecase: Likewise.
17859         * modules/unicase/u32-is-uppercase: Likewise.
17860         * modules/unicase/u32-prefix-context: Likewise.
17861         * modules/unicase/u32-suffix-context: Likewise.
17862         * modules/unicase/u32-tolower: Likewise.
17863         * modules/unicase/u32-totitle: Likewise.
17864         * modules/unicase/u32-toupper: Likewise.
17865         * modules/unicase/ulc-casecmp: Likewise.
17866         * modules/unicase/ulc-casecoll: Likewise.
17867         * modules/unicase/ulc-casexfrm: Likewise.
17868         * modules/uniconv/u8-conv-from-enc: Likewise.
17869         * modules/uniconv/u8-conv-to-enc: Likewise.
17870         * modules/uniconv/u8-strconv-from-enc: Likewise.
17871         * modules/uniconv/u8-strconv-from-locale: Likewise.
17872         * modules/uniconv/u8-strconv-to-enc: Likewise.
17873         * modules/uniconv/u8-strconv-to-locale: Likewise.
17874         * modules/uniconv/u16-conv-from-enc: Likewise.
17875         * modules/uniconv/u16-conv-to-enc: Likewise.
17876         * modules/uniconv/u16-strconv-from-enc: Likewise.
17877         * modules/uniconv/u16-strconv-from-locale: Likewise.
17878         * modules/uniconv/u16-strconv-to-enc: Likewise.
17879         * modules/uniconv/u16-strconv-to-locale: Likewise.
17880         * modules/uniconv/u32-conv-from-enc: Likewise.
17881         * modules/uniconv/u32-conv-to-enc: Likewise.
17882         * modules/uniconv/u32-strconv-from-enc: Likewise.
17883         * modules/uniconv/u32-strconv-from-locale: Likewise.
17884         * modules/uniconv/u32-strconv-to-enc: Likewise.
17885         * modules/uniconv/u32-strconv-to-locale: Likewise.
17886         * modules/unictype/bidicategory-byname: Likewise.
17887         * modules/unictype/bidicategory-name: Likewise.
17888         * modules/unictype/bidicategory-of: Likewise.
17889         * modules/unictype/bidicategory-test: Likewise.
17890         * modules/unictype/block-list: Likewise.
17891         * modules/unictype/block-test: Likewise.
17892         * modules/unictype/category-C: Likewise.
17893         * modules/unictype/category-Cc: Likewise.
17894         * modules/unictype/category-Cf: Likewise.
17895         * modules/unictype/category-Cn: Likewise.
17896         * modules/unictype/category-Co: Likewise.
17897         * modules/unictype/category-Cs: Likewise.
17898         * modules/unictype/category-L: Likewise.
17899         * modules/unictype/category-Ll: Likewise.
17900         * modules/unictype/category-Lm: Likewise.
17901         * modules/unictype/category-Lo: Likewise.
17902         * modules/unictype/category-Lt: Likewise.
17903         * modules/unictype/category-Lu: Likewise.
17904         * modules/unictype/category-M: Likewise.
17905         * modules/unictype/category-Mc: Likewise.
17906         * modules/unictype/category-Me: Likewise.
17907         * modules/unictype/category-Mn: Likewise.
17908         * modules/unictype/category-N: Likewise.
17909         * modules/unictype/category-Nd: Likewise.
17910         * modules/unictype/category-Nl: Likewise.
17911         * modules/unictype/category-No: Likewise.
17912         * modules/unictype/category-P: Likewise.
17913         * modules/unictype/category-Pc: Likewise.
17914         * modules/unictype/category-Pd: Likewise.
17915         * modules/unictype/category-Pe: Likewise.
17916         * modules/unictype/category-Pf: Likewise.
17917         * modules/unictype/category-Pi: Likewise.
17918         * modules/unictype/category-Po: Likewise.
17919         * modules/unictype/category-Ps: Likewise.
17920         * modules/unictype/category-S: Likewise.
17921         * modules/unictype/category-Sc: Likewise.
17922         * modules/unictype/category-Sk: Likewise.
17923         * modules/unictype/category-Sm: Likewise.
17924         * modules/unictype/category-So: Likewise.
17925         * modules/unictype/category-Z: Likewise.
17926         * modules/unictype/category-Zl: Likewise.
17927         * modules/unictype/category-Zp: Likewise.
17928         * modules/unictype/category-Zs: Likewise.
17929         * modules/unictype/category-and: Likewise.
17930         * modules/unictype/category-and-not: Likewise.
17931         * modules/unictype/category-byname: Likewise.
17932         * modules/unictype/category-name: Likewise.
17933         * modules/unictype/category-none: Likewise.
17934         * modules/unictype/category-of: Likewise.
17935         * modules/unictype/category-or: Likewise.
17936         * modules/unictype/category-test: Likewise.
17937         * modules/unictype/combining-class: Likewise.
17938         * modules/unictype/ctype-alnum: Likewise.
17939         * modules/unictype/ctype-alpha: Likewise.
17940         * modules/unictype/ctype-blank: Likewise.
17941         * modules/unictype/ctype-cntrl: Likewise.
17942         * modules/unictype/ctype-digit: Likewise.
17943         * modules/unictype/ctype-graph: Likewise.
17944         * modules/unictype/ctype-lower: Likewise.
17945         * modules/unictype/ctype-print: Likewise.
17946         * modules/unictype/ctype-punct: Likewise.
17947         * modules/unictype/ctype-space: Likewise.
17948         * modules/unictype/ctype-upper: Likewise.
17949         * modules/unictype/ctype-xdigit: Likewise.
17950         * modules/unictype/decimal-digit: Likewise.
17951         * modules/unictype/digit: Likewise.
17952         * modules/unictype/mirror: Likewise.
17953         * modules/unictype/numeric: Likewise.
17954         * modules/unictype/property-alphabetic: Likewise.
17955         * modules/unictype/property-ascii-hex-digit: Likewise.
17956         * modules/unictype/property-bidi-arabic-digit: Likewise.
17957         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
17958         * modules/unictype/property-bidi-block-separator: Likewise.
17959         * modules/unictype/property-bidi-boundary-neutral: Likewise.
17960         * modules/unictype/property-bidi-common-separator: Likewise.
17961         * modules/unictype/property-bidi-control: Likewise.
17962         * modules/unictype/property-bidi-embedding-or-override: Likewise.
17963         * modules/unictype/property-bidi-eur-num-separator: Likewise.
17964         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
17965         * modules/unictype/property-bidi-european-digit: Likewise.
17966         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
17967         * modules/unictype/property-bidi-left-to-right: Likewise.
17968         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
17969         * modules/unictype/property-bidi-other-neutral: Likewise.
17970         * modules/unictype/property-bidi-pdf: Likewise.
17971         * modules/unictype/property-bidi-segment-separator: Likewise.
17972         * modules/unictype/property-bidi-whitespace: Likewise.
17973         * modules/unictype/property-byname: Likewise.
17974         * modules/unictype/property-combining: Likewise.
17975         * modules/unictype/property-composite: Likewise.
17976         * modules/unictype/property-currency-symbol: Likewise.
17977         * modules/unictype/property-dash: Likewise.
17978         * modules/unictype/property-decimal-digit: Likewise.
17979         * modules/unictype/property-default-ignorable-code-point: Likewise.
17980         * modules/unictype/property-deprecated: Likewise.
17981         * modules/unictype/property-diacritic: Likewise.
17982         * modules/unictype/property-extender: Likewise.
17983         * modules/unictype/property-format-control: Likewise.
17984         * modules/unictype/property-grapheme-base: Likewise.
17985         * modules/unictype/property-grapheme-extend: Likewise.
17986         * modules/unictype/property-grapheme-link: Likewise.
17987         * modules/unictype/property-hex-digit: Likewise.
17988         * modules/unictype/property-hyphen: Likewise.
17989         * modules/unictype/property-id-continue: Likewise.
17990         * modules/unictype/property-id-start: Likewise.
17991         * modules/unictype/property-ideographic: Likewise.
17992         * modules/unictype/property-ids-binary-operator: Likewise.
17993         * modules/unictype/property-ids-trinary-operator: Likewise.
17994         * modules/unictype/property-ignorable-control: Likewise.
17995         * modules/unictype/property-iso-control: Likewise.
17996         * modules/unictype/property-join-control: Likewise.
17997         * modules/unictype/property-left-of-pair: Likewise.
17998         * modules/unictype/property-line-separator: Likewise.
17999         * modules/unictype/property-logical-order-exception: Likewise.
18000         * modules/unictype/property-lowercase: Likewise.
18001         * modules/unictype/property-math: Likewise.
18002         * modules/unictype/property-non-break: Likewise.
18003         * modules/unictype/property-not-a-character: Likewise.
18004         * modules/unictype/property-numeric: Likewise.
18005         * modules/unictype/property-other-alphabetic: Likewise.
18006         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
18007         * modules/unictype/property-other-grapheme-extend: Likewise.
18008         * modules/unictype/property-other-id-continue: Likewise.
18009         * modules/unictype/property-other-id-start: Likewise.
18010         * modules/unictype/property-other-lowercase: Likewise.
18011         * modules/unictype/property-other-math: Likewise.
18012         * modules/unictype/property-other-uppercase: Likewise.
18013         * modules/unictype/property-paired-punctuation: Likewise.
18014         * modules/unictype/property-paragraph-separator: Likewise.
18015         * modules/unictype/property-pattern-syntax: Likewise.
18016         * modules/unictype/property-pattern-white-space: Likewise.
18017         * modules/unictype/property-private-use: Likewise.
18018         * modules/unictype/property-punctuation: Likewise.
18019         * modules/unictype/property-quotation-mark: Likewise.
18020         * modules/unictype/property-radical: Likewise.
18021         * modules/unictype/property-sentence-terminal: Likewise.
18022         * modules/unictype/property-soft-dotted: Likewise.
18023         * modules/unictype/property-space: Likewise.
18024         * modules/unictype/property-terminal-punctuation: Likewise.
18025         * modules/unictype/property-test: Likewise.
18026         * modules/unictype/property-titlecase: Likewise.
18027         * modules/unictype/property-unassigned-code-value: Likewise.
18028         * modules/unictype/property-unified-ideograph: Likewise.
18029         * modules/unictype/property-uppercase: Likewise.
18030         * modules/unictype/property-variation-selector: Likewise.
18031         * modules/unictype/property-white-space: Likewise.
18032         * modules/unictype/property-xid-continue: Likewise.
18033         * modules/unictype/property-xid-start: Likewise.
18034         * modules/unictype/property-zero-width: Likewise.
18035         * modules/unictype/scripts: Likewise.
18036         * modules/unictype/syntax-c-ident: Likewise.
18037         * modules/unictype/syntax-c-whitespace: Likewise.
18038         * modules/unictype/syntax-java-ident: Likewise.
18039         * modules/unictype/syntax-java-whitespace: Likewise.
18040         * modules/unilbrk/u8-possible-linebreaks: Likewise.
18041         * modules/unilbrk/u8-width-linebreaks: Likewise.
18042         * modules/unilbrk/u16-possible-linebreaks: Likewise.
18043         * modules/unilbrk/u16-width-linebreaks: Likewise.
18044         * modules/unilbrk/u32-possible-linebreaks: Likewise.
18045         * modules/unilbrk/u32-width-linebreaks: Likewise.
18046         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
18047         * modules/unilbrk/ulc-width-linebreaks: Likewise.
18048         * modules/uniname/uniname: Likewise.
18049         * modules/uninorm/canonical-decomposition: Likewise.
18050         * modules/uninorm/composition: Likewise.
18051         * modules/uninorm/decomposing-form: Likewise.
18052         * modules/uninorm/decomposition: Likewise.
18053         * modules/uninorm/filter: Likewise.
18054         * modules/uninorm/nfc: Likewise.
18055         * modules/uninorm/nfd: Likewise.
18056         * modules/uninorm/nfkc: Likewise.
18057         * modules/uninorm/nfkd: Likewise.
18058         * modules/uninorm/u8-normalize: Likewise.
18059         * modules/uninorm/u8-normcmp: Likewise.
18060         * modules/uninorm/u8-normcoll: Likewise.
18061         * modules/uninorm/u8-normxfrm: Likewise.
18062         * modules/uninorm/u16-normalize: Likewise.
18063         * modules/uninorm/u16-normcmp: Likewise.
18064         * modules/uninorm/u16-normcoll: Likewise.
18065         * modules/uninorm/u16-normxfrm: Likewise.
18066         * modules/uninorm/u32-normalize: Likewise.
18067         * modules/uninorm/u32-normcmp: Likewise.
18068         * modules/uninorm/u32-normcoll: Likewise.
18069         * modules/uninorm/u32-normxfrm: Likewise.
18070         * modules/unistdio/u8-asnprintf: Likewise.
18071         * modules/unistdio/u8-asprintf: Likewise.
18072         * modules/unistdio/u8-snprintf: Likewise.
18073         * modules/unistdio/u8-sprintf: Likewise.
18074         * modules/unistdio/u8-u8-asnprintf: Likewise.
18075         * modules/unistdio/u8-u8-asprintf: Likewise.
18076         * modules/unistdio/u8-u8-snprintf: Likewise.
18077         * modules/unistdio/u8-u8-sprintf: Likewise.
18078         * modules/unistdio/u8-u8-vasnprintf: Likewise.
18079         * modules/unistdio/u8-u8-vasprintf: Likewise.
18080         * modules/unistdio/u8-u8-vsnprintf: Likewise.
18081         * modules/unistdio/u8-u8-vsprintf: Likewise.
18082         * modules/unistdio/u8-vasnprintf: Likewise.
18083         * modules/unistdio/u8-vasprintf: Likewise.
18084         * modules/unistdio/u8-vsnprintf: Likewise.
18085         * modules/unistdio/u8-vsprintf: Likewise.
18086         * modules/unistdio/u16-asnprintf: Likewise.
18087         * modules/unistdio/u16-asprintf: Likewise.
18088         * modules/unistdio/u16-snprintf: Likewise.
18089         * modules/unistdio/u16-sprintf: Likewise.
18090         * modules/unistdio/u16-u16-asnprintf: Likewise.
18091         * modules/unistdio/u16-u16-asprintf: Likewise.
18092         * modules/unistdio/u16-u16-snprintf: Likewise.
18093         * modules/unistdio/u16-u16-sprintf: Likewise.
18094         * modules/unistdio/u16-u16-vasnprintf: Likewise.
18095         * modules/unistdio/u16-u16-vasprintf: Likewise.
18096         * modules/unistdio/u16-u16-vsnprintf: Likewise.
18097         * modules/unistdio/u16-u16-vsprintf: Likewise.
18098         * modules/unistdio/u16-vasnprintf: Likewise.
18099         * modules/unistdio/u16-vasprintf: Likewise.
18100         * modules/unistdio/u16-vsnprintf: Likewise.
18101         * modules/unistdio/u16-vsprintf: Likewise.
18102         * modules/unistdio/u32-asnprintf: Likewise.
18103         * modules/unistdio/u32-asprintf: Likewise.
18104         * modules/unistdio/u32-snprintf: Likewise.
18105         * modules/unistdio/u32-sprintf: Likewise.
18106         * modules/unistdio/u32-u32-asnprintf: Likewise.
18107         * modules/unistdio/u32-u32-asprintf: Likewise.
18108         * modules/unistdio/u32-u32-snprintf: Likewise.
18109         * modules/unistdio/u32-u32-sprintf: Likewise.
18110         * modules/unistdio/u32-u32-vasnprintf: Likewise.
18111         * modules/unistdio/u32-u32-vasprintf: Likewise.
18112         * modules/unistdio/u32-u32-vsnprintf: Likewise.
18113         * modules/unistdio/u32-u32-vsprintf: Likewise.
18114         * modules/unistdio/u32-vasnprintf: Likewise.
18115         * modules/unistdio/u32-vasprintf: Likewise.
18116         * modules/unistdio/u32-vsnprintf: Likewise.
18117         * modules/unistdio/u32-vsprintf: Likewise.
18118         * modules/unistdio/ulc-asnprintf: Likewise.
18119         * modules/unistdio/ulc-asprintf: Likewise.
18120         * modules/unistdio/ulc-fprintf: Likewise.
18121         * modules/unistdio/ulc-snprintf: Likewise.
18122         * modules/unistdio/ulc-sprintf: Likewise.
18123         * modules/unistdio/ulc-vasnprintf: Likewise.
18124         * modules/unistdio/ulc-vasprintf: Likewise.
18125         * modules/unistdio/ulc-vfprintf: Likewise.
18126         * modules/unistdio/ulc-vsnprintf: Likewise.
18127         * modules/unistdio/ulc-vsprintf: Likewise.
18128         * modules/unistr/u8-check: Likewise.
18129         * modules/unistr/u8-chr: Likewise.
18130         * modules/unistr/u8-cmp: Likewise.
18131         * modules/unistr/u8-cmp2: Likewise.
18132         * modules/unistr/u8-cpy: Likewise.
18133         * modules/unistr/u8-cpy-alloc: Likewise.
18134         * modules/unistr/u8-endswith: Likewise.
18135         * modules/unistr/u8-mblen: Likewise.
18136         * modules/unistr/u8-mbsnlen: Likewise.
18137         * modules/unistr/u8-mbtouc: Likewise.
18138         * modules/unistr/u8-mbtouc-unsafe: Likewise.
18139         * modules/unistr/u8-mbtoucr: Likewise.
18140         * modules/unistr/u8-move: Likewise.
18141         * modules/unistr/u8-next: Likewise.
18142         * modules/unistr/u8-prev: Likewise.
18143         * modules/unistr/u8-set: Likewise.
18144         * modules/unistr/u8-startswith: Likewise.
18145         * modules/unistr/u8-stpcpy: Likewise.
18146         * modules/unistr/u8-stpncpy: Likewise.
18147         * modules/unistr/u8-strcat: Likewise.
18148         * modules/unistr/u8-strchr: Likewise.
18149         * modules/unistr/u8-strcmp: Likewise.
18150         * modules/unistr/u8-strcoll: Likewise.
18151         * modules/unistr/u8-strcpy: Likewise.
18152         * modules/unistr/u8-strcspn: Likewise.
18153         * modules/unistr/u8-strdup: Likewise.
18154         * modules/unistr/u8-strlen: Likewise.
18155         * modules/unistr/u8-strmblen: Likewise.
18156         * modules/unistr/u8-strmbtouc: Likewise.
18157         * modules/unistr/u8-strncat: Likewise.
18158         * modules/unistr/u8-strncmp: Likewise.
18159         * modules/unistr/u8-strncpy: Likewise.
18160         * modules/unistr/u8-strnlen: Likewise.
18161         * modules/unistr/u8-strpbrk: Likewise.
18162         * modules/unistr/u8-strrchr: Likewise.
18163         * modules/unistr/u8-strspn: Likewise.
18164         * modules/unistr/u8-strstr: Likewise.
18165         * modules/unistr/u8-strtok: Likewise.
18166         * modules/unistr/u8-to-u16: Likewise.
18167         * modules/unistr/u8-to-u32: Likewise.
18168         * modules/unistr/u8-uctomb: Likewise.
18169         * modules/unistr/u16-check: Likewise.
18170         * modules/unistr/u16-chr: Likewise.
18171         * modules/unistr/u16-cmp: Likewise.
18172         * modules/unistr/u16-cmp2: Likewise.
18173         * modules/unistr/u16-cpy: Likewise.
18174         * modules/unistr/u16-cpy-alloc: Likewise.
18175         * modules/unistr/u16-endswith: Likewise.
18176         * modules/unistr/u16-mblen: Likewise.
18177         * modules/unistr/u16-mbsnlen: Likewise.
18178         * modules/unistr/u16-mbtouc: Likewise.
18179         * modules/unistr/u16-mbtouc-unsafe: Likewise.
18180         * modules/unistr/u16-mbtoucr: Likewise.
18181         * modules/unistr/u16-move: Likewise.
18182         * modules/unistr/u16-next: Likewise.
18183         * modules/unistr/u16-prev: Likewise.
18184         * modules/unistr/u16-set: Likewise.
18185         * modules/unistr/u16-startswith: Likewise.
18186         * modules/unistr/u16-stpcpy: Likewise.
18187         * modules/unistr/u16-stpncpy: Likewise.
18188         * modules/unistr/u16-strcat: Likewise.
18189         * modules/unistr/u16-strchr: Likewise.
18190         * modules/unistr/u16-strcmp: Likewise.
18191         * modules/unistr/u16-strcoll: Likewise.
18192         * modules/unistr/u16-strcpy: Likewise.
18193         * modules/unistr/u16-strcspn: Likewise.
18194         * modules/unistr/u16-strdup: Likewise.
18195         * modules/unistr/u16-strlen: Likewise.
18196         * modules/unistr/u16-strmblen: Likewise.
18197         * modules/unistr/u16-strmbtouc: Likewise.
18198         * modules/unistr/u16-strncat: Likewise.
18199         * modules/unistr/u16-strncmp: Likewise.
18200         * modules/unistr/u16-strncpy: Likewise.
18201         * modules/unistr/u16-strnlen: Likewise.
18202         * modules/unistr/u16-strpbrk: Likewise.
18203         * modules/unistr/u16-strrchr: Likewise.
18204         * modules/unistr/u16-strspn: Likewise.
18205         * modules/unistr/u16-strstr: Likewise.
18206         * modules/unistr/u16-strtok: Likewise.
18207         * modules/unistr/u16-to-u32: Likewise.
18208         * modules/unistr/u16-to-u8: Likewise.
18209         * modules/unistr/u16-uctomb: Likewise.
18210         * modules/unistr/u32-check: Likewise.
18211         * modules/unistr/u32-chr: Likewise.
18212         * modules/unistr/u32-cmp: Likewise.
18213         * modules/unistr/u32-cmp2: Likewise.
18214         * modules/unistr/u32-cpy: Likewise.
18215         * modules/unistr/u32-cpy-alloc: Likewise.
18216         * modules/unistr/u32-endswith: Likewise.
18217         * modules/unistr/u32-mblen: Likewise.
18218         * modules/unistr/u32-mbsnlen: Likewise.
18219         * modules/unistr/u32-mbtouc: Likewise.
18220         * modules/unistr/u32-mbtouc-unsafe: Likewise.
18221         * modules/unistr/u32-mbtoucr: Likewise.
18222         * modules/unistr/u32-move: Likewise.
18223         * modules/unistr/u32-next: Likewise.
18224         * modules/unistr/u32-prev: Likewise.
18225         * modules/unistr/u32-set: Likewise.
18226         * modules/unistr/u32-startswith: Likewise.
18227         * modules/unistr/u32-stpcpy: Likewise.
18228         * modules/unistr/u32-stpncpy: Likewise.
18229         * modules/unistr/u32-strcat: Likewise.
18230         * modules/unistr/u32-strchr: Likewise.
18231         * modules/unistr/u32-strcmp: Likewise.
18232         * modules/unistr/u32-strcoll: Likewise.
18233         * modules/unistr/u32-strcpy: Likewise.
18234         * modules/unistr/u32-strcspn: Likewise.
18235         * modules/unistr/u32-strdup: Likewise.
18236         * modules/unistr/u32-strlen: Likewise.
18237         * modules/unistr/u32-strmblen: Likewise.
18238         * modules/unistr/u32-strmbtouc: Likewise.
18239         * modules/unistr/u32-strncat: Likewise.
18240         * modules/unistr/u32-strncmp: Likewise.
18241         * modules/unistr/u32-strncpy: Likewise.
18242         * modules/unistr/u32-strnlen: Likewise.
18243         * modules/unistr/u32-strpbrk: Likewise.
18244         * modules/unistr/u32-strrchr: Likewise.
18245         * modules/unistr/u32-strspn: Likewise.
18246         * modules/unistr/u32-strstr: Likewise.
18247         * modules/unistr/u32-strtok: Likewise.
18248         * modules/unistr/u32-to-u16: Likewise.
18249         * modules/unistr/u32-to-u8: Likewise.
18250         * modules/unistr/u32-uctomb: Likewise.
18251         * modules/uniwbrk/u8-wordbreaks: Likewise.
18252         * modules/uniwbrk/u16-wordbreaks: Likewise.
18253         * modules/uniwbrk/u32-wordbreaks: Likewise.
18254         * modules/uniwbrk/ulc-wordbreaks: Likewise.
18255         * modules/uniwbrk/wordbreak-property: Likewise.
18256         * modules/uniwidth/u8-strwidth: Likewise.
18257         * modules/uniwidth/u8-width: Likewise.
18258         * modules/uniwidth/u16-strwidth: Likewise.
18259         * modules/uniwidth/u16-width: Likewise.
18260         * modules/uniwidth/u32-strwidth: Likewise.
18261         * modules/uniwidth/u32-width: Likewise.
18262         * modules/uniwidth/width: Likewise.
18263         * modules/unicase/cased-tests (Makefile.am): Link all test programs
18264         with $(LIBUNISTRING).
18265         * modules/unicase/ignorable-tests: Likewise.
18266         * modules/unicase/locale-language-tests: Likewise.
18267         * modules/unicase/tolower-tests: Likewise.
18268         * modules/unicase/totitle-tests: Likewise.
18269         * modules/unicase/toupper-tests: Likewise.
18270         * modules/unicase/u8-casecmp-tests: Likewise.
18271         * modules/unicase/u8-casecoll-tests: Likewise.
18272         * modules/unicase/u8-casefold-tests: Likewise.
18273         * modules/unicase/u8-is-cased-tests: Likewise.
18274         * modules/unicase/u8-is-casefolded-tests: Likewise.
18275         * modules/unicase/u8-is-lowercase-tests: Likewise.
18276         * modules/unicase/u8-is-titlecase-tests: Likewise.
18277         * modules/unicase/u8-is-uppercase-tests: Likewise.
18278         * modules/unicase/u8-tolower-tests: Likewise.
18279         * modules/unicase/u8-totitle-tests: Likewise.
18280         * modules/unicase/u8-toupper-tests: Likewise.
18281         * modules/unicase/u16-casecmp-tests: Likewise.
18282         * modules/unicase/u16-casecoll-tests: Likewise.
18283         * modules/unicase/u16-casefold-tests: Likewise.
18284         * modules/unicase/u16-is-cased-tests: Likewise.
18285         * modules/unicase/u16-is-casefolded-tests: Likewise.
18286         * modules/unicase/u16-is-lowercase-tests: Likewise.
18287         * modules/unicase/u16-is-titlecase-tests: Likewise.
18288         * modules/unicase/u16-is-uppercase-tests: Likewise.
18289         * modules/unicase/u16-tolower-tests: Likewise.
18290         * modules/unicase/u16-totitle-tests: Likewise.
18291         * modules/unicase/u16-toupper-tests: Likewise.
18292         * modules/unicase/u32-casecmp-tests: Likewise.
18293         * modules/unicase/u32-casecoll-tests: Likewise.
18294         * modules/unicase/u32-casefold-tests: Likewise.
18295         * modules/unicase/u32-is-cased-tests: Likewise.
18296         * modules/unicase/u32-is-casefolded-tests: Likewise.
18297         * modules/unicase/u32-is-lowercase-tests: Likewise.
18298         * modules/unicase/u32-is-titlecase-tests: Likewise.
18299         * modules/unicase/u32-is-uppercase-tests: Likewise.
18300         * modules/unicase/u32-tolower-tests: Likewise.
18301         * modules/unicase/u32-totitle-tests: Likewise.
18302         * modules/unicase/u32-toupper-tests: Likewise.
18303         * modules/unicase/ulc-casecmp-tests: Likewise.
18304         * modules/unicase/ulc-casecoll-tests: Likewise.
18305         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
18306         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
18307         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
18308         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
18309         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
18310         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
18311         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
18312         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
18313         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
18314         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
18315         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
18316         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
18317         * modules/unictype/bidicategory-byname-tests: Likewise.
18318         * modules/unictype/bidicategory-name-tests: Likewise.
18319         * modules/unictype/bidicategory-of-tests: Likewise.
18320         * modules/unictype/bidicategory-test-tests: Likewise.
18321         * modules/unictype/block-list-tests: Likewise.
18322         * modules/unictype/block-of-tests: Likewise.
18323         * modules/unictype/block-test-tests: Likewise.
18324         * modules/unictype/category-C-tests: Likewise.
18325         * modules/unictype/category-Cc-tests: Likewise.
18326         * modules/unictype/category-Cf-tests: Likewise.
18327         * modules/unictype/category-Cn-tests: Likewise.
18328         * modules/unictype/category-Co-tests: Likewise.
18329         * modules/unictype/category-Cs-tests: Likewise.
18330         * modules/unictype/category-L-tests: Likewise.
18331         * modules/unictype/category-Ll-tests: Likewise.
18332         * modules/unictype/category-Lm-tests: Likewise.
18333         * modules/unictype/category-Lo-tests: Likewise.
18334         * modules/unictype/category-Lt-tests: Likewise.
18335         * modules/unictype/category-Lu-tests: Likewise.
18336         * modules/unictype/category-M-tests: Likewise.
18337         * modules/unictype/category-Mc-tests: Likewise.
18338         * modules/unictype/category-Me-tests: Likewise.
18339         * modules/unictype/category-Mn-tests: Likewise.
18340         * modules/unictype/category-N-tests: Likewise.
18341         * modules/unictype/category-Nd-tests: Likewise.
18342         * modules/unictype/category-Nl-tests: Likewise.
18343         * modules/unictype/category-No-tests: Likewise.
18344         * modules/unictype/category-P-tests: Likewise.
18345         * modules/unictype/category-Pc-tests: Likewise.
18346         * modules/unictype/category-Pd-tests: Likewise.
18347         * modules/unictype/category-Pe-tests: Likewise.
18348         * modules/unictype/category-Pf-tests: Likewise.
18349         * modules/unictype/category-Pi-tests: Likewise.
18350         * modules/unictype/category-Po-tests: Likewise.
18351         * modules/unictype/category-Ps-tests: Likewise.
18352         * modules/unictype/category-S-tests: Likewise.
18353         * modules/unictype/category-Sc-tests: Likewise.
18354         * modules/unictype/category-Sk-tests: Likewise.
18355         * modules/unictype/category-Sm-tests: Likewise.
18356         * modules/unictype/category-So-tests: Likewise.
18357         * modules/unictype/category-Z-tests: Likewise.
18358         * modules/unictype/category-Zl-tests: Likewise.
18359         * modules/unictype/category-Zp-tests: Likewise.
18360         * modules/unictype/category-Zs-tests: Likewise.
18361         * modules/unictype/category-and-not-tests: Likewise.
18362         * modules/unictype/category-and-tests: Likewise.
18363         * modules/unictype/category-byname-tests: Likewise.
18364         * modules/unictype/category-name-tests: Likewise.
18365         * modules/unictype/category-none-tests: Likewise.
18366         * modules/unictype/category-of-tests: Likewise.
18367         * modules/unictype/category-or-tests: Likewise.
18368         * modules/unictype/category-test-withtable-tests: Likewise.
18369         * modules/unictype/combining-class-tests: Likewise.
18370         * modules/unictype/ctype-alnum-tests: Likewise.
18371         * modules/unictype/ctype-alpha-tests: Likewise.
18372         * modules/unictype/ctype-blank-tests: Likewise.
18373         * modules/unictype/ctype-cntrl-tests: Likewise.
18374         * modules/unictype/ctype-digit-tests: Likewise.
18375         * modules/unictype/ctype-graph-tests: Likewise.
18376         * modules/unictype/ctype-lower-tests: Likewise.
18377         * modules/unictype/ctype-print-tests: Likewise.
18378         * modules/unictype/ctype-punct-tests: Likewise.
18379         * modules/unictype/ctype-space-tests: Likewise.
18380         * modules/unictype/ctype-upper-tests: Likewise.
18381         * modules/unictype/ctype-xdigit-tests: Likewise.
18382         * modules/unictype/decimal-digit-tests: Likewise.
18383         * modules/unictype/digit-tests: Likewise.
18384         * modules/unictype/mirror-tests: Likewise.
18385         * modules/unictype/numeric-tests: Likewise.
18386         * modules/unictype/property-alphabetic-tests: Likewise.
18387         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
18388         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
18389         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
18390         * modules/unictype/property-bidi-block-separator-tests: Likewise.
18391         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
18392         * modules/unictype/property-bidi-common-separator-tests: Likewise.
18393         * modules/unictype/property-bidi-control-tests: Likewise.
18394         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
18395         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
18396         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
18397         * modules/unictype/property-bidi-european-digit-tests: Likewise.
18398         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
18399         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
18400         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
18401         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
18402         * modules/unictype/property-bidi-pdf-tests: Likewise.
18403         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
18404         * modules/unictype/property-bidi-whitespace-tests: Likewise.
18405         * modules/unictype/property-byname-tests: Likewise.
18406         * modules/unictype/property-combining-tests: Likewise.
18407         * modules/unictype/property-composite-tests: Likewise.
18408         * modules/unictype/property-currency-symbol-tests: Likewise.
18409         * modules/unictype/property-dash-tests: Likewise.
18410         * modules/unictype/property-decimal-digit-tests: Likewise.
18411         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
18412         * modules/unictype/property-deprecated-tests: Likewise.
18413         * modules/unictype/property-diacritic-tests: Likewise.
18414         * modules/unictype/property-extender-tests: Likewise.
18415         * modules/unictype/property-format-control-tests: Likewise.
18416         * modules/unictype/property-grapheme-base-tests: Likewise.
18417         * modules/unictype/property-grapheme-extend-tests: Likewise.
18418         * modules/unictype/property-grapheme-link-tests: Likewise.
18419         * modules/unictype/property-hex-digit-tests: Likewise.
18420         * modules/unictype/property-hyphen-tests: Likewise.
18421         * modules/unictype/property-id-continue-tests: Likewise.
18422         * modules/unictype/property-id-start-tests: Likewise.
18423         * modules/unictype/property-ideographic-tests: Likewise.
18424         * modules/unictype/property-ids-binary-operator-tests: Likewise.
18425         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
18426         * modules/unictype/property-ignorable-control-tests: Likewise.
18427         * modules/unictype/property-iso-control-tests: Likewise.
18428         * modules/unictype/property-join-control-tests: Likewise.
18429         * modules/unictype/property-left-of-pair-tests: Likewise.
18430         * modules/unictype/property-line-separator-tests: Likewise.
18431         * modules/unictype/property-logical-order-exception-tests: Likewise.
18432         * modules/unictype/property-lowercase-tests: Likewise.
18433         * modules/unictype/property-math-tests: Likewise.
18434         * modules/unictype/property-non-break-tests: Likewise.
18435         * modules/unictype/property-not-a-character-tests: Likewise.
18436         * modules/unictype/property-numeric-tests: Likewise.
18437         * modules/unictype/property-other-alphabetic-tests: Likewise.
18438         * modules/unictype/property-other-default-ignorable-code-point-tests:
18439         Likewise.
18440         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
18441         * modules/unictype/property-other-id-continue-tests: Likewise.
18442         * modules/unictype/property-other-id-start-tests: Likewise.
18443         * modules/unictype/property-other-lowercase-tests: Likewise.
18444         * modules/unictype/property-other-math-tests: Likewise.
18445         * modules/unictype/property-other-uppercase-tests: Likewise.
18446         * modules/unictype/property-paired-punctuation-tests: Likewise.
18447         * modules/unictype/property-paragraph-separator-tests: Likewise.
18448         * modules/unictype/property-pattern-syntax-tests: Likewise.
18449         * modules/unictype/property-pattern-white-space-tests: Likewise.
18450         * modules/unictype/property-private-use-tests: Likewise.
18451         * modules/unictype/property-punctuation-tests: Likewise.
18452         * modules/unictype/property-quotation-mark-tests: Likewise.
18453         * modules/unictype/property-radical-tests: Likewise.
18454         * modules/unictype/property-sentence-terminal-tests: Likewise.
18455         * modules/unictype/property-soft-dotted-tests: Likewise.
18456         * modules/unictype/property-space-tests: Likewise.
18457         * modules/unictype/property-terminal-punctuation-tests: Likewise.
18458         * modules/unictype/property-test-tests: Likewise.
18459         * modules/unictype/property-titlecase-tests: Likewise.
18460         * modules/unictype/property-unassigned-code-value-tests: Likewise.
18461         * modules/unictype/property-unified-ideograph-tests: Likewise.
18462         * modules/unictype/property-uppercase-tests: Likewise.
18463         * modules/unictype/property-variation-selector-tests: Likewise.
18464         * modules/unictype/property-white-space-tests: Likewise.
18465         * modules/unictype/property-xid-continue-tests: Likewise.
18466         * modules/unictype/property-xid-start-tests: Likewise.
18467         * modules/unictype/property-zero-width-tests: Likewise.
18468         * modules/unictype/scripts-tests: Likewise.
18469         * modules/unictype/syntax-c-ident-tests: Likewise.
18470         * modules/unictype/syntax-c-whitespace-tests: Likewise.
18471         * modules/unictype/syntax-java-ident-tests: Likewise.
18472         * modules/unictype/syntax-java-whitespace-tests: Likewise.
18473         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
18474         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
18475         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
18476         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
18477         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
18478         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
18479         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
18480         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
18481         * modules/uniname/uniname-tests: Likewise.
18482         * modules/uninorm/canonical-decomposition-tests: Likewise.
18483         * modules/uninorm/compat-decomposition-tests: Likewise.
18484         * modules/uninorm/composition-tests: Likewise.
18485         * modules/uninorm/decomposing-form-tests: Likewise.
18486         * modules/uninorm/decomposition-tests: Likewise.
18487         * modules/uninorm/filter-tests: Likewise.
18488         * modules/uninorm/nfc-tests: Likewise.
18489         * modules/uninorm/nfd-tests: Likewise.
18490         * modules/uninorm/nfkc-tests: Likewise.
18491         * modules/uninorm/nfkd-tests: Likewise.
18492         * modules/uninorm/u8-normcmp-tests: Likewise.
18493         * modules/uninorm/u8-normcoll-tests: Likewise.
18494         * modules/uninorm/u16-normcmp-tests: Likewise.
18495         * modules/uninorm/u16-normcoll-tests: Likewise.
18496         * modules/uninorm/u32-normcmp-tests: Likewise.
18497         * modules/uninorm/u32-normcoll-tests: Likewise.
18498         * modules/unistdio/u8-asnprintf-tests: Likewise.
18499         * modules/unistdio/u8-vasnprintf-tests: Likewise.
18500         * modules/unistdio/u8-vasprintf-tests: Likewise.
18501         * modules/unistdio/u8-vsnprintf-tests: Likewise.
18502         * modules/unistdio/u8-vsprintf-tests: Likewise.
18503         * modules/unistdio/u16-asnprintf-tests: Likewise.
18504         * modules/unistdio/u16-vasnprintf-tests: Likewise.
18505         * modules/unistdio/u16-vasprintf-tests: Likewise.
18506         * modules/unistdio/u16-vsnprintf-tests: Likewise.
18507         * modules/unistdio/u16-vsprintf-tests: Likewise.
18508         * modules/unistdio/u32-asnprintf-tests: Likewise.
18509         * modules/unistdio/u32-vasnprintf-tests: Likewise.
18510         * modules/unistdio/u32-vasprintf-tests: Likewise.
18511         * modules/unistdio/u32-vsnprintf-tests: Likewise.
18512         * modules/unistdio/u32-vsprintf-tests: Likewise.
18513         * modules/unistdio/ulc-asnprintf-tests: Likewise.
18514         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
18515         * modules/unistdio/ulc-vasprintf-tests: Likewise.
18516         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
18517         * modules/unistdio/ulc-vsprintf-tests: Likewise.
18518         * modules/unistr/u8-check-tests: Likewise.
18519         * modules/unistr/u8-chr-tests: Likewise.
18520         * modules/unistr/u8-cmp-tests: Likewise.
18521         * modules/unistr/u8-cmp2-tests: Likewise.
18522         * modules/unistr/u8-cpy-alloc-tests: Likewise.
18523         * modules/unistr/u8-cpy-tests: Likewise.
18524         * modules/unistr/u8-mblen-tests: Likewise.
18525         * modules/unistr/u8-mbsnlen-tests: Likewise.
18526         * modules/unistr/u8-mbtouc-tests: Likewise.
18527         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
18528         * modules/unistr/u8-mbtoucr-tests: Likewise.
18529         * modules/unistr/u8-move-tests: Likewise.
18530         * modules/unistr/u8-next-tests: Likewise.
18531         * modules/unistr/u8-prev-tests: Likewise.
18532         * modules/unistr/u8-set-tests: Likewise.
18533         * modules/unistr/u8-stpcpy-tests: Likewise.
18534         * modules/unistr/u8-stpncpy-tests: Likewise.
18535         * modules/unistr/u8-strcat-tests: Likewise.
18536         * modules/unistr/u8-strcmp-tests: Likewise.
18537         * modules/unistr/u8-strcoll-tests: Likewise.
18538         * modules/unistr/u8-strcpy-tests: Likewise.
18539         * modules/unistr/u8-strdup-tests: Likewise.
18540         * modules/unistr/u8-strlen-tests: Likewise.
18541         * modules/unistr/u8-strmblen-tests: Likewise.
18542         * modules/unistr/u8-strmbtouc-tests: Likewise.
18543         * modules/unistr/u8-strncat-tests: Likewise.
18544         * modules/unistr/u8-strncmp-tests: Likewise.
18545         * modules/unistr/u8-strncpy-tests: Likewise.
18546         * modules/unistr/u8-strnlen-tests: Likewise.
18547         * modules/unistr/u8-to-u16-tests: Likewise.
18548         * modules/unistr/u8-to-u32-tests: Likewise.
18549         * modules/unistr/u8-uctomb-tests: Likewise.
18550         * modules/unistr/u16-check-tests: Likewise.
18551         * modules/unistr/u16-chr-tests: Likewise.
18552         * modules/unistr/u16-cmp-tests: Likewise.
18553         * modules/unistr/u16-cmp2-tests: Likewise.
18554         * modules/unistr/u16-cpy-alloc-tests: Likewise.
18555         * modules/unistr/u16-cpy-tests: Likewise.
18556         * modules/unistr/u16-mblen-tests: Likewise.
18557         * modules/unistr/u16-mbsnlen-tests: Likewise.
18558         * modules/unistr/u16-mbtouc-tests: Likewise.
18559         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
18560         * modules/unistr/u16-mbtoucr-tests: Likewise.
18561         * modules/unistr/u16-move-tests: Likewise.
18562         * modules/unistr/u16-next-tests: Likewise.
18563         * modules/unistr/u16-prev-tests: Likewise.
18564         * modules/unistr/u16-set-tests: Likewise.
18565         * modules/unistr/u16-stpcpy-tests: Likewise.
18566         * modules/unistr/u16-stpncpy-tests: Likewise.
18567         * modules/unistr/u16-strcat-tests: Likewise.
18568         * modules/unistr/u16-strcmp-tests: Likewise.
18569         * modules/unistr/u16-strcoll-tests: Likewise.
18570         * modules/unistr/u16-strcpy-tests: Likewise.
18571         * modules/unistr/u16-strdup-tests: Likewise.
18572         * modules/unistr/u16-strlen-tests: Likewise.
18573         * modules/unistr/u16-strmblen-tests: Likewise.
18574         * modules/unistr/u16-strmbtouc-tests: Likewise.
18575         * modules/unistr/u16-strncat-tests: Likewise.
18576         * modules/unistr/u16-strncmp-tests: Likewise.
18577         * modules/unistr/u16-strncpy-tests: Likewise.
18578         * modules/unistr/u16-strnlen-tests: Likewise.
18579         * modules/unistr/u16-to-u32-tests: Likewise.
18580         * modules/unistr/u16-to-u8-tests: Likewise.
18581         * modules/unistr/u16-uctomb-tests: Likewise.
18582         * modules/unistr/u32-check-tests: Likewise.
18583         * modules/unistr/u32-chr-tests: Likewise.
18584         * modules/unistr/u32-cmp-tests: Likewise.
18585         * modules/unistr/u32-cmp2-tests: Likewise.
18586         * modules/unistr/u32-cpy-alloc-tests: Likewise.
18587         * modules/unistr/u32-cpy-tests: Likewise.
18588         * modules/unistr/u32-mblen-tests: Likewise.
18589         * modules/unistr/u32-mbsnlen-tests: Likewise.
18590         * modules/unistr/u32-mbtouc-tests: Likewise.
18591         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
18592         * modules/unistr/u32-mbtoucr-tests: Likewise.
18593         * modules/unistr/u32-move-tests: Likewise.
18594         * modules/unistr/u32-next-tests: Likewise.
18595         * modules/unistr/u32-prev-tests: Likewise.
18596         * modules/unistr/u32-set-tests: Likewise.
18597         * modules/unistr/u32-stpcpy-tests: Likewise.
18598         * modules/unistr/u32-stpncpy-tests: Likewise.
18599         * modules/unistr/u32-strcat-tests: Likewise.
18600         * modules/unistr/u32-strcmp-tests: Likewise.
18601         * modules/unistr/u32-strcoll-tests: Likewise.
18602         * modules/unistr/u32-strcpy-tests: Likewise.
18603         * modules/unistr/u32-strdup-tests: Likewise.
18604         * modules/unistr/u32-strlen-tests: Likewise.
18605         * modules/unistr/u32-strmblen-tests: Likewise.
18606         * modules/unistr/u32-strmbtouc-tests: Likewise.
18607         * modules/unistr/u32-strncat-tests: Likewise.
18608         * modules/unistr/u32-strncmp-tests: Likewise.
18609         * modules/unistr/u32-strncpy-tests: Likewise.
18610         * modules/unistr/u32-strnlen-tests: Likewise.
18611         * modules/unistr/u32-to-u16-tests: Likewise.
18612         * modules/unistr/u32-to-u8-tests: Likewise.
18613         * modules/unistr/u32-uctomb-tests: Likewise.
18614         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
18615         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
18616         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
18617         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
18618         * modules/uniwidth/u8-strwidth-tests: Likewise.
18619         * modules/uniwidth/u8-width-tests: Likewise.
18620         * modules/uniwidth/u16-strwidth-tests: Likewise.
18621         * modules/uniwidth/u16-width-tests: Likewise.
18622         * modules/uniwidth/u32-strwidth-tests: Likewise.
18623         * modules/uniwidth/u32-width-tests: Likewise.
18624         * modules/uniwidth/width-tests: Likewise.
18625
18626 2010-05-18  Richard Jones  <rjones@redhat.com>
18627
18628         doc: users.txt: list hivex
18629         * users.txt: Add hivex.
18630
18631 2010-05-18  Richard Jones  <rjones@redhat.com>
18632
18633         doc: users.txt: list febootstrap
18634         * users.txt: Add febootstrap.
18635
18636 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
18637
18638         bootstrap: fix an error when gnulib is not used as a git submodule
18639         * build-aux/bootstrap (gnulib_path): If its length is zero then
18640         assign "gnulib" to it.
18641         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
18642
18643 2010-05-16  Bruno Haible  <bruno@clisp.org>
18644
18645         Avoid autoconf warnings about AM_ICONV.
18646         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
18647         2.64.
18648
18649 2010-05-16  Bruno Haible  <bruno@clisp.org>
18650
18651         absolute-header: Make the macro usable in more situations.
18652         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
18653         from gl_ABSOLUTE_HEADER.
18654         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
18655
18656 2010-05-16  James Youngman  <jay@gnu.org>
18657
18658         doc: update users.txt
18659         * users.txt: Add CSSC.
18660
18661 2010-05-16  Jim Meyering  <meyering@redhat.com>
18662
18663         init.sh: fix an error in the previous change; add more comments
18664         * tests/init.sh: Compare exit code in loop against 9, not 2.
18665         Patch by Bruno Haible.
18666         Make the two tests more similar by adding an empty "then" clause.
18667         Add comments.
18668
18669         init.sh: avoid unnecessary shell re-exec
18670         * tests/init.sh: Improve the re-exec-required check to first test the
18671         current shell.  If it passes the test, do not search for a shell that
18672         does pass, and do not re-exec.  This test is particularly contorted to
18673         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
18674         of $(...) evokes a syntax error and causes immediate shell exit with
18675         status 2.  Bruno Haible reported that the re-exec made it impossible
18676         to single-step through any init.sh-using script.
18677
18678 2010-05-16  Bruno Haible  <bruno@clisp.org>
18679
18680         Fix collision between gnulib's and libintl's printf replacements.
18681         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
18682         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
18683         (printf): When using GNU C, map the __printf__ function to rpl_printf
18684         via __asm__. When not using GNU C, define rpl_printf instead of
18685         __printf__.
18686         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
18687         commit.
18688         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
18689         commit.
18690         * m4/asm-underscore.m4: New file.
18691         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
18692         * modules/stdio (Files): Add m4/asm-underscore.m4.
18693         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
18694         Reported by Ben Pfaff.
18695
18696 2010-05-16  Bruno Haible  <bruno@clisp.org>
18697
18698         verify: Avoid skipping the test on openSUSE 11.0.
18699         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
18700
18701 2010-05-13  Bruno Haible  <bruno@clisp.org>
18702
18703         Avoid useless warnings from G++.
18704         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
18705         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
18706         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
18707
18708 2010-05-11  Jim Meyering  <meyering@redhat.com>
18709
18710         maint.mk: tweak preceding change
18711         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
18712         regexps tighter by anchoring at EOL, and make the new group "shy"
18713         for slightly decreased overhead.
18714
18715 2010-05-11  Eric Blake  <eblake@redhat.com>
18716
18717         maint.mk: gnulib doesn't guarantee NSIG
18718         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
18719
18720 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
18721
18722         test-pwrite.c: Remove unused variable declaration.
18723         * tests/test-pwrite.c (main): Remove read_buf declaration.
18724
18725         Remove useless test-pwrite.sh file.
18726         * tests/test-pwrite.sh: Delete file.
18727         * modules/pwrite-tests: Remove references.
18728         Reported by Bruno Haible.
18729
18730 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
18731
18732         init.sh: fix a typo
18733         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
18734
18735 2010-05-10  Jim Meyering  <meyering@redhat.com>
18736
18737         maint.mk: avoid using a temporary file in the always-defined-macros check
18738         * top/maint.mk (.re-defmac): Remove rule.
18739         (gl_trap_): Remove definition.
18740         (sc_prohibit_always-defined_macros): Rewrite not to create and
18741         depend on a temporary file.  Instead, depend on GNU grep's ability
18742         to read a list of regular expressions from stdin when given "-f -".
18743
18744 2010-05-09  Bruno Haible  <bruno@clisp.org>
18745
18746         Update to GNU gettext 0.18, part 1.
18747         * m4/gettext.m4: Update to GNU gettext 0.18.
18748         * m4/intl.m4: Likewise.
18749         * m4/po.m4: Likewise.
18750         * modules/gettext (Files): Add m4/fcntl-o.m4.
18751         (configure.ac): Require gettext infrastructure from version 0.18.
18752
18753 2010-05-09  Jim Meyering  <meyering@redhat.com>
18754
18755         init.sh: enable MALLOC_PERTURB_
18756         * tests/init.sh: Enable glibc's malloc-perturbing option.
18757
18758         maint.mk: improve sc_cross_check_PATH_usage_in_tests
18759         With my recent change in init.sh from the two-line form:
18760             -#   : ${srcdir=.}
18761             -#   . "$srcdir/init.sh"; path_prepend_ .
18762             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
18763         I noticed that using the one-line form would cause this test
18764         to fail with a false-positive, or to stop working altogether,
18765         depending on whether help-version changed or all the tests did.
18766         * top/maint.mk (_hv_regex): Remove this definition.
18767         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
18768         (_hv_regex_strong): Use a stronger regex to check for conformance.
18769         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
18770         Give a separate diagnostic for lack of conforming use.
18771
18772         maint.mk: prohibit definition of symbols defined by gnulib
18773         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
18774         definition of symbols defined by gnulib.
18775
18776 2010-05-09  Bruno Haible  <bruno@clisp.org>
18777
18778         acl: Avoid test failure on Cygwin-hosted mingw.
18779         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
18780
18781 2010-05-09  Bruno Haible  <bruno@clisp.org>
18782
18783         error: Use system's fcntl function.
18784         * lib/error.c (fcntl): Undefine.
18785
18786 2010-05-09  Jim Meyering  <meyering@redhat.com>
18787
18788         verify: adjust formatting to be more consistent
18789         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
18790         argument-list '('s, and after one comma.
18791
18792 2010-05-09  Bruno Haible  <bruno@clisp.org>
18793
18794         error: More reliable output on mingw.
18795         * lib/error.c: Include <windows.h>.
18796         (is_open): New function.
18797         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
18798         defined.
18799
18800 2010-05-09  Bruno Haible  <bruno@clisp.org>
18801
18802         vasnprintf: Fix syntax errors in libintl build on mingw.
18803         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
18804         pad_ourselves and prec_ourselves after use.
18805
18806 2010-05-08  Bruno Haible  <bruno@clisp.org>
18807
18808         * lib/config.charset: Update comments for Cygwin 1.7.
18809         * lib/localcharset.c: Likewise.
18810
18811 2010-05-07  Jim Meyering  <meyering@redhat.com>
18812
18813         init.sh: improve comments
18814         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
18815         . "${srcdir=.}/init.sh"; path_prepend_ .
18816         Add a note about path_prepend_ and the alternative of using
18817         TESTS_ENVIRONMENT.
18818
18819 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
18820
18821         exclude: Unescape hashed patterns in wildcard mode.
18822         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
18823         to the hash list.
18824         * tests/test-exclude8.sh: New test case.
18825         * modules/exclude-tests: Add new test.
18826
18827 2010-05-05  Eric Blake  <eblake@redhat.com>
18828
18829         verify: automate tests
18830         * modules/verify-tests: New module.
18831         * tests/test-verify.sh: New file.
18832         * tests/test-verify.c: Guard each negative test with a unique id.
18833         Also avoid warning about unused left hand of comma expressions.
18834
18835 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18836
18837         Further improvements to verify.h, suggested by Eric Blake.
18838         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
18839         the GL_* versions, to avoid collision with OpenGL.
18840         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
18841         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
18842         than testing merely whether it's defined.
18843
18844         Modify verify.h to pacify gcc -Wredundant_decls.
18845         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
18846         These use the prefix "GL_" since they're likely to be useful elsewhere.
18847         We may need to break them out into a different .h file.
18848         (__COUNTER__): Define to 0 if the compiler doesn't support it.
18849         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
18850         of verify_function__.
18851
18852 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
18853
18854         Tests for module pwrite.
18855         * modules/pwrite-tests: New file.
18856         * tests/test-pwrite.sh: New file.
18857         * tests/test-pwrite.c: New file.
18858
18859         New module pwrite.
18860         * lib/unistd.in.h (pwrite): New declaration.
18861         * lib/pwrite.c: New file, from glibc with modifications.
18862         * m4/pwrite.m4: New file.
18863         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
18864         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
18865         REPLACE_PWRITE.
18866         * modules/pwrite: New file.
18867         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
18868         REPLACE_PWRITE.
18869         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
18870         * doc/posix-functions/pwrite.texi: Mention the new module.
18871
18872 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
18873
18874         pread: Update documentation.
18875         * doc/posix-functions/pread.texi: Mention the 'pread' module.
18876
18877 2010-05-04  Eric Blake  <eblake@redhat.com>
18878
18879         docs: update cygwin progress
18880         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
18881         this bug.
18882         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
18883         Added in cygwin 1.7.2.
18884         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
18885         Likewise.
18886         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
18887         Likewise.
18888         * doc/glibc-functions/dup3.texi (dup3): Likewise.
18889         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
18890         * doc/glibc-functions/accept4.texi (accept4): Likewise.
18891         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
18892         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
18893         Mention nproc module.
18894         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
18895         bug in cygwin 1.7.5 addition.
18896         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
18897         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
18898         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
18899         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
18900         1.7.5.
18901         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
18902         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
18903         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
18904         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
18905         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
18906         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
18907         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
18908         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
18909         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
18910         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
18911         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
18912         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
18913         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
18914         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
18915         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
18916         Likewise.
18917         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
18918         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
18919         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
18920         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
18921         Likewise.
18922         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
18923         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
18924         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
18925         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
18926         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
18927         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
18928         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
18929         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
18930         Likewise.
18931         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
18932         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
18933         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
18934         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
18935         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
18936         Likewise.
18937         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
18938         Likewise.
18939         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
18940         Likewise.
18941         * doc/glibc-functions/xdrrec_endofrecord.texi
18942         (xdrrec_endofrecord): Likewise.
18943         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
18944         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
18945         Likewise.
18946         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
18947         Likewise.
18948
18949 2010-05-04  Jim Meyering  <meyering@redhat.com>
18950
18951         gendocs.sh: make its "-s FILE" option more useful
18952         * build-aux/gendocs.sh: When honoring the -s FILE option, update
18953         $PACKAGE to reflect the probably-different basename of "FILE".
18954
18955 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
18956
18957         bootstrap: don't ignore download_po_files failure
18958         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
18959         failure.
18960
18961 2010-05-03  Jim Meyering  <meyering@redhat.com>
18962
18963         maint.mk: allow to pass options to gendocs.sh
18964         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
18965         (gendocs_options_): New overridable variable.
18966
18967         gnu-web-doc-update: don't ignore configure or build failure
18968         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
18969
18970         announce-gen: backslash-escape '@'s in --help output
18971         * build-aux/announce-gen: Fix syntax errors.
18972
18973         maint.mk, announce-gen: allow project-specific announcement mail headers
18974         * top/maint.mk (translation_project_): Define default.
18975         (announcement_Cc_, announcement_mail_headers_): Likewise.
18976         (announcement): Invoke announce-gen with new --mail-headers option.
18977         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
18978
18979         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
18980         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
18981         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
18982         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
18983         line in the "err2" output file when running "make check" in verbose
18984         mode (i.e., with set -x enabled).
18985
18986 2010-05-03  Bruno Haible  <bruno@clisp.org>
18987
18988         wctob: Fix for weird platforms.
18989         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
18990         argument value.
18991
18992 2010-05-03  Jim Meyering  <meyering@redhat.com>
18993
18994         maint.mk: prohibit unwarranted use of <strings.h>
18995         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
18996         strings.h in a file that does not also use strcasecmp, strncasecmp,
18997         ffs or ffsll.
18998
18999         maint.mk: remove obsolete comments
19000         * top/maint.mk: Remove stale, commented-out rules.
19001
19002 2010-05-02  Bruno Haible  <bruno@clisp.org>
19003
19004         wcwidth: Declare also when it's aliased.
19005         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
19006         macro.
19007
19008 2010-05-02  Bruno Haible  <bruno@clisp.org>
19009
19010         Fix regression from 2010-04-25.
19011         * gnulib-tool (func_modules_transitive_closure): Check the status of
19012         all modules, not only of the tests that are of the form foo-tests where
19013         foo is a module.
19014
19015 2010-05-02  Bruno Haible  <bruno@clisp.org>
19016
19017         wctob: Work around nasty Cygwin 1.7.2 bug.
19018         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
19019         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
19020
19021 2010-05-01  Bruno Haible  <bruno@clisp.org>
19022
19023         fpurge: Sharper test.
19024         * tests/test-fpurge.c (main): Add one more ftell check.
19025         * modules/fpurge-tests (Depends-on): Add ftell.
19026         Suggested by Eric Blake.
19027
19028 2010-05-01  Bruno Haible  <bruno@clisp.org>
19029
19030         ftello: Another test.
19031         * tests/test-ftello3.c: New file.
19032         * modules/ftello-tests (Files): Add it.
19033         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
19034         MOSTLYCLEANFILES.
19035
19036         ftell: Another test.
19037         * tests/test-ftell3.c: New file.
19038         * modules/ftell-tests (Files): Add it.
19039         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
19040         MOSTLYCLEANFILES.
19041
19042 2010-05-01  Bruno Haible  <bruno@clisp.org>
19043
19044         ftell, ftello: Work around Solaris bug.
19045         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
19046         * lib/ftello.c: Include stdio-impl.h.
19047         (ftello): On Solaris, when _IOWRT is set, compute the result without
19048         looking at _IOREAD.
19049         * modules/ftello (Files): Add lib/stdio-impl.h.
19050         * doc/posix-functions/ftell.texi: Mention Solaris bug.
19051         * doc/posix-functions/ftello.texi: Likewise.
19052         Reported by Eric Blake.
19053
19054 2010-05-01  Bruno Haible  <bruno@clisp.org>
19055
19056         freading: Adapt to special meaning of _IOREAD flag on Solaris.
19057         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
19058         the _IOWRT flag is also set.
19059
19060 2010-05-01  Bruno Haible  <bruno@clisp.org>
19061
19062         Fix doc about a HP-UX stdio bug.
19063         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
19064         * doc/posix-functions/ftello.texi: Likewise.
19065
19066 2010-05-01  Bruno Haible  <bruno@clisp.org>
19067
19068         lseek test: Fix failure on Solaris.
19069         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
19070         output.
19071
19072 2010-04-30  Jim Meyering  <meyering@redhat.com>
19073
19074         bootstrap: don't ignore failure to generate po*/Makevars
19075         * build-aux/bootstrap (with_gettext): Don't ignore failure
19076         to create po/Makevars or runtime-po/Makevars.
19077
19078 2010-04-29  Eric Blake  <eblake@redhat.com>
19079
19080         headers: relax license to LGPLv2+
19081         * modules/fcntl-h (License): Relax license.
19082         * modules/getopt-posix (License): Likewise.
19083         * modules/locale (License): Likewise.
19084         * modules/math (License): Likewise.
19085         * modules/pty (License): Likewise.
19086         * modules/sched (License): Likewise.
19087         * modules/search (License): Likewise.
19088         * modules/spawn (License): Likewise.
19089         * modules/stdarg (License): Likewise.
19090         * modules/sysexits (License): Likewise.
19091
19092 2010-04-29  Jim Meyering  <meyering@redhat.com>
19093
19094         inttypes: relax license to LGPLv2+
19095         * modules/inttypes (License): Relax license.
19096
19097 2010-04-29  Simon Josefsson  <simon@josefsson.org>
19098
19099         * top/maint.mk (indent): Run twice to produce idempotent results.
19100
19101 2010-04-28  Bruno Haible  <bruno@clisp.org>
19102
19103         getdate: Generate getdate.c in the source directory.
19104         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
19105         MOSTLYCLEANFILES.
19106         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
19107
19108 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
19109
19110         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
19111         is not declared as a const *; avoid warnings in that case.
19112
19113 2010-04-28  Eric Blake  <eblake@redhat.com>
19114
19115         canonicalize-lgpl: avoid compiler warning
19116         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
19117         declaration' / 'extraneous semicolon' warning with some compilers.
19118         Reported by Andreas Gruenbacher.
19119
19120 2010-04-28  Jim Meyering  <meyering@redhat.com>
19121
19122         init.sh: ensure a more reliable exit status when exiting via trap
19123         * tests/init.sh (setup_): Don't rely on $? in signal handler.
19124         Inspired by patches from Dmitry V. Levin.
19125         Also trap on signal 3 (SIGQUIT).
19126
19127 2010-04-27  Bruno Haible  <bruno@clisp.org>
19128
19129         Update doc about utimes().
19130         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
19131         'utimens' module.
19132         Reported by Andreas Gruenbacher <agruen@suse.de>.
19133
19134 2010-04-27  Eric Blake  <eblake@redhat.com>
19135
19136         full-read, full-write: relax license
19137         * modules/full-read (License): Drop to LGPLv2+.
19138         * modules/full-write (License): Likewise.
19139         * modules/safe-read (License): Likewise.
19140         * modules/safe-write (License): Likewise.
19141
19142         pthread: mention library for linking
19143         * modules/pthread (Link): Mention $(LIB_PTHREAD).
19144
19145 2010-04-27  Jim Meyering  <meyering@redhat.com>
19146
19147         maint.mk: fix a bug introduced in last change
19148         * top/maint.mk (gl_assured_headers_): Now that all names are on
19149         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
19150         is not anchored to end of word, it should be adequate.
19151
19152         maint.mk: avoid side-effect in latest syntax-check
19153         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
19154         to run commands via $(shell...), and hence to incur cost only when
19155         the new rule is actually run.
19156
19157         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
19158         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
19159         and use that to create a regexp used to detect all #if HAVE_..._H uses.
19160         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
19161         (gl_assured_headers_, az_, AZ_): Define.
19162         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
19163
19164 2010-04-26  Jim Meyering  <jim@meyering.net>
19165             Bruno Haible  <bruno@clisp.org>
19166
19167         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
19168         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
19169         Prompted by an exchange with Gilles Espinasse.
19170
19171 2010-04-26  Jim Meyering  <meyering@redhat.com>
19172
19173         git-version-gen: aesthetic tweak
19174         * build-aux/git-version-gen: Use "$nl" rather than a literal,
19175         so that the command remains on a single line.
19176
19177 2010-04-26  Eric Blake  <eblake@redhat.com>
19178
19179         git-version-gen: allow use on EBCDIC hosts
19180         * build-aux/git-version-gen (dirty): Use literal rather than tying
19181         ourselves to ascii.
19182         Reported by Steve Goetze.
19183
19184 2010-04-25  Bruno Haible  <bruno@clisp.org>
19185
19186         netdb: Add support for GNULIB_POSIXCHECK.
19187         * lib/netdb.in.h: Include warn-on-use.h.
19188         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
19189         functions are used when GNULIB_POSIXCHECK is defined and the
19190         getaddrinfo module is not in use.
19191         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
19192         freeaddrinfo, gai_strerror, getnameinfo are declared.
19193         * modules/netdb (Depends-on): Add warn-on-use.
19194         (Makefile.am): Include warn-on-use.h in netdb.h.
19195
19196 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
19197
19198         build: avoid "make check" failure without .git/ directory
19199         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
19200         there is no .git/ directory.
19201
19202 2010-04-25  Bruno Haible  <bruno@clisp.org>
19203
19204         ptsname: Fix misuse of ttyname_r.
19205         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
19206         of errno.
19207
19208 2010-04-25  Bruno Haible  <bruno@clisp.org>
19209
19210         ttyname_r: Make it work on Solaris 10.
19211         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
19212         if the system function has the POSIX declaration. Test whether the
19213         function fails if the buffer is less than 128 bytes large.
19214         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
19215         system's ttyname_r function. Provide a reasonably large buffer.
19216         * modules/ttyname_r (Depends-on): Add extensions.
19217         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
19218
19219 2010-04-25  Bruno Haible  <bruno@clisp.org>
19220
19221         Use the 'extensions' module for some more functions on Solaris.
19222         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
19223         module.
19224         * doc/posix-functions/ctime_r.texi: Likewise.
19225         * doc/posix-functions/getgrgid_r.texi: Likewise.
19226         * doc/posix-functions/getgrnam_r.texi: Likewise.
19227         * doc/posix-functions/getpwnam_r.texi: Likewise.
19228         * doc/posix-functions/getpwuid_r.texi: Likewise.
19229         * doc/posix-functions/readdir_r.texi: Likewise.
19230         * doc/posix-functions/sigwait.texi: Likewise.
19231         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
19232         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
19233
19234 2010-04-25  Bruno Haible  <bruno@clisp.org>
19235
19236         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
19237         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
19238         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
19239         * lib/ttyname_r.c: Include <limits.h>.
19240         (ttyname_r): Define using the system's ttyname_r function, if it exists
19241         and not on Solaris.
19242         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
19243         set.
19244         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
19245         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
19246         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
19247         Reported by Simon Josefsson.
19248
19249 2010-04-25  Bruno Haible  <bruno@clisp.org>
19250
19251         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
19252         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
19253         * doc/posix-functions/ctime_r.texi: Likewise.
19254         * doc/posix-functions/getgrgid_r.texi: Likewise.
19255         * doc/posix-functions/getgrnam_r.texi: Likewise.
19256         * doc/posix-functions/getlogin_r.texi: Likewise.
19257         * doc/posix-functions/getpwnam_r.texi: Likewise.
19258         * doc/posix-functions/getpwuid_r.texi: Likewise.
19259         * doc/posix-functions/readdir_r.texi: Likewise.
19260         * doc/posix-functions/sigwait.texi: Likewise.
19261         * doc/posix-functions/ttyname_r.texi: Likewise.
19262         Reported by Simon Josefsson.
19263
19264 2010-04-25  Bruno Haible  <bruno@clisp.org>
19265
19266         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
19267         * gnulib-tool (func_usage): Document that --with-*-tests options apply
19268         also to --create-testdir.
19269         (func_acceptable): Don't consider the status of *-tests modules here.
19270         (func_modules_transitive_closure): Consider it here, before including a
19271         test module.
19272         (func_import, func_create_testdir): Set inc_all_direct_tests,
19273         inc_all_indirect_tests.
19274         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
19275         --create-testdir and --create-megatestdir.
19276
19277 2010-04-25  Bruno Haible  <bruno@clisp.org>
19278
19279         gnulib-tool: Add --without-*-tests options.
19280         * gnulib-tool (func_usage): Document the --without-*-tests options.
19281         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
19282         excl_unportable_tests): New variables.
19283         Fail if they are specified with --import or --update.
19284         (func_acceptable): Respect the excl_*_tests variables.
19285         (func_import): Set the excl_*_tests variables to empty.
19286
19287 2010-04-25  Simon Josefsson  <simon@josefsson.org>
19288             Bruno Haible  <bruno@clisp.org>
19289
19290         Work around a MacOS X 10.4 bug with openpty.
19291         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
19292         * tests/test-openpty.c (main): Close the master side explicitly.
19293
19294 2010-04-25  Bruno Haible  <bruno@clisp.org>
19295
19296         strnlen: Fix a C++ test error on MacOS X and Solaris.
19297         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
19298         the function is not declared.
19299         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
19300         Simon Josefsson.
19301
19302 2010-04-24  Bruno Haible  <bruno@clisp.org>
19303
19304         Avoid a gcc warning.
19305         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
19306         of correct type for %08lx directive.
19307         Reported by Eric Blake.
19308
19309 2010-04-24  Bruno Haible  <bruno@clisp.org>
19310
19311         vasnprintf: Correct errno value in case of out-of-memory.
19312         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
19313         or sprintf. Use the errno value from SNPRINTF or sprintf.
19314         Reported by Ian Beckwith <ianb@erislabs.net>.
19315
19316 2010-04-24  Bruno Haible  <bruno@clisp.org>
19317
19318         ansi-c++-opt: Find correct compiler when cross-compiling.
19319         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
19320         AC_CHECK_PROGS.
19321         Reported by Simon Josefsson.
19322
19323 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
19324
19325         vc-list-files: Add support for subversion
19326         * build-aux/vc-list-files: Use "svn list" to generate the list of
19327         files controlled by subversion.
19328
19329 2010-04-23  Jim Meyering  <meyering@redhat.com>
19330
19331         vc-list-files tests: convert to use init.sh
19332         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
19333         path_prepend_.
19334         Use Exit, not exit.
19335         Use skip_ rather than open coding it.
19336         Remove trap set-up and compare definitions.
19337         * tests/test-vc-list-files-git.sh: Likewise.
19338         * modules/vc-list-files-tests (Files): Add tests/init.sh.
19339
19340 2010-04-22  Simon Josefsson  <simon@josefsson.org>
19341
19342         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
19343         backup files.
19344
19345 2010-04-21  Simon Josefsson  <simon@josefsson.org>
19346
19347         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
19348
19349 2010-04-20  Eric Blake  <eblake@redhat.com>
19350
19351         tests: be robust to ignored SIGPIPE
19352         * tests/test-select-in.sh: Consume all output.
19353         * tests/test-lseek.sh: Check correct exit status, while avoiding
19354         EPIPE.
19355
19356 2010-04-20  Simon Josefsson  <simon@josefsson.org>
19357             Bruno Haible  <bruno@clisp.org>
19358
19359         visibility: Don't use -fvisibility if it leads to a warning.
19360         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
19361         yes, don't pretend that visibility works if it leads to a warning.
19362         Reported by Mike Gran <spk121@yahoo.com>.
19363
19364 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
19365
19366         * build-aux/bootstrap: Use "git -h" for testing for supported options
19367         instead of "git --help".  The short-form option only shows a summary,
19368         and doesn't layout the full man page.  Grep for the full option name
19369         in the summary, too.
19370
19371 2010-04-19  Bruno Haible  <bruno@clisp.org>
19372
19373         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
19374         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
19375         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
19376         mention of RELOCATABLE_STRIP.
19377         Reported by Sylvain Beucler <beuc@beuc.net>.
19378
19379 2010-04-19  Bruno Haible  <bruno@clisp.org>
19380
19381         * lib/diffseq.h: Fix typo in comment.
19382         Reported by Eric Blake.
19383
19384 2010-04-19  Bruno Haible  <bruno@clisp.org>
19385
19386         ioctl: Move autoconf macro to a .m4 file.
19387         * m4/ioctl.m4: New file, extracted from modules/ioctl.
19388         * modules/ioctl (Files): Add it.
19389         (configure.ac): Simply invoke gl_FUNC_IOCTL.
19390         Reported by Ian Beckwith <ianb@erislabs.net>.
19391
19392 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
19393             Bruno Haible  <bruno@clisp.org>
19394
19395         diffseq: Accommodate use-case with abstract arrays.
19396         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
19397         is not defined.
19398         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
19399         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
19400
19401 2010-04-18  Bruno Haible  <bruno@clisp.org>
19402
19403         * doc/posix-headers/stdbool.texi: More precise wording.
19404
19405 2010-04-17  Jim Meyering  <meyering@redhat.com>
19406
19407         maint.mk: use gnu-style indentation in an embedded perl script
19408         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
19409         Rename variable: s/two/last_two_bytes/
19410
19411 2010-04-16  Eric Blake  <eblake@redhat.com>
19412
19413         test-stdbool: skip test that fails with Solaris CC
19414         * tests/test-stdbool.c (f): Skip test that causes compilation
19415         error under buggy C++ compiler.
19416         * lib/stdbool.in.h: Document the limitation.
19417         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
19418
19419         setenv: allow compilation with C++
19420         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
19421         register keyword.
19422
19423         stdint: allow test to pass with C++
19424         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
19425
19426         getopt: allow compilation with C++
19427         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
19428         struct.
19429         * lib/getopt.c (_getopt_internal_r): Use correct type.
19430         Reported by Dagobert Michelson, via Joel E. Denny.
19431
19432 2010-04-16  Bruno Haible  <bruno@clisp.org>
19433
19434         Override netdb.h always.
19435         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
19436         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
19437         Reported by Ludovic Courtès <ludo@gnu.org>.
19438
19439 2010-04-15  Bruno Haible  <bruno@clisp.org>
19440
19441         openpty: Fix mistake from 2010-03-21.
19442         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
19443         Reported by Simon Josefsson.
19444
19445 2010-04-15  Eric Blake  <eblake@redhat.com>
19446
19447         test-forkpty: fix expected signature
19448         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
19449         Reported by Simon Josefsson.
19450
19451 2010-04-15  Jim Meyering  <meyering@redhat.com>
19452
19453         maint.mk: texinfo_suffix_re_: correct the default regexp
19454         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
19455
19456         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
19457         make it configurable via texinfo_suffix_re_.
19458
19459 2010-04-14  Eric Blake  <eblake@redhat.com>
19460
19461         strtok_r: relax license to LGPLv2+
19462         * modules/strtok_r (License): Relax license.
19463         Reported by Matthias Bolte.
19464
19465 2010-04-14  Simon Josefsson  <simon@josefsson.org>
19466
19467         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
19468         version 1.4.4 by default instead of requiring the libgcrypt
19469         version used during build.  This makes it possible to use the
19470         application with older but still binary compatible libgcrypt
19471         versions.
19472
19473 2010-04-13  Eric Blake  <eblake@redhat.com>
19474
19475         getopt-gnu: match recent glibc fixes and posix ruling
19476         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
19477         '+' handling, when requesting extensions.
19478         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
19479         'W;' handling.
19480         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
19481         * doc/posix-functions/getopt.texi (getopt): Document this.
19482         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
19483         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19484         Likewise.
19485
19486         getopt: merge bug fixes from glibc
19487         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
19488         diagnostics.  Honor '+:' correctly.  Reject ';'.
19489
19490         getopt-posix: detect MacOS bug
19491         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
19492         optind when missing a required argument.
19493         * doc/posix-functions/getopt.texi (getopt): Document the bug.
19494         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
19495         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
19496         Likewise.
19497
19498         getopt-posix: avoid spurious failure on Solaris
19499         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
19500         an indicator that setting optind=1 is sufficient for reset.
19501
19502         getopt-posix: avoid spurious failure on FreeBSD
19503         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
19504         in POSIX mode, since the m4 test uses it.
19505
19506         gnulib-tool: silence warning on BSD sh
19507         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
19508
19509 2010-04-13  Jim Meyering  <meyering@redhat.com>
19510
19511         doc: users.txt: GNU patch now uses gnulib
19512         * users.txt: Add patch.
19513
19514 2010-04-12  Jim Meyering  <meyering@redhat.com>
19515
19516         maint.mk: generate more concise timing data for syntax-check rules
19517         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
19518         " done" from each line that reports a syntax-check test duration.
19519
19520 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
19521
19522         git-version-gen: use "git update-index..." rather than "git status"
19523         * build-aux/git-version-gen: Use git update-index --refresh, not
19524         "git status".  With some versions of git, "git status" would fail
19525         to update the index and result in an unwarranted "-dirty" suffix.
19526
19527 2010-04-11  Jim Meyering  <meyering@redhat.com>
19528
19529         openat: correct formatting (no semantic change)
19530         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
19531         Suggested by Bruno Haible.
19532
19533 2010-04-11  Bruno Haible  <bruno@clisp.org>
19534
19535         Stricter declaration checking in testdirs.
19536         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
19537         If for_tests is true, augment AM_CPPFLAGS to define
19538         GNULIB_STRICT_CHECKING.
19539         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
19540         GNULIB_STRICT_CHECKING is defined, verify that the function is
19541         declared.
19542
19543 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
19544             Bruno Haible  <bruno@clisp.org>
19545
19546         libunistring: Improve configure output.
19547         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
19548         Don't say "consider installing GNU libunistring" when checking again
19549         with libiconv.
19550
19551 2010-04-11  Bruno Haible  <bruno@clisp.org>
19552
19553         libunistring: Correct value of $LTLIBUNISTRING.
19554         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
19555         correct the value of $LTLIBUNISTRING.
19556
19557 2010-04-11  Bruno Haible  <bruno@clisp.org>
19558
19559         havelib: Add static libraries to LIBS in the right order.
19560         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
19561         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
19562
19563 2010-04-11  Bruno Haible  <bruno@clisp.org>
19564
19565         libunistring: Detect libunistring also when it depends on libiconv.
19566         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
19567         the second AC_LIB_HAVE_LINKFLAGS invocation.
19568
19569 2010-04-11  James Youngman  <jay@gnu.org>
19570
19571         close-stream: declare local scalars to be "const"
19572         * lib/close-stream.c (close_stream): Make boolean variables const
19573         to document the fact that we set but do not change them.
19574
19575 2010-04-11  Bruno Haible  <bruno@clisp.org>
19576
19577         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
19578
19579 2010-04-11  Jim Meyering  <meyering@redhat.com>
19580
19581         maint.mk: don't include dist-check.mk
19582         * top/maint.mk: Remove bogus include directive.
19583
19584         maint.mk: improve empty-line-at-EOF check
19585         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
19586         solution, rather than tail+Perl-based one.  The latter would read
19587         a few kilobytes from the end of each file, and did not handle empty
19588         files properly.
19589
19590         maint.mk: print the elapsed time for each syntax-check rule
19591         * top/maint.mk (sc_m_rules_): Save start time in a file.
19592         (sc_z_rules_): New rules: remove temp file and print elapsed time.
19593         (local-check): Interpose the .z rules
19594
19595 2010-04-11  Jim Meyering  <meyering@redhat.com>
19596
19597         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
19598         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
19599         empty file with one that ends in an empty line.
19600
19601 2010-04-10  Bruno Haible  <bruno@clisp.org>
19602
19603         mkdir: Make it work on mingw64.
19604         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
19605         * lib/mkdir.c: Update comment.
19606         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
19607
19608 2010-04-10  Bruno Haible  <bruno@clisp.org>
19609
19610         Don't override improved macro from newer autoconf.
19611         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
19612         autoconf >= 2.62.
19613         Reported by Joel E. Denny <jdenny@clemson.edu>.
19614
19615 2010-04-10  Jim Meyering  <meyering@redhat.com>
19616
19617         maint.mk: new syntax-check rule: prohibit empty lines at end of file
19618         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
19619
19620         maint.mk: correct a diagnostic
19621         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
19622         in diagnostic; now use $prohibit.
19623
19624 2010-04-10  Bruno Haible  <address@hidden>
19625
19626         fchownat: Fix a C++ test error on Solaris 8.
19627         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
19628         the function does not exist.
19629
19630 2010-04-10  Bruno Haible  <bruno@clisp.org>
19631
19632         vasnprintf: Add more tests.
19633         * tests/test-vasnprintf-posix.c: Include <errno.h>.
19634         (test_function): Test converting an invalid wide string.
19635
19636         vasnprintf: Correct handling of unconvertible wide string arguments.
19637         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
19638         VASNPRINTF.
19639         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
19640         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
19641         smaller than the expected maximum need for the directive. Set errno to
19642         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
19643         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
19644         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
19645         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
19646         * modules/vasnprintf (Files): Add m4/printf.m4.
19647         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19648
19649 2010-04-10  Bruno Haible  <bruno@clisp.org>
19650
19651         vasnprintf: Fix crash in %ls directive.
19652         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
19653         string is passed as argument to %ls, with no precision and no width.
19654         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19655
19656 2010-04-10  Bruno Haible  <bruno@clisp.org>
19657
19658         vasnprintf: Fix multiple test failures on mingw.
19659         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
19660         _snprintf, or snwprintf, not _snwprintf.
19661
19662 2010-04-10  Bruno Haible  <bruno@clisp.org>
19663
19664         write: Fix a C++ test error on mingw.
19665         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
19666
19667 2010-04-10  Bruno Haible  <bruno@clisp.org>
19668
19669         vasnprintf test: Reduce code duplication.
19670         * tests/test-vasnprintf.c (test_function): New function, extracted from
19671         test_vasnprintf.
19672         (test_vasnprintf, test_asnprintf): Invoke it.
19673
19674 2010-04-10  Bruno Haible  <bruno@clisp.org>
19675
19676         strnlen: Fix warning in C++ mode on MacOS X.
19677         * lib/string.in.h (strnlen): Use the modern idiom.
19678         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
19679         defining strnlen as a macro already in <config.h>.
19680         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19681         REPLACE_STRNLEN.
19682         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
19683         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19684
19685 2010-04-08  James Youngman  <jay@gnu.org>
19686
19687         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
19688         the example.
19689
19690 2010-04-09  Jim Meyering  <meyering@redhat.com>
19691
19692         maint.mk: print better diagnostic when there is no $(_hv_file)
19693         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
19694         announce that when $(_hv_file) (aka help-version) does not exist.
19695
19696         init.sh: run tr in the "C" locale to avoid multibyte interpretation
19697         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
19698         not try to interpret its random input bytes.  Jarno Rajahalme reported
19699         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
19700         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
19701         (mktempd_): Likewise, just in case.
19702
19703         ftruncate: add two years to projected module removal date: 2012
19704         * m4/ftruncate.m4: Adjust comments.
19705
19706         ftruncate: mark module as obsolete; even MinGW provides it, now
19707         * modules/ftruncate (Status): Obsolete.
19708         (Notice): Say that.
19709         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
19710         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
19711
19712 2010-04-08  Bruno Haible  <bruno@clisp.org>
19713
19714         Fix side effects from tests-related modules.
19715         * modules/dprintf-posix (Comment): New section.
19716         * modules/fprintf-posix (Comment): Likewise.
19717         * modules/obstack-printf-posix (Comment): Likewise.
19718         * modules/printf-posix (Comment): Likewise.
19719         * modules/snprintf-posix (Comment): Likewise.
19720         * modules/sprintf-posix (Comment): Likewise.
19721         * modules/vasnprintf-posix (Comment): Likewise.
19722         * modules/vasprintf-posix (Comment): Likewise.
19723         * modules/vdprintf-posix (Comment): Likewise.
19724         * modules/vfprintf-posix (Comment): Likewise.
19725         * modules/vprintf-posix (Comment): Likewise.
19726         * modules/vsnprintf-posix (Comment): Likewise.
19727         * modules/vsprintf-posix (Comment): Likewise.
19728         * modules/xprintf-posix (Comment): Likewise.
19729         * modules/xvasprintf-posix (Comment): Likewise.
19730         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
19731         * modules/floorf-tests (Depends-on): Likewise.
19732         * modules/round-tests (Depends-on): Likewise.
19733         * modules/roundf-tests (Depends-on): Likewise.
19734         * modules/trunc-tests (Depends-on): Likewise.
19735         * modules/truncf-tests (Depends-on): Likewise.
19736         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
19737         'fprintf-posix' module is not present.
19738         * tests/test-floorf2.c (check): Likewise.
19739         * tests/test-trunc2.c (check): Likewise.
19740         * tests/test-truncf2.c (check): Likewise.
19741         * tests/test-round2.c (equal): Likewise.
19742         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
19743
19744 2010-04-07  Karl Berry  <karl@gnu.org>
19745
19746         * config/srclist.txt,
19747         * config/srclistvars.sh,
19748         * config/srclist-update: doc fixes.
19749
19750 2010-04-07  Jim Meyering  <meyering@redhat.com>
19751
19752         maint.mk: add a PATH crosschecking syntax-check rule
19753         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
19754         Useful if you use a test like the one in help-version (coreutils,
19755         diffutils, grep, gzip) that ensures $(VERSION) matches what is
19756         printed by prog --version.
19757
19758 2010-04-06  Bruno Haible  <bruno@clisp.org>
19759
19760         Fix link error on mingw.
19761         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
19762         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
19763
19764 2010-04-06  Bruno Haible  <bruno@clisp.org>
19765
19766         Assume rmdir exists.
19767         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
19768
19769 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
19770
19771         doc: update users.txt
19772         * users.txt: Add gcal.
19773
19774 2010-04-06  Jim Meyering  <meyering@redhat.com>
19775
19776         init.sh: simply unset TMPDIR rather than risking env -i
19777         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
19778         although it probably works fine on all Unix-based systems, some
19779         systems (Cygwin?) cannot tolerate a totally cleared environment.
19780         Suggestion from Eric Blake.
19781
19782 2010-04-06  Jim Meyering  <meyering@redhat.com>
19783
19784         init.sh: portability fix: use env's POSIX-specified -i option not -u
19785         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
19786         than unportable env -u.  Solaris 5.11's env lacks support for -u.
19787
19788 2010-04-05  Bruno Haible  <bruno@clisp.org>
19789
19790         btowc: Work around Cygwin 1.7.2 bug.
19791         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
19792         does not map NUL to 0.
19793         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
19794
19795 2010-04-05  Bruno Haible  <bruno@clisp.org>
19796
19797         Make the multithread modules work on Cygwin 1.7.2.
19798         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
19799         imported symbols can be declared weak, so that it returns "no" on
19800         Cygwin 1.7.2.
19801
19802 2010-04-05  Bruno Haible  <bruno@clisp.org>
19803
19804         Use the module 'strncat'.
19805         * modules/unistr/u8-strncat (Depends-on): Add strncat.
19806
19807         Tests for module 'strncat'.
19808         * modules/strncat-tests: New file.
19809         * tests/test-strncat.c: New file.
19810
19811         New module 'strncat'.
19812         * lib/string.in.h (strncat): New declaration.
19813         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
19814         * m4/strncat.m4: New file, based on m4/memchr.m4.
19815         * modules/strncat: New file.
19816         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
19817         is declared.
19818         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
19819         REPLACE_STRNCAT.
19820         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
19821         REPLACE_STRNCAT.
19822         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
19823         module.
19824         * tests/test-string-c++.cc: Check signature of strncat.
19825
19826 2010-04-05  Jim Meyering  <meyering@redhat.com>
19827
19828         xstrtoumax-tests: convert to use init.sh
19829         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
19830         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19831         Use Exit, not exit.
19832         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19833
19834         xstrtoimax-tests: convert to use init.sh
19835         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
19836         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19837         Use Exit, not exit.
19838         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19839
19840 2010-04-05  Bruno Haible  <bruno@clisp.org>
19841
19842         sys_socket: Avoid #define replacements in C++ mode.
19843         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
19844         warning to the function if possible, rather than #defining the symbol
19845         to a dysfunctional alias.
19846
19847 2010-04-05  Bruno Haible  <bruno@clisp.org>
19848
19849         fseeko: Fix C++ test error on mingw.
19850         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
19851         gl_FUNC_FSEEKO.
19852         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
19853         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
19854         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
19855         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
19856
19857 2010-04-05  Bruno Haible  <bruno@clisp.org>
19858
19859         duplocale: Improve test output.
19860         * tests/test-duplocale.c (main): Print reason for skipped test.
19861
19862 2010-04-05  Bruno Haible  <bruno@clisp.org>
19863
19864         Assume rmdir exists.
19865         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
19866         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
19867
19868 2010-04-05  Bruno Haible  <bruno@clisp.org>
19869
19870         Fix link error on Solaris 8 with cc.
19871         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
19872
19873 2010-04-05  Bruno Haible  <bruno@clisp.org>
19874
19875         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
19876         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
19877
19878 2010-04-05  Bruno Haible  <bruno@clisp.org>
19879
19880         vasprintf: Update documentation.
19881         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
19882
19883 2010-04-05  Bruno Haible  <bruno@clisp.org>
19884
19885         ptsname: Improve test.
19886         * tests/test-ptsname.c (main): Also try the various master names of BSD
19887         systems.
19888
19889 2010-04-05  Bruno Haible  <bruno@clisp.org>
19890
19891         memchr: Avoid a possible C++ test error.
19892         * lib/string.in.h (memchr): Provide declaration if function is missing.
19893         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
19894         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
19895         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
19896         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
19897
19898 2010-04-05  Bruno Haible  <bruno@clisp.org>
19899
19900         strtok_r: Improve idiom.
19901         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
19902         AC_LIBOBJ is used.
19903
19904 2010-04-05  Bruno Haible  <bruno@clisp.org>
19905
19906         strdup: Improve idiom.
19907         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
19908         AC_LIBOBJ is used.
19909         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
19910         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
19911         when AC_LIBOBJ is used.
19912
19913 2010-04-05  Bruno Haible  <bruno@clisp.org>
19914
19915         mbsinit, mbrtowc, wcrtomb: Improve idioms.
19916         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
19917         don't set REPLACE_MBSINIT to 1.
19918         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
19919         don't set REPLACE_MBRTOWC to 1.
19920         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
19921         exist, don't set REPLACE_MBSRTOWCS to 1.
19922         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
19923         exist, don't set REPLACE_MBSNRTOWCS to 1.
19924         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
19925         don't set REPLACE_WCRTOMB to 1.
19926         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
19927         exist, don't set REPLACE_WCSRTOMBS to 1.
19928         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
19929         exist, don't set REPLACE_WCSNRTOMBS to 1.
19930
19931 2010-04-05  Bruno Haible  <bruno@clisp.org>
19932
19933         ldexpl: Improve idiom.
19934         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
19935         make sure to set HAVE_DECL_LDEXPL to 0.
19936
19937 2010-04-05  Jim Meyering  <meyering@redhat.com>
19938
19939         xstrtol-tests: convert to use init.sh
19940         * modules/xstrtol-tests (Files): Add tests/init.sh.
19941         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19942         Use Exit, not exit.
19943         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19944
19945         atexit-tests: convert to use init.sh
19946         * modules/atexit-tests (Files): Add tests/init.sh.
19947         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
19948         Use Exit, not exit.
19949         Remove uses of $EXEEXT and "./" to run a program in the current dir.
19950
19951         init.sh: fix typo
19952         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
19953
19954         init.sh: make it easier for a test script to write to the tty, ...
19955         when using automake's parallel-tests mode.
19956         * tests/init.sh (stderr_fileno_): Define overridable variable.
19957         (warn_): New function, to use it.
19958         (fail_, skip_, framework_failure_): Use warn_.
19959
19960 2010-04-04  Bruno Haible  <bruno@clisp.org>
19961
19962         btowc: Avoid warning.
19963         * lib/btowc.c: Include <stdlib.h>.
19964         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
19965
19966 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
19967             Bruno Haible  <bruno@clisp.org>
19968
19969         wchar: Port to NetBSD 1.5.
19970         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
19971         * lib/wctype.in.h (WEOF): Likewise.
19972
19973 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
19974             Bruno Haible  <bruno@clisp.org>
19975
19976         Port extended stdio to NetBSD 1.5.
19977         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
19978         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
19979         older.
19980
19981 2010-04-04  Bruno Haible  <bruno@clisp.org>
19982
19983         string: Remove unused substitution.
19984         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
19985         HAVE_DECL_STRERROR.
19986         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
19987
19988 2010-04-04  Bruno Haible  <bruno@clisp.org>
19989
19990         strtod: Avoid a possible C++ test error.
19991         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
19992         set REPLACE_STRTOD.
19993
19994 2010-04-04  Bruno Haible  <bruno@clisp.org>
19995
19996         strerror: Update documentation.
19997         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
19998
19999 2010-04-04  Bruno Haible  <bruno@clisp.org>
20000
20001         stdio: Fix some C++ test errors on Solaris 8 with GCC.
20002         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
20003         _GL_CXXALIAS_SYS_CAST.
20004
20005 2010-04-04  Bruno Haible  <bruno@clisp.org>
20006
20007         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
20008         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
20009         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
20010         REPLACE_FREXPL to 1.
20011         * doc/posix-functions/frexpl.texi: Update documentation.
20012
20013 2010-04-04  Bruno Haible  <bruno@clisp.org>
20014
20015         math: Fix some C++ test errors on Solaris 8 and Cygwin.
20016         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
20017
20018 2010-04-04  Bruno Haible  <bruno@clisp.org>
20019
20020         Implement nanosleep for native Windows.
20021         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
20022
20023 2010-04-04  Bruno Haible  <bruno@clisp.org>
20024
20025         math: Fix some C++ test errors on Solaris 8.
20026         * lib/math.in.h (truncf, trunc): Use simpler idiom.
20027
20028 2010-04-04  Bruno Haible  <bruno@clisp.org>
20029
20030         math: Fix some C++ test errors on Cygwin.
20031         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
20032         truncl): Provide declaration if the system does not have it.
20033         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
20034         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
20035         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
20036         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
20037         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
20038         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
20039         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
20040         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
20041         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
20042         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
20043         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
20044         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
20045         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
20046         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
20047         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
20048         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
20049         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
20050         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
20051         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
20052         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
20053         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
20054         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
20055
20056 2010-04-04  Bruno Haible  <bruno@clisp.org>
20057
20058         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
20059         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
20060         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
20061         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
20062         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
20063         * m4/isinf.m4 (gl_ISINF): Likewise.
20064         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
20065
20066 2010-04-04  Bruno Haible  <bruno@clisp.org>
20067
20068         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
20069         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
20070
20071 2010-04-04  Bruno Haible  <bruno@clisp.org>
20072
20073         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
20074         * modules/tmpfile (configure.ac): Update.
20075
20076         tmpfile: Fix C++ test error on mingw.
20077         * lib/stdio.in.h (tmpfile): New declaration.
20078         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
20079         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
20080         * modules/tmpfile (Depends-on): Add stdio.
20081         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
20082         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
20083         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
20084         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
20085         REPLACE_TMPFILE.
20086         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
20087
20088 2010-04-04  Bruno Haible  <bruno@clisp.org>
20089
20090         ioctl: Fix C++ test error on mingw.
20091         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
20092         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
20093         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
20094
20095 2010-04-03  Bruno Haible  <bruno@clisp.org>
20096
20097         wcwidth: Fix C++ test error on mingw.
20098         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
20099         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
20100         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
20101
20102 2010-04-03  Bruno Haible  <bruno@clisp.org>
20103
20104         nanosleep: Fix C++ test error on mingw.
20105         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
20106         * lib/time.in.h (nanosleep): Use modern idiom.
20107         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
20108         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
20109         REPLACE_NANOSLEEP to 1.
20110         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
20111         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
20112
20113 2010-04-03  Bruno Haible  <bruno@clisp.org>
20114
20115         strptime: Fix C++ test error on mingw.
20116         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
20117         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
20118         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
20119         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
20120         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
20121         not REPLACE_STRPTIME.
20122         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
20123         REPLACE_STRPTIME.
20124
20125 2010-04-03  Bruno Haible  <bruno@clisp.org>
20126
20127         timegm: Fix C++ test error on mingw.
20128         * lib/time.in.h (timegm): Use modern idiom.
20129         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
20130         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
20131         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
20132         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
20133
20134 2010-04-03  Bruno Haible  <bruno@clisp.org>
20135
20136         timegm: Assume declaration if function exists.
20137         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
20138         if it exists. Don't clobber ac_cv_func_timegm.
20139
20140 2010-04-03  Bruno Haible  <bruno@clisp.org>
20141
20142         time_r: Fix C++ test error on mingw.
20143         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
20144         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
20145         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
20146         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
20147         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
20148
20149 2010-04-03  Bruno Haible  <bruno@clisp.org>
20150
20151         time_r: Minor updates.
20152         * modules/time_r (Description): Mention the provided functions.
20153         * lib/time_r.c: Don't include <string.h>.
20154         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
20155         * doc/posix-functions/localtime_r.texi: Likewise.
20156
20157 2010-04-03  Bruno Haible  <bruno@clisp.org>
20158
20159         time: Fix regression introduced on 2010-03-08.
20160         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
20161         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
20162
20163 2010-04-03  Jim Meyering  <meyering@redhat.com>
20164
20165         maint.mk: don't silently disable project-specific syntax-check rules
20166         * top/maint.mk (_prohibit_regexp): Define, to help people realize
20167         that they need to convert their project-specific syntax-check rules
20168         to use the new _sc_search_regexp.
20169
20170 2010-04-03  Bruno Haible  <bruno@clisp.org>
20171
20172         fchdir: Fix regression introduced on 2010-03-08.
20173         * lib/unistd.in.h (fchdir): Fix declaration.
20174         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
20175         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
20176         REPLACE_FCHDIR.
20177         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
20178         REPLACE_FCHDIR.
20179
20180 2010-04-03  Bruno Haible  <bruno@clisp.org>
20181
20182         getpagesize: Fix C++ test error on mingw.
20183         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
20184         system does not declare the function.
20185         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
20186         declared.
20187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20188         HAVE_DECL_GETPAGESIZE.
20189         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
20190
20191 2010-04-03  Bruno Haible  <bruno@clisp.org>
20192
20193         stdio: Make C++ tests work on mingw.
20194         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
20195         does not declare the function.
20196
20197 2010-04-03  Bruno Haible  <bruno@clisp.org>
20198
20199         ftello: Fix C++ test error on mingw.
20200         * lib/stdio.in.h (ftello): Use modern idiom.
20201         * lib/ftello.c (ftello): Renamed from rpl_ftello.
20202         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
20203         is missing and that it needs to be replaced.
20204         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
20205         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
20206         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
20207
20208 2010-04-03  Bruno Haible  <bruno@clisp.org>
20209
20210         fseeko: Fix C++ test error on mingw.
20211         * lib/stdio.in.h (fseeko): Use modern idiom.
20212         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
20213         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
20214         is missing and that it needs to be replaced.
20215         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
20216         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
20217         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
20218
20219 2010-04-03  Bruno Haible  <bruno@clisp.org>
20220
20221         mkstemp: Fix C++ test error on mingw.
20222         * lib/stdlib.in.h (mkstemp): Use modern idiom.
20223         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
20224         function is missing and that it needs to be replaced.
20225         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
20226         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
20227
20228 2010-04-03  Bruno Haible  <bruno@clisp.org>
20229
20230         stpncpy: Fix C++ test error on mingw.
20231         * lib/string.in.h (stpncpy): Use modern idiom.
20232         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
20233         function is missing and that it needs to be replaced.
20234         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
20235         REPLACE_STPNCPY.
20236         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
20237
20238 2010-04-03  Bruno Haible  <bruno@clisp.org>
20239
20240         sys_stat: Fix C++ test error on mingw.
20241         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
20242         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
20243
20244 2010-04-03  Bruno Haible  <bruno@clisp.org>
20245
20246         pty: Update doc.
20247         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
20248
20249 2010-04-03  Bruno Haible  <bruno@clisp.org>
20250
20251         unistd: Fix C++ test error on mingw.
20252         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
20253
20254 2010-04-03  Bruno Haible  <bruno@clisp.org>
20255
20256         Update doc regarding mingw.
20257         * doc/glibc-functions/openpty.texi: Update regarding mingw.
20258         * doc/glibc-functions/login_tty.texi: Likewise.
20259         * doc/glibc-functions/forkpty.texi: Likewise.
20260
20261 2010-04-03  Bruno Haible  <bruno@clisp.org>
20262
20263         stdlib: Avoid compilation failure of c-strtold on mingw.
20264         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
20265
20266 2010-04-03  Bruno Haible  <bruno@clisp.org>
20267
20268         locale: Make C++ tests work on Cygwin and mingw.
20269         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
20270         cannot provide the function.
20271         Reported by Simon Josefsson.
20272
20273 2010-04-03  Bruno Haible  <bruno@clisp.org>
20274
20275         localename: Port to MacOS X 10.6.
20276         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
20277         memory layout of the locales in MacOS X 10.6 as well.
20278         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
20279
20280 2010-04-02  Bruno Haible  <bruno@clisp.org>
20281
20282         gnulib-tool: Ensure that long-running tests are executed last.
20283         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
20284         running tests after the one for the other tests.
20285
20286 2010-04-02  Bruno Haible  <bruno@clisp.org>
20287
20288         gnulib-tool: Ensure the tests in the main directory are executed first.
20289         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
20290         start with the current directory.
20291
20292 2010-04-02  Bruno Haible  <bruno@clisp.org>
20293
20294         Tests for module 'havelib', moved here from GNU gettext.
20295         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
20296         modifications.
20297         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
20298         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
20299         with modifications.
20300         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
20301         modifications.
20302         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
20303         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
20304         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
20305         with modifications.
20306         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
20307         with modifications.
20308         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
20309         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
20310         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
20311         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
20312         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
20313         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
20314         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
20315         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
20316         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
20317         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
20318         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
20319         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
20320         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
20321         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
20322         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
20323         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
20324         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
20325         with modifications.
20326         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
20327         with modifications.
20328         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
20329         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
20330         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
20331         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
20332         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
20333         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
20334         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
20335         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
20336         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
20337         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
20338         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
20339         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
20340         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
20341         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
20342         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
20343         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
20344         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
20345         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
20346         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
20347         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
20348         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
20349         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
20350         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
20351         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
20352         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
20353         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
20354         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
20355         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
20356         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
20357         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
20358         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
20359         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
20360         * tests/havelib/rpathx/rpathx.c: New file, from
20361         gettext/autoconf-lib-link.
20362         * tests/havelib/rpathx/Makefile.am: New file, from
20363         gettext/autoconf-lib-link.
20364         * tests/havelib/rpathx/configure.ac: New file, from
20365         gettext/autoconf-lib-link with modifications.
20366         * tests/havelib/rpathy/rpathy.c: New file, from
20367         gettext/autoconf-lib-link.
20368         * tests/havelib/rpathy/Makefile.am: New file, from
20369         gettext/autoconf-lib-link.
20370         * tests/havelib/rpathy/configure.ac: New file, from
20371         gettext/autoconf-lib-link with modifications.
20372         * tests/havelib/rpathz/rpathz.c: New file, from
20373         gettext/autoconf-lib-link.
20374         * tests/havelib/rpathz/Makefile.am: New file, from
20375         gettext/autoconf-lib-link.
20376         * tests/havelib/rpathz/configure.ac: New file, from
20377         gettext/autoconf-lib-link with modifications.
20378         * tests/havelib/rpathlx/usex.c: New file, from
20379         gettext/autoconf-lib-link.
20380         * tests/havelib/rpathlx/Makefile.am: New file, from
20381         gettext/autoconf-lib-link.
20382         * tests/havelib/rpathlx/configure.ac: New file, from
20383         gettext/autoconf-lib-link with modifications.
20384         * tests/havelib/rpathly/usey.c: New file, from
20385         gettext/autoconf-lib-link.
20386         * tests/havelib/rpathly/Makefile.am: New file, from
20387         gettext/autoconf-lib-link.
20388         * tests/havelib/rpathly/configure.ac: New file, from
20389         gettext/autoconf-lib-link with modifications.
20390         * tests/havelib/rpathlz/usez.c: New file, from
20391         gettext/autoconf-lib-link.
20392         * tests/havelib/rpathlz/Makefile.am: New file, from
20393         gettext/autoconf-lib-link.
20394         * tests/havelib/rpathlz/configure.ac: New file, from
20395         gettext/autoconf-lib-link with modifications.
20396         * tests/havelib/rpathlyx/usey.c: New file, from
20397         gettext/autoconf-lib-link.
20398         * tests/havelib/rpathlyx/Makefile.am: New file, from
20399         gettext/autoconf-lib-link.
20400         * tests/havelib/rpathlyx/configure.ac: New file, from
20401         gettext/autoconf-lib-link with modifications.
20402         * tests/havelib/rpathlzyx/usez.c: New file, from
20403         gettext/autoconf-lib-link.
20404         * tests/havelib/rpathlzyx/Makefile.am: New file, from
20405         gettext/autoconf-lib-link.
20406         * tests/havelib/rpathlzyx/configure.ac: New file, from
20407         gettext/autoconf-lib-link with modifications.
20408         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
20409         with modifications.
20410
20411 2010-04-02  Bruno Haible  <bruno@clisp.org>
20412
20413         gnulib-tool: Create distributed built sources also for the tests.
20414         * gnulib-tool (func_create_testdir): Also generate distributed built
20415         sources in the tests directory.
20416
20417 2010-04-02  Bruno Haible  <bruno@clisp.org>
20418
20419         gnulib-tool: Obey user's environment variables.
20420         * gnulib-tool (func_create_testdir): When creating built sources,
20421         respect the environment variables for autoconf, automake, etc. given by
20422         the user.
20423
20424 2010-04-02  Bruno Haible  <bruno@clisp.org>
20425
20426         gnulib-tool: Provide the value of --m4-base to modules.
20427         * gnulib-tool (func_import, func_create_testdir): Emit a definition
20428         of gl_m4_base.
20429
20430 2010-04-02  Eric Blake  <eblake@redhat.com>
20431
20432         maint.mk: fix some fallout
20433         * NEWS: Document the incompatible change, and its effect on cfg.mk.
20434         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
20435
20436 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
20437
20438         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
20439         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
20440         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
20441         (sc_cast_of_x_alloc_return_value): Likewise.
20442         (sc_cast_of_alloca_return_value): Likewise.
20443         (sc_space_tab): Likewise.
20444         (sc_prohibit_atoi_atof): Likewise.
20445         (sc_prohibit_magic_number_exit): Likewise.
20446         (sc_error_exit_success): Likewise.
20447         (sc_file_system): Likewise.
20448         (sc_prohibit_have_config_h): Likewise.
20449         (sc_require_config_h): Likewise.
20450         (sc_prohibit_HAVE_MBRTOWC): Likewise.
20451         (sc_obsolete_symbols): Likewise.
20452         (sc_changelog): Likewise.
20453         (sc_program_name): Likewise.
20454         (sc_the_the): Likewise.
20455         (sc_trailing_blank): Likewise.
20456         (sc_two_space_separator_in_usage): Likewise.
20457         (sc_useless_cpp_parens): Likewise.
20458         (sc_GPL_version): Likewise.
20459         (sc_GFDL_version): Likewise.
20460         (sc_texinfo_acronym): Likewise.
20461         (sc_prohibit_cvs_keyword): Likewise.
20462         (sc_prohibit_stat_st_blocks): Likewise.
20463         (sc_prohibit_S_IS_definition): Likewise.
20464         (sc_redundant_const): Likewise.
20465         (sc_makefile_TAB_only_indentation): Likewise.
20466         (sc_m4_quote_check): Likewise.
20467         (sc_makefile_path_separator_check): Likewise.
20468         (sc_copyright_check): Likewise.
20469         (sc_Wundef_boolean): Likewise.
20470         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
20471
20472         maint.mk: match 0 or more whitespace-before-function-call '('
20473         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
20474         that have zero or two-and-more spaces between the function name
20475         and the open parenthesis.
20476         (sc_error_message_warn_fatal): Likewise.
20477         (sc_error_message_uppercase): Likewise.
20478         (sc_error_message_period): Likewise.
20479
20480 2010-03-31  Eric Blake  <eblake@redhat.com>
20481
20482         maint.mk: check for [ as well as test
20483         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
20484         Based on a libvirt report by Matthias Bolte.
20485
20486         gnumakefile: don't squelch _version output
20487         * top/GNUmakefile (_version): Create one-shot dependency rather
20488         than using $(shell) when version must be regenerated.
20489         (_autoreconf): Run verbosely, by default.
20490
20491         sys_time: avoid compiler warnings
20492         * lib/sys_time.in.h (includes): Ensure gcc pragma is
20493         unconditional, fixing regression from 2010-03-29.
20494         Reported by Simon Josefsson.
20495
20496 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
20497
20498         maint.mk: s/_header_without_use/_sc_header_without_use/
20499         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
20500         (sc_prohibit_assert_without_use): Use the new name.
20501         (sc_prohibit_close_stream_without_use): Likewise.
20502         (sc_prohibit_getopt_without_use): Likewise.
20503         (sc_prohibit_quotearg_without_use): Likewise.
20504         (sc_prohibit_quote_without_use): Likewise.
20505         (sc_prohibit_long_options_without_use): Likewise.
20506         (sc_prohibit_inttostr_without_use): Likewise.
20507         (sc_prohibit_ignore_value_without_use): Likewise.
20508         (sc_prohibit_error_without_use): Likewise.
20509         (sc_prohibit_xalloc_without_use): Likewise.
20510         (sc_prohibit_hash_without_use): Likewise.
20511         (sc_prohibit_hash_pjw_without_use): Likewise.
20512         (sc_prohibit_safe_read_without_use): Likewise.
20513         (sc_prohibit_argmatch_without_use): Likewise.
20514         (sc_prohibit_canonicalize_without_use): Likewise.
20515         (sc_prohibit_root_dev_ino_without_use): Likewise.
20516         (sc_prohibit_openat_without_use): Likewise.
20517         (sc_prohibit_c_ctype_without_use): Likewise.
20518         (sc_prohibit_signal_without_use): Likewise.
20519         (sc_prohibit_intprops_without_use): Likewise.
20520
20521 2010-03-30  Eric Blake  <eblake@redhat.com>
20522
20523         maint: improve module indicators
20524         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
20525         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
20526         columns, and avoid extra macro expansion.
20527
20528         fdopendir: work around FreeBSD bug
20529         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
20530         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
20531         * modules/dirent (Makefile.am): Substitute it.
20532         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
20533         declaration.
20534         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
20535         fix.
20536         Reported by Christian Weisgerber <naddy@mips.inka.de>.
20537
20538 2010-03-29  Bruno Haible  <bruno@clisp.org>
20539
20540         Emit #pragma system_header after the inclusion guard, not before.
20541         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
20542         guard that spans the entire file, not before. This enables an
20543         optimization in GCC's preprocessor.
20544         * lib/ctype.in.h: Likewise.
20545         * lib/dirent.in.h: Likewise.
20546         * lib/errno.in.h: Likewise.
20547         * lib/float.in.h: Likewise.
20548         * lib/getopt.in.h: Likewise.
20549         * lib/iconv.in.h: Likewise.
20550         * lib/langinfo.in.h: Likewise.
20551         * lib/locale.in.h: Likewise.
20552         * lib/math.in.h: Likewise.
20553         * lib/netdb.in.h: Likewise.
20554         * lib/netinet_in.in.h: Likewise.
20555         * lib/pty.in.h: Likewise.
20556         * lib/sched.in.h: Likewise.
20557         * lib/se-selinux.in.h: Likewise.
20558         * lib/search.in.h: Likewise.
20559         * lib/spawn.in.h: Likewise.
20560         * lib/stdarg.in.h: Likewise.
20561         * lib/stdint.in.h: Likewise.
20562         * lib/string.in.h: Likewise.
20563         * lib/strings.in.h: Likewise.
20564         * lib/sys_file.in.h: Likewise.
20565         * lib/sys_ioctl.in.h: Likewise.
20566         * lib/sys_time.in.h: Likewise.
20567         * lib/sys_times.in.h: Likewise.
20568         * lib/sys_utsname.in.h: Likewise.
20569         * lib/sys_wait.in.h: Likewise.
20570         * lib/sysexits.in.h: Likewise.
20571         * lib/wctype.in.h: Likewise.
20572
20573 2010-03-28  James Youngman  <jay@gnu.org>
20574
20575         save-cwd: don't leak a file descriptor when the caller execs.
20576         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
20577         saved file descriptor.
20578         * modules/save-cwd (Depends-on): Depend on cloexec.
20579
20580 2010-03-29  Bruno Haible  <bruno@clisp.org>
20581
20582         Remove vestiges of fts-lgpl module.
20583         * lib/fts_.h: Assume GNULIB_FTS is 1.
20584         * lib/fts.c: Likewise.
20585         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
20586
20587 2010-03-28  Bruno Haible  <bruno@clisp.org>
20588
20589         Fix definition of tests witness macro.
20590         * gnulib-tool (func_import): Fix definition of witness macro.
20591
20592 2010-03-28  Bruno Haible  <bruno@clisp.org>
20593
20594         Fix ioctl's protoype on glibc systems.
20595         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
20596         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
20597         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
20598         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
20599         signature. If not, arrange to replace the ioctl function.
20600         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
20601         REPLACE_IOCTL.
20602         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
20603         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
20604         Reported by Ludovic Courtès <ludo@gnu.org>.
20605
20606 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
20607
20608         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
20609         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
20610         made it so grep -r --include=GLOB* ... did not work.
20611
20612 2010-03-26  Jim Meyering  <meyering@redhat.com>
20613             Eric Blake  <eblake@redhat.com>
20614
20615         maint.mk: prohibit use of test's -o and -a operators
20616         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
20617
20618 2010-03-28  Bruno Haible  <bruno@clisp.org>
20619
20620         Remove unused GNULIB_XYZ macro definitions.
20621         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
20622         invocation.
20623
20624 2010-03-28  Bruno Haible  <bruno@clisp.org>
20625
20626         Mark privileged tests modules.
20627         * modules/idpriv-drop-tests (Status): New section.
20628         * modules/idpriv-droptemp-tests (Status): New section.
20629
20630 2010-03-28  Bruno Haible  <bruno@clisp.org>
20631
20632         Split C++ tests into separate tests modules.
20633         * modules/dirent-c++-tests: New file, extracted from
20634         modules/dirent-tests.
20635         * modules/dirent-tests: Depend on it.
20636         * modules/fcntl-h-c++-tests: New file, extracted from
20637         modules/fcntl-h-tests.
20638         * modules/fcntl-h-tests: Depend on it.
20639         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
20640         * modules/glob-tests: Depend on it.
20641         * modules/iconv-h-c++-tests: New file, extracted from
20642         modules/iconv-h-tests.
20643         * modules/iconv-h-tests: Depend on it.
20644         * modules/langinfo-c++-tests: New file, extracted from
20645         modules/langinfo-tests.
20646         * modules/langinfo-tests: Depend on it.
20647         * modules/locale-c++-tests: New file, extracted from
20648         modules/locale-tests.
20649         * modules/locale-tests: Depend on it.
20650         * modules/math-c++-tests: New file, extracted from modules/math-tests.
20651         * modules/math-tests: Depend on it.
20652         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
20653         * modules/pty-tests: Depend on it.
20654         * modules/search-c++-tests: New file, extracted from
20655         modules/search-tests.
20656         * modules/search-tests: Depend on it.
20657         * modules/signal-c++-tests: New file, extracted from
20658         modules/signal-tests.
20659         * modules/signal-tests: Depend on it.
20660         * modules/spawn-c++-tests: New file, extracted from
20661         modules/spawn-tests.
20662         * modules/spawn-tests: Depend on it.
20663         * modules/stdio-c++-tests: New file, extracted from
20664         modules/stdio-tests.
20665         * modules/stdio-tests: Depend on it.
20666         * modules/stdlib-c++-tests: New file, extracted from
20667         modules/stdlib-tests.
20668         * modules/stdlib-tests: Depend on it.
20669         * modules/string-c++-tests: New file, extracted from
20670         modules/string-tests.
20671         * modules/string-tests: Depend on it.
20672         * modules/sys_ioctl-c++-tests: New file, extracted from
20673         modules/sys_ioctl-tests.
20674         * modules/sys_ioctl-tests: Depend on it.
20675         * modules/sys_select-c++-tests: New file, extracted from
20676         modules/sys_select-tests.
20677         * modules/sys_select-tests: Depend on it.
20678         * modules/sys_socket-c++-tests: New file, extracted from
20679         modules/sys_socket-tests.
20680         * modules/sys_socket-tests: Depend on it.
20681         * modules/sys_stat-c++-tests: New file, extracted from
20682         modules/sys_stat-tests.
20683         * modules/sys_stat-tests: Depend on it.
20684         * modules/sys_time-c++-tests: New file, extracted from
20685         modules/sys_time-tests.
20686         * modules/sys_time-tests: Depend on it.
20687         * modules/time-c++-tests: New file, extracted from modules/time-tests.
20688         * modules/time-tests: Depend on it.
20689         * modules/unistd-c++-tests: New file, extracted from
20690         modules/unistd-tests.
20691         * modules/unistd-tests: Depend on it.
20692         * modules/wchar-c++-tests: New file, extracted from
20693         modules/wchar-tests.
20694         * modules/wchar-tests: Depend on it.
20695         * modules/wctype-c++-tests: New file, extracted from
20696         modules/wctype-tests.
20697         * modules/wctype-tests: Depend on it.
20698         Reported by Simon Josefsson.
20699
20700 2010-03-28  Bruno Haible  <bruno@clisp.org>
20701
20702         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
20703         * gnulib-tool (func_exists_module): New function, extracted from
20704         func_verify_module.
20705         (func_verify_module): Use it.
20706         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
20707         'foo' only if 'foo' exists.
20708         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
20709         module.
20710
20711 2010-03-28  Bruno Haible  <bruno@clisp.org>
20712
20713         gnulib-tool: Add support for special categories of tests.
20714         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
20715         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
20716         (func_usage): Document them.
20717         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
20718         inc_unportable_tests, inc_all_tests): New variables.
20719         (func_acceptable): Consider these variables.
20720         (func_modules_transitive_closure): Make it work when the 'Status' field
20721         consists of multiple words.
20722         (func_import): Store and restore the values of inc_cxx_tests,
20723         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
20724         inc_all_tests in gnulib-comp.m4.
20725         (func_create_testdir): Set inc_all_tests to true.
20726         * doc/gnulib.texi (Extra tests modules): New section.
20727         Suggested by Jim Meyering.
20728
20729 2010-03-28  Bruno Haible  <bruno@clisp.org>
20730
20731         ansi-c++-opt: Allow turning off the C++ build by default.
20732         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
20733         gl_CXX_CHOICE_DEFAULT_NO is defined.
20734         Requested by Eric Blake.
20735
20736 2010-03-28  Bruno Haible  <bruno@clisp.org>
20737
20738         unistd: Avoid #define replacements in C++ mode.
20739         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
20740         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
20741         setsockopt, shutdown, select): In C++, attach a warning to the function
20742         if possible, rather than #defining the symbol to a dysfunctional alias.
20743         Reported by John W. Eaton <jwe@gnu.org>.
20744
20745 2010-03-28  Bruno Haible  <bruno@clisp.org>
20746
20747         Fix link errors on mingw.
20748         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
20749         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
20750         $(LIBSOCKET).
20751         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
20752         $(LIBSOCKET).
20753
20754 2010-03-28  Bruno Haible  <bruno@clisp.org>
20755             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20756
20757         lib-ignore: Determine different options for different compilers.
20758         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
20759         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
20760         Add comments.
20761         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
20762         * NEWS: Mention the change.
20763
20764 2010-03-27  Bruno Haible  <bruno@clisp.org>
20765
20766         Remove unused GNULIB_XYZ macro definitions.
20767         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
20768         * modules/fseek (configure.ac): Likewise.
20769         * modules/ioctl (configure.ac): Likewise.
20770         * modules/open (configure.ac): Likewise.
20771         * modules/stdlib-safer (configure.ac): Likewise.
20772
20773 2010-03-27  Bruno Haible  <bruno@clisp.org>
20774
20775         Add a remark about certain modules.
20776         * modules/malloc (Comment): New section.
20777         * modules/realloc (Comment): Likewise.
20778         * modules/sigpipe (Comment): Likewise.
20779
20780 2010-03-27  Bruno Haible  <bruno@clisp.org>
20781
20782         Resolve conflict between the two kinds of module indicators.
20783         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
20784         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
20785         * modules/canonicalize (configure.ac): Invoke
20786         gl_MODULE_INDICATOR_FOR_TESTS.
20787         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
20788         GNULIB_XYZ.
20789         * tests/test-dirent-c++.cc: Likewise.
20790         * tests/test-dirent-safer.c: Likewise.
20791         * tests/test-dup2.c: Likewise.
20792         * tests/test-fchdir.c: Likewise.
20793         * tests/test-fcntl-h-c++.cc: Likewise.
20794         * tests/test-getopt.c: Likewise.
20795         * tests/test-getopt.h: Likewise.
20796         * tests/test-langinfo-c++.cc: Likewise.
20797         * tests/test-locale-c++.cc: Likewise.
20798         * tests/test-math-c++.cc: Likewise.
20799         * tests/test-pty-c++.cc: Likewise.
20800         * tests/test-search-c++.cc: Likewise.
20801         * tests/test-signal-c++.cc: Likewise.
20802         * tests/test-spawn-c++.cc: Likewise.
20803         * tests/test-stdio-c++.cc: Likewise.
20804         * tests/test-stdlib-c++.cc: Likewise.
20805         * tests/test-string-c++.cc: Likewise.
20806         * tests/test-sys_ioctl-c++.cc: Likewise.
20807         * tests/test-sys_select-c++.cc: Likewise.
20808         * tests/test-sys_socket-c++.cc: Likewise.
20809         * tests/test-sys_stat-c++.cc: Likewise.
20810         * tests/test-sys_time-c++.cc: Likewise.
20811         * tests/test-time-c++.cc: Likewise.
20812         * tests/test-unistd-c++.cc: Likewise.
20813         * tests/test-wchar-c++.cc: Likewise.
20814         * tests/uninorm/test-u8-nfc.c: Likewise.
20815         * tests/uninorm/test-u8-nfd.c: Likewise.
20816         * tests/uninorm/test-u8-nfkc.c: Likewise.
20817         * tests/uninorm/test-u8-nfkd.c: Likewise.
20818         * tests/uninorm/test-u16-nfc.c: Likewise.
20819         * tests/uninorm/test-u16-nfd.c: Likewise.
20820         * tests/uninorm/test-u16-nfkc.c: Likewise.
20821         * tests/uninorm/test-u16-nfkd.c: Likewise.
20822         * tests/uninorm/test-u32-nfc.c: Likewise.
20823         * tests/uninorm/test-u32-nfc-big.c: Likewise.
20824         * tests/uninorm/test-u32-nfd.c: Likewise.
20825         * tests/uninorm/test-u32-nfd-big.c: Likewise.
20826         * tests/uninorm/test-u32-nfkc.c: Likewise.
20827         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
20828         * tests/uninorm/test-u32-nfkd.c: Likewise.
20829         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
20830         * tests/uninorm/test-u32-normalize-big.c: Likewise.
20831
20832 2010-03-27  Bruno Haible  <bruno@clisp.org>
20833
20834         Distinguish two kinds of module indicators.
20835         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
20836         gl_MODULE_INDICATOR.
20837         (gl_MODULE_INDICATOR): New macro.
20838         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
20839         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
20840         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
20841         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
20842         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
20843         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
20844         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
20845         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
20846         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
20847         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
20848         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
20849         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
20850         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
20851         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
20852         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
20853         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
20854         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
20855         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
20856         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
20857         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
20858         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
20859         * modules/cloexec (configure.ac): Likewise.
20860         * modules/getopt-gnu (configure.ac): Likewise.
20861         * modules/uninorm/u8-normalize (configure.ac): Likewise.
20862         * modules/uninorm/u16-normalize (configure.ac): Likewise.
20863         * modules/uninorm/u32-normalize (configure.ac): Likewise.
20864         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
20865
20866 2010-03-27  Bruno Haible  <bruno@clisp.org>
20867
20868         New module description field 'Comment'.
20869         * gnulib-tool: New option --extract-comment.
20870         (func_usage): Document it.
20871         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
20872         (func_get_comment): New function.
20873         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
20874
20875 2010-03-27  Bruno Haible  <bruno@clisp.org>
20876
20877         Addendum to 2010-02-07 commit.
20878         * gnulib-tool (func_usage): Document --extract-applicability option.
20879
20880 2010-03-27  Bruno Haible  <bruno@clisp.org>
20881
20882         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
20883         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
20884         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
20885         rather than link errors.
20886
20887 2010-03-27  Bruno Haible  <bruno@clisp.org>
20888
20889         Avoid side effects from tests-related modules on the compilation of lib.
20890         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
20891         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
20892         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
20893         parameter. Emit into AM_CPPFLAGS a definition of the designated C
20894         macro.
20895         (func_import): Define a witness macro. Assign it a value that depends
20896         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
20897         tests-related modules.
20898         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
20899         Reported by Jim Meyering.
20900
20901 2010-03-27  Bruno Haible  <bruno@clisp.org>
20902
20903         Factorize common .m4 code.
20904         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
20905         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
20906         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
20907         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
20908         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
20909         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
20910         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
20911         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
20912         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
20913         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
20914         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
20915         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
20916         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
20917         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
20918         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
20919         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
20920         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
20921         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
20922         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
20923         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
20924         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
20925         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
20926         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
20927         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
20928         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
20929         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
20930         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
20931         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
20932         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
20933         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
20934         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
20935         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
20936
20937 2010-03-27  Bruno Haible  <bruno@clisp.org>
20938
20939         Fix a compilation error on Cygwin with g++ >= 4.3.
20940         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
20941         if it is undefined or if we alias it to chmod.
20942         (lstat): Don't warn about the use of this function if it is undefined
20943         or if we alias it to stat.
20944         Reported by Simon Josefsson.
20945
20946 2010-03-27  Bruno Haible  <bruno@clisp.org>
20947
20948         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
20949         * modules/getlogin (configure.ac): Update.
20950
20951         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
20952         * modules/getlogin_r (configure.ac): Update.
20953
20954         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
20955         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
20956         * modules/inet_ntop (configure.ac): Update.
20957
20958         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
20959         * modules/inet_pton (configure.ac): Update.
20960
20961         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
20962         * modules/mbslen (configure.ac): Update.
20963
20964         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
20965         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
20966         * modules/forkpty (configure.ac): Update.
20967         * modules/openpty (configure.ac): Update.
20968
20969 2010-03-26  Simon Josefsson  <simon@josefsson.org>
20970
20971         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
20972         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
20973
20974 2010-03-25  Eric Blake  <eblake@redhat.com>
20975
20976         maint: use pragma consistently across replacement headers
20977         * lib/ctype.in.h (system_header): Hoist for consistent placement.
20978         * lib/dirent.in.h (system_header): Likewise.
20979         * lib/errno.in.h (system_header): Likewise.
20980         * lib/float.in.h (system_header): Likewise.
20981         * lib/getopt.in.h (system_header): Likewise.
20982         * lib/iconv.in.h (system_header): Likewise.
20983         * lib/inttypes.in.h (system_header): Likewise.
20984         * lib/langinfo.in.h (system_header): Likewise.
20985         * lib/locale.in.h (system_header): Likewise.
20986         * lib/math.in.h (system_header): Likewise.
20987         * lib/netdb.in.h (system_header): Likewise.
20988         * lib/netinet_in.in.h (system_header): Likewise.
20989         * lib/pty.in.h (system_header): Likewise.
20990         * lib/sched.in.h (system_header): Likewise.
20991         * lib/se-selinux.in.h (system_header): Likewise.
20992         * lib/search.in.h (system_header): Likewise.
20993         * lib/spawn.in.h (system_header): Likewise.
20994         * lib/stdarg.in.h (system_header): Likewise.
20995         * lib/stdint.in.h (system_header): Likewise.
20996         * lib/string.in.h (system_header): Likewise.
20997         * lib/strings.in.h (system_header): Likewise.
20998         * lib/sys_file.in.h (system_header): Likewise.
20999         * lib/sys_ioctl.in.h (system_header): Likewise.
21000         * lib/sys_socket.in.h (system_header): Likewise.
21001         * lib/sys_times.in.h (system_header): Likewise.
21002         * lib/sys_utsname.in.h (system_header): Likewise.
21003         * lib/sys_wait.in.h (system_header): Likewise.
21004         * lib/sysexits.in.h (system_header): Likewise.
21005         * lib/unistd.in.h (system_header): Likewise.
21006         * lib/wctype.in.h (system_header): Likewise.
21007
21008         arpa/inet: fix mingw compilation warning
21009         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
21010         Reported by Matthew Bolte.
21011
21012 2010-03-25  Bruno Haible  <bruno@clisp.org>
21013
21014         Avoid collision between gnulib wrapper and libintl wrapper.
21015         * lib/printf.c (printf): Don't define if a printf wrapper is already
21016         defined in intl/printf.c.
21017         Reported by Michel Boaventura <michel@michelboaventura.com>.
21018
21019 2010-03-25  Bruno Haible  <bruno@clisp.org>
21020
21021         Use ANSI C.
21022         * lib/readutmp.h (getutent): Provide ANSI C prototype.
21023
21024 2010-03-25  Bruno Haible  <bruno@clisp.org>
21025
21026         Minor formatting changes.
21027         * lib/acosl.c: Insert space before function argument list.
21028         * lib/argz.c: Likewise.
21029         * lib/asinl.c: Likewise.
21030         * lib/expl.c: Likewise.
21031         * lib/gen-uni-tables.c: Likewise.
21032         * lib/gettext.h: Likewise.
21033         * lib/glthread/lock.h: Likewise.
21034         * lib/tanl.c: Likewise.
21035         * lib/uniname/uniname.c: Likewise.
21036         * tests/test-idpriv-drop.c: Likewise.
21037         * tests/test-idpriv-droptemp.c: Likewise.
21038         * tests/test-lock.c: Likewise.
21039         * tests/test-tls.c: Likewise.
21040         * lib/argp-help.c: Insert space before function-like macro argument
21041         list.
21042         * lib/memcmp.c: Likewise.
21043         * tests/test-base64.c: Likewise.
21044         * lib/localename.c: Insert space before sizeof's argument list.
21045         * lib/safe-alloc.h: Likewise.
21046         * lib/file-set.h: Insert space before macro argument list.
21047         * tests/test-argp.c: Likewise.
21048         * lib/argp-namefrob.h: Insert space before function parameter list.
21049         * lib/getaddrinfo.c: Likewise.
21050         * lib/netdb.in.h: Likewise.
21051         * lib/parse-duration.h: Likewise.
21052         * lib/parse-duration.c: Likewise.
21053         * lib/poll.c: Likewise.
21054         * lib/select.c: Likewise.
21055         * lib/trim.h: Likewise.
21056         * tests/test-usleep.c: Likewise.
21057         * lib/ldexpl.c: Insert space before function parameter list and before
21058         function argument list.
21059         * lib/logl.c: Likewise.
21060         * lib/sqrtl.c: Likewise.
21061         * lib/trim.c: Likewise.
21062         * lib/cosl.c: Use GNU style indentation. Insert space before function
21063         argument list.
21064         * lib/sinl.c: Likewise.
21065         * lib/tsearch.c: Insert space after 'for'.
21066         Reported by Jim Meyering.
21067
21068 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
21069
21070         * maint.mk (sc_Wundef_boolean): Check for the presence of the
21071         config header before grepping, as it's not present before
21072         autoreconf/configure are run.  Reported by Simon Josefsson.
21073
21074 2010-03-23  Bruno Haible  <bruno@clisp.org>
21075
21076         pt_chown: Make it work with automake < 1.11.
21077         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
21078         Reported by Simon Josefsson.
21079
21080 2010-03-23  Bruno Haible  <bruno@clisp.org>
21081
21082         pt_chown: Don't depend on GPLed modules.
21083         * lib/pt_chown.c: Don't include idpriv.h.
21084         (main): Don't drop privileges.
21085         * modules/pt_chown (Depends-on): Remove idpriv-drop.
21086         Reported by Simon Josefsson.
21087
21088 2010-03-24  Simon Josefsson  <simon@josefsson.org>
21089
21090         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
21091         suggestions from karl@freefriends.org (Karl Berry).
21092
21093 2010-03-22  Eric Blake  <eblake@redhat.com>
21094
21095         gethostname: further tweaks
21096         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
21097         are overriding gethostname.
21098         Suggested by Bruno Haible.
21099
21100 2010-03-21  Bruno Haible  <bruno@clisp.org>
21101
21102         Fix comments.
21103         * lib/forkpty.c (rpl_forkpty): Fix comment.
21104         * lib/openpty.c (rpl_openpty): Likewise.
21105         Reported by Eric Blake.
21106
21107 2010-03-22  Eric Blake  <eblake@redhat.com>
21108
21109         gethostname: fix build on mingw
21110         * lib/unistd.in.h (includes): Work around fact that mingw
21111         <winsock2.h> re-includes <unistd.h>, by avoiding any
21112         redeclarations if we are being included by <winsock2.h>.
21113         Reported by Matthias Bolte.
21114
21115 2010-03-21  Bruno Haible  <bruno@clisp.org>
21116
21117         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
21118         * lib/forkpty.c (forkpty): New replacement function, from glibc with
21119         modifications.
21120         * lib/pty.in.h (forkpty): Update declaration. Add comments.
21121         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
21122         provide the replacement.
21123         * modules/forkpty (Depends-on): Add openpty, login_tty.
21124         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
21125         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
21126         * doc/glibc-functions/forkpty.texi: More supported platforms.
21127         * config/srclist.txt: Add forkpty.c (commented).
21128
21129 2010-03-21  Bruno Haible  <bruno@clisp.org>
21130
21131         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
21132         (Makefile.am): Verify that PTY_LIB is defined.
21133
21134         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
21135
21136 2010-03-21  Bruno Haible  <bruno@clisp.org>
21137
21138         Tests for module 'login_tty'.
21139         * modules/login_tty-tests: New file.
21140         * tests/test-login_tty.c: New file.
21141
21142         New module 'login_tty'.
21143         * lib/login_tty.c: New file.
21144         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
21145         * modules/login_tty: New file.
21146         * doc/glibc-functions/login_tty.texi: Mention the new module.
21147
21148 2010-03-21  Bruno Haible  <bruno@clisp.org>
21149
21150         login_tty: Documentation.
21151         * doc/glibc-functions/login_tty.texi: New file.
21152         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
21153
21154 2010-03-21  Bruno Haible  <bruno@clisp.org>
21155
21156         pty: Consistent macro naming.
21157         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
21158         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
21159         * modules/pty (configure.ac): Update.
21160
21161 2010-03-21  Bruno Haible  <bruno@clisp.org>
21162
21163         Tests for openpty: Make stricter.
21164         * tests/test-openpty.c (main): Add test of canonical processing and
21165         erase.
21166         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
21167
21168         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
21169         * lib/openpty.c (openpty): New replacement function.
21170         * lib/pty.in.h: Include <termios.h>.
21171         (openpty): Update declaration. Add comments.
21172         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
21173         is not declared, arrange to provide the replacement. Check for _getpty
21174         and posix_openpt.
21175         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
21176         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
21177         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
21178         * modules/pty-tests (test_pty_c___LDADD): New variable.
21179         * doc/glibc-functions/openpty.texi: More supported platforms.
21180
21181 2010-03-21  Bruno Haible  <bruno@clisp.org>
21182
21183         setenv: Tweaks.
21184         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
21185         the test program.
21186         * doc/posix-functions/setenv.texi: Update platforms list.
21187
21188 2010-03-21  Bruno Haible  <bruno@clisp.org>
21189
21190         New module 'unlockpt'.
21191         * lib/unlockpt.c: New file, from glibc with modifications.
21192         * m4/unlockpt.m4: New file.
21193         * modules/unlockpt: New file.
21194         * lib/stdlib.in.h (unlockpt): New declaration.
21195         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
21196         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
21197         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
21198         HAVE_UNLOCKPT.
21199         * doc/posix-functions/unlockpt.texi: Mention the new module.
21200         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
21201         * config/srclist.txt: Add unlockpt.c (commented).
21202
21203 2010-03-21  Jim Meyering  <meyering@redhat.com>
21204
21205         maint.mk: prohibit inclusion of "intprops.h" without use
21206         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
21207
21208 2010-03-21  Bruno Haible  <bruno@clisp.org>
21209
21210         New module 'grantpt'.
21211         * lib/grantpt.c: New file, from glibc with modifications.
21212         * m4/grantpt.m4: New file.
21213         * modules/grantpt: New file.
21214         * lib/stdlib.in.h (grantpt): New declaration.
21215         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
21216         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
21217         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
21218         HAVE_GRANTPT.
21219         * doc/posix-functions/grantpt.texi: Mention the new module.
21220         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
21221         * config/srclist.txt: Add grantpt.c (commented).
21222
21223 2010-03-21  Bruno Haible  <bruno@clisp.org>
21224
21225         New module 'pt_chown'.
21226         * lib/pt_chown.c: New file, from glibc with modifications.
21227         * lib/pty-private.h: New file, from glibc with modifications.
21228         * modules/pt_chown: New file.
21229         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
21230
21231 2010-03-21  Bruno Haible  <bruno@clisp.org>
21232
21233         Tests for module 'ptsname'.
21234         * modules/ptsname-tests: New file.
21235         * tests/test-ptsname.c: New file.
21236
21237         New module 'ptsname'.
21238         * lib/ptsname.c: New file, from glibc with modifications.
21239         * m4/ptsname.m4: New file.
21240         * modules/ptsname: New file.
21241         * lib/stdlib.in.h (ptsname): New declaration.
21242         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
21243         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
21244         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
21245         HAVE_PTSNAME.
21246         * doc/posix-functions/ptsname.texi: Mention the new module.
21247         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
21248         * config/srclist.txt: Add ptsname.c (commented).
21249
21250 2010-03-21  Bruno Haible  <bruno@clisp.org>
21251
21252         Tests for module 'ttyname_r'.
21253         * modules/ttyname_r-tests: New file.
21254         * tests/test-ttyname_r.c: New file.
21255
21256         New module 'ttyname_r'.
21257         * lib/ttyname_r.c: New file.
21258         * m4/ttyname_r.m4: New file.
21259         * modules/ttyname_r: New file.
21260         * lib/unistd.in.h (ttyname_r): New declaration.
21261         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
21262         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
21263         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
21264         HAVE_TTYNAME_R.
21265         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
21266         * doc/posix-functions/ttyname_r.texi: Mention the new module.
21267
21268 2010-03-20  Bruno Haible  <bruno@clisp.org>
21269
21270         signal: Undefine macro definitions in C++ mode.
21271         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
21272         sigfillset): Undefine macro definitions from the system header in C++
21273         mode.
21274         Reported by John W. Eaton <jwe@gnu.org>.
21275
21276 2010-03-20  Bruno Haible  <bruno@clisp.org>
21277
21278         Ensure no #include statements inside extern "C" { ... }.
21279         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
21280         contain #include statements.
21281         * lib/time.in.h: Likewise.
21282
21283 2010-03-20  Bruno Haible  <bruno@clisp.org>
21284
21285         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
21286         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
21287         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
21288         Reported by John W. Eaton <jwe@gnu.org>.
21289
21290 2010-03-20  Bruno Haible  <bruno@clisp.org>
21291
21292         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
21293         Reported by Jim Meyering.
21294
21295 2010-03-20  Bruno Haible  <bruno@clisp.org>
21296
21297         pipe: Set errno upon failure.
21298         * lib/pipe.h: Specify that when -1 is returned, errno is set.
21299         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
21300         errno value in error message.
21301
21302 2010-03-20  Bruno Haible  <bruno@clisp.org>
21303             Jim Meyering  <meyering@redhat.com>
21304
21305         lchown: Avoid "unused variable" warning.
21306         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
21307
21308 2010-03-20  Bruno Haible  <bruno@clisp.org>
21309
21310         Work around unlink() bug on MacOS X 10.5.6.
21311         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
21312         attempting to unlink a parent directory.
21313         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
21314         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
21315         activate for the replacement function.
21316         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
21317
21318 2010-03-20  Bruno Haible  <bruno@clisp.org>
21319
21320         Fix link errors on Solaris 8.
21321         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
21322         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
21323
21324 2010-03-19  Jim Meyering  <meyering@redhat.com>
21325
21326         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
21327         The _LIBC implementation of build_range_exp correctly honors the
21328         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
21329         However, the non-_LIBC implementation would ignore that syntax-bit
21330         flag and return REG_ERANGE unconditionally.
21331         This change makes it honor that flag.
21332         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
21333         Make two pointer parameters "const".
21334         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
21335         (parse_bracket_exp): Update caller.
21336
21337         regex.m4: correct the reversed range endpoint ([b-a]) test
21338         * m4/regex.m4: When requiring that [b-a] evoke failure,
21339         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
21340         test pass once again for x86-based systems.
21341
21342 2010-03-19  Bruno Haible  <bruno@clisp.org>
21343
21344         scandir: Fix link error on Solaris 8.
21345         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
21346         macros.
21347
21348 2010-03-19  Bruno Haible  <bruno@clisp.org>
21349
21350         getusershell: Fix documentation.
21351         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
21352         module.
21353         * doc/glibc-functions/setusershell.texi: Likewise.
21354
21355         getusershell: Provide declaration, missing on Solaris 9.
21356         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
21357         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
21358         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
21359         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
21360         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21361         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
21362         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
21363         HAVE_GETUSERSHELL.
21364         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
21365
21366 2010-03-19  Bruno Haible  <bruno@clisp.org>
21367
21368         wctype: Provide iswblank function.
21369         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
21370         exists and is fine.
21371         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
21372         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
21373         * tests/test-wctype.c (main): Re-enable the iswblank tests.
21374         * doc/posix-functions/iswblank.texi: Update.
21375
21376 2010-03-19  Bruno Haible  <bruno@clisp.org>
21377
21378         Tests of module 'pty' in C++ mode.
21379         * modules/pty-tests: New file.
21380         * tests/test-pty-c++.cc: New file.
21381         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
21382
21383 2010-03-19  Eric Blake  <eblake@redhat.com>
21384
21385         logb: fix documentation
21386         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
21387         1.5 declaration bug.
21388
21389         forkpty, openpty: prefer glibc's const-safe prototype
21390         * lib/forkpty.c (rpl_forkpty): New file.
21391         * lib/openpty.c (rpl_openpty): Likewise.
21392         * modules/forkpty (Files): Distribute it.
21393         * modules/openpty (Files): Likewise.
21394         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
21395         check...
21396         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
21397         replacement for for non-const BSD signature.
21398         * modules/pty (Makefile.am): Substitute witnesses.
21399         * lib/pty.in.h (forkpty, openpty): Declare replacements.
21400         * tests/test-forkpty.c: Update signature check.
21401         * tests/test-openpty.c: Likewise.
21402         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
21403         * doc/glibc-functions/openpty.texi (openpty): Likewise.
21404
21405         forkpty, openpty: split functions into new modules
21406         * modules/pty (Makefile.am): Substitute new witnesses.
21407         (Libraries): Move library detection...
21408         * modules/forkpty: ...into new module.
21409         * modules/openpty: Another new module.
21410         * modules/pty-tests: Rename and split...
21411         * modules/forkpty-tests: ...to this...
21412         * modules/openpty-tests: ...and this.
21413         * tests/test-pty.c: Rename and split...
21414         * tests/test-forkpty.c: ...to this...
21415         * tests/test-openpty.c: ...and this.
21416         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
21417         (gl_PTY): Split library searching...
21418         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
21419         (gl_FORKPTY, gl_OPENPTY): New macros.
21420         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
21421         * NEWS: Mention the split.
21422         * MODULES.html.sh (Misc): Document the modules.
21423         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
21424         * doc/glibc-functions/openpty.texi (openpty): Likewise.
21425
21426         pty: improve replacement header
21427         * lib/pty.in.h: New file.
21428         * modules/pty (Files): Ship it.
21429         (Makefile.am): Always build replacement.
21430         * m4/pty.m4: Rename...
21431         * m4/pty_h.m4: ...to this.
21432         (gl_PTY): Modernize setting of witness macros; update check of
21433         forkpty to take proper advantage of cache.
21434         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
21435
21436         getopt: avoid compiler warning
21437         * lib/getopt.c (attribute_hidden): Remove unused macro.
21438
21439 2010-03-18  Bruno Haible  <bruno@clisp.org>
21440
21441         Fix link errors on Solaris 8.
21442         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
21443         * modules/search-tests (test_search_c___LDADD): Likewise.
21444         * modules/signal-tests (test_signal_c___LDADD): Likewise.
21445         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
21446         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
21447         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
21448         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
21449         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
21450         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
21451
21452 2010-03-18  Bruno Haible  <bruno@clisp.org>
21453
21454         Fix bug introduced on 2010-03-14.
21455         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
21456         (gl_SPAWN_H): Require it.
21457         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
21458         Reported by Simon Josefsson.
21459
21460 2010-03-18  Bruno Haible  <bruno@clisp.org>
21461
21462         Fix typo introduced on 2009-12-31.
21463         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
21464         posix_spawn_file_actions_adddup2.
21465
21466 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
21467         and Eric Blake  <eblake@redhat.com>
21468
21469         test-vc-list-files-git: make more robust
21470         * tests/test-vc-list-files-git.sh: Unset problematic environment
21471         variables.  Chain commands together.
21472
21473 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
21474
21475         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
21476         `AC_CHECK_DECL' invocation.
21477
21478 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
21479
21480         * lib/inttostr.c (inttostr): Make sure the invocation of verify
21481         appears before executable statements. Suggested by Petr Sumbera
21482         <Petr.Sumbera@Sun.COM>.
21483
21484 2010-03-14  Bruno Haible  <bruno@clisp.org>
21485
21486         * tests/test-flock.c (test_exclusive): Comment out a test that causes
21487         portability problems. Instead use a simpler test.
21488         (main): Check that invalid arguments are rejected only on Linux.
21489
21490 2010-03-14  Bruno Haible  <bruno@clisp.org>
21491
21492         Fix bug introduced on 2009-12-31.
21493         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
21494         gl_PREREQ_SYS_H_WINSOCK2 always.
21495         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
21496         SYS_SOCKET_H variable.
21497         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
21498         Update comments.
21499         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
21500         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
21501         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21502         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21503         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
21504
21505 2010-03-14  Bruno Haible  <bruno@clisp.org>
21506
21507         Fix values returned by sinl, cosl.
21508         * lib/trigl.h: Add specification comments.
21509         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
21510         that combines the values from the precomputed table with the values of
21511         the Chebyshev polynomials.
21512
21513 2010-03-14  Bruno Haible  <bruno@clisp.org>
21514
21515         Fix compilation error when modules 'posix_spawn[p]' are not used.
21516         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
21517         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
21518
21519 2010-03-14  Bruno Haible  <bruno@clisp.org>
21520
21521         Fix compilation error on mingw when module 'time_r' is not used.
21522         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
21523         is 1.
21524         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
21525         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
21526         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
21527         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
21528
21529 2010-03-14  Bruno Haible  <bruno@clisp.org>
21530
21531         Fix compilation error with Sun C.
21532         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
21533         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
21534         instead of GCC specific ULONG_LONG_MAX.
21535         * lib/xstrtoll.c: Likewise.
21536         * lib/xstrtoull.c: Likewise.
21537
21538 2010-03-13  Bruno Haible  <bruno@clisp.org>
21539
21540         Allow the user to disable C++ code and tests.
21541         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
21542         (gl_PROG_ANSI_CXX): Require it.
21543
21544 2010-03-13  Bruno Haible  <bruno@clisp.org>
21545
21546         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
21547         cases.
21548
21549 2010-03-13  Bruno Haible  <bruno@clisp.org>
21550
21551         Test that gnulib does not break the standard C++ headers.
21552         * tests/test-locale-c++2.cc: New file.
21553         * modules/locale-tests (Files): Add it.
21554         (Makefile.am): Compile it for test-locale-c++.
21555         * tests/test-math-c++2.cc: New file.
21556         * modules/math-tests (Files): Add it.
21557         (Makefile.am): Compile it for test-math-c++.
21558         * tests/test-signal-c++2.cc: New file.
21559         * modules/signal-tests (Files): Add it.
21560         (Makefile.am): Compile it for test-signal-c++.
21561         * tests/test-stdio-c++2.cc: New file.
21562         * modules/stdio-tests (Files): Add it.
21563         (Makefile.am): Compile it for test-stdio-c++.
21564         * tests/test-stdlib-c++2.cc: New file.
21565         * modules/stdlib-tests (Files): Add it.
21566         (Makefile.am): Compile it for test-stdlib-c++.
21567         * tests/test-string-c++2.cc: New file.
21568         * modules/string-tests (Files): Add it.
21569         (Makefile.am): Compile it for test-string-c++.
21570         * tests/test-time-c++2.cc: New file.
21571         * modules/time-tests (Files): Add it.
21572         (Makefile.am): Compile it for test-time-c++.
21573         Reported by John W. Eaton <jwe@gnu.org>.
21574
21575 2010-03-13  Bruno Haible  <bruno@clisp.org>
21576
21577         * gnulib-tool (func_usage): Clarify which options are available for
21578         --create-testdir and --create-megatestdir.
21579
21580 2010-03-13  Bruno Haible  <bruno@clisp.org>
21581
21582         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
21583         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
21584         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
21585         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
21586         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
21587         when appropriate.
21588         Reported by Jim Meyering.
21589
21590 2010-03-12  Simon Josefsson  <simon@josefsson.org>
21591
21592         * gnulib-tool (func_import): Explain origin of code.
21593
21594 2010-03-12  Bruno Haible  <bruno@clisp.org>
21595
21596         Fix problem with automake's definition of CXXLINK.
21597         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
21598         Reported by Simon Josefsson and Ludovic Courtès.
21599
21600 2010-03-12  Bruno Haible  <bruno@clisp.org>
21601
21602         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
21603         stable releases.
21604
21605 2010-03-11  Bruno Haible  <bruno@clisp.org>
21606
21607         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
21608         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
21609         whether the system provides one variant or multiple variants of the
21610         function.
21611         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
21612         C++ compilers.
21613         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
21614         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
21615         Reported by Jim Meyering.
21616
21617 2010-03-09  Simon Josefsson  <simon@josefsson.org>
21618
21619         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
21620
21621 2010-03-08  Bruno Haible  <bruno@clisp.org>
21622
21623         gnulib-tool: Add support for --libtool in --create-testdir.
21624         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
21625         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
21626
21627 2010-03-08  Eric Blake  <eblake@redhat.com>
21628
21629         gnulib-tool.texi: mention possibility of git submodule
21630         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
21631         submodules.
21632         * doc/.gitignore: Ignore another generated file.
21633
21634 2010-03-08  Karl Berry  <karl@gnu.org>
21635
21636         * doc/gnulib-tool.texi (VCS Issues): Mention third option
21637         of committing gnulib files while skipping others.
21638
21639 2010-03-07  Bruno Haible  <bruno@clisp.org>
21640
21641         Tests of module 'wctype' in C++ mode.
21642         * tests/test-wctype-c++.cc: New file.
21643         * modules/wctype-tests (Files): Add it and tests/signature.h.
21644         (Depends-on): Add ansi-c++-opt.
21645         (Makefile.am): Arrange to compile and run test-wctype-c++.
21646
21647         Tests of module 'wchar' in C++ mode.
21648         * tests/test-wchar-c++.cc: New file.
21649         * modules/wchar-tests (Files): Add it and tests/signature.h.
21650         (Depends-on): Add ansi-c++-opt.
21651         (Makefile.am): Arrange to compile and run test-wchar-c++.
21652         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
21653         gl_MODULE_INDICATOR.
21654
21655         Tests of module 'unistd' in C++ mode.
21656         * tests/test-unistd-c++.cc: New file.
21657         * modules/unistd-tests (Files): Add it and tests/signature.h.
21658         (Depends-on): Add ansi-c++-opt.
21659         (Makefile.am): Arrange to compile and run test-unistd-c++.
21660         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
21661         gl_MODULE_INDICATOR.
21662
21663         Tests of module 'time' in C++ mode.
21664         * tests/test-time-c++.cc: New file.
21665         * modules/time-tests (Files): Add it and tests/signature.h.
21666         (Depends-on): Add ansi-c++-opt.
21667         (Makefile.am): Arrange to compile and run test-time-c++.
21668         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
21669
21670         Tests of module 'sys_time' in C++ mode.
21671         * tests/test-sys_time-c++.cc: New file.
21672         * modules/sys_time-tests (Files): Add it and tests/signature.h.
21673         (Depends-on): Add ansi-c++-opt.
21674         (Makefile.am): Arrange to compile and run test-sys_time-c++.
21675         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
21676         gl_MODULE_INDICATOR.
21677
21678         Tests of module 'sys_stat' in C++ mode.
21679         * tests/test-sys_stat-c++.cc: New file.
21680         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
21681         (Depends-on): Add ansi-c++-opt.
21682         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
21683         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
21684         gl_MODULE_INDICATOR.
21685
21686         Tests of module 'sys_socket' in C++ mode.
21687         * tests/test-sys_socket-c++.cc: New file.
21688         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
21689         (Depends-on): Add ansi-c++-opt.
21690         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
21691         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
21692         gl_MODULE_INDICATOR.
21693
21694         Tests of module 'sys_select' in C++ mode.
21695         * tests/test-sys_select-c++.cc: New file.
21696         * modules/sys_select-tests (Files): Add it and tests/signature.h.
21697         (Depends-on): Add ansi-c++-opt.
21698         (Makefile.am): Arrange to compile and run test-sys_select-c++.
21699         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
21700         gl_MODULE_INDICATOR.
21701
21702         Tests of module 'sys_ioctl' in C++ mode.
21703         * tests/test-sys_ioctl-c++.cc: New file.
21704         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
21705         (Depends-on): Add ansi-c++-opt.
21706         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
21707         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
21708         gl_MODULE_INDICATOR.
21709
21710         Tests of module 'string' in C++ mode.
21711         * tests/test-string-c++.cc: New file.
21712         * modules/string-tests (Files): Add it and tests/signature.h.
21713         (Depends-on): Add ansi-c++-opt.
21714         (Makefile.am): Arrange to compile and run test-string-c++.
21715         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
21716         gl_MODULE_INDICATOR.
21717
21718         Tests of module 'stdlib' in C++ mode.
21719         * tests/test-stdlib-c++.cc: New file.
21720         * modules/stdlib-tests (Files): Add it and tests/signature.h.
21721         (Depends-on): Add ansi-c++-opt.
21722         (Makefile.am): Arrange to compile and run test-stdlib-c++.
21723         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
21724         gl_MODULE_INDICATOR.
21725
21726         Tests of module 'stdio' in C++ mode.
21727         * tests/test-stdio-c++.cc: New file.
21728         * modules/stdio-tests (Files): Add it and tests/signature.h.
21729         (Depends-on): Add ansi-c++-opt.
21730         (Makefile.am): Arrange to compile and run test-stdio-c++.
21731         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
21732         gl_MODULE_INDICATOR.
21733
21734         Tests of module 'spawn' in C++ mode.
21735         * tests/test-spawn-c++.cc: New file.
21736         * modules/spawn-tests (Files): Add it and tests/signature.h.
21737         (Depends-on): Add ansi-c++-opt.
21738         (Makefile.am): Arrange to compile and run test-spawn-c++.
21739         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
21740         gl_MODULE_INDICATOR.
21741
21742         Tests of module 'signal' in C++ mode.
21743         * tests/test-signal-c++.cc: New file.
21744         * modules/signal-tests (Files): Add it and tests/signature.h.
21745         (Depends-on): Add ansi-c++-opt.
21746         (Makefile.am): Arrange to compile and run test-signal-c++.
21747         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
21748         gl_MODULE_INDICATOR.
21749
21750         Tests of module 'search' in C++ mode.
21751         * tests/test-search-c++.cc: New file.
21752         * modules/search-tests (Files): Add it and tests/signature.h.
21753         (Depends-on): Add ansi-c++-opt.
21754         (Makefile.am): Arrange to compile and run test-search-c++.
21755         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
21756         gl_MODULE_INDICATOR.
21757
21758         Tests of module 'math' in C++ mode.
21759         * tests/test-math-c++.cc: New file.
21760         * modules/math-tests (Files): Add it and tests/signature.h.
21761         (Depends-on): Add ansi-c++-opt.
21762         (Makefile.am): Arrange to compile and run test-math-c++.
21763         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
21764
21765         Tests of module 'locale' in C++ mode.
21766         * tests/test-locale-c++.cc: New file.
21767         * modules/locale-tests (Files): Add it and tests/signature.h.
21768         (Depends-on): Add ansi-c++-opt.
21769         (Makefile.am): Arrange to compile and run test-locale-c++.
21770         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
21771         gl_MODULE_INDICATOR.
21772
21773         Tests of module 'langinfo' in C++ mode.
21774         * tests/test-langinfo-c++.cc: New file.
21775         * modules/langinfo-tests (Files): Add it and tests/signature.h.
21776         (Depends-on): Add ansi-c++-opt.
21777         (Makefile.am): Arrange to compile and run test-langinfo-c++.
21778         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
21779         gl_MODULE_INDICATOR.
21780
21781         Tests of module 'iconv-h' in C++ mode.
21782         * tests/test-iconv-h-c++.cc: New file.
21783         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
21784         (Depends-on): Add ansi-c++-opt.
21785         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
21786
21787         Tests of module 'glob' in C++ mode.
21788         * tests/test-glob-c++.cc: New file.
21789         * modules/glob-tests (Files): Add it.
21790         (Depends-on): Add ansi-c++-opt.
21791         (Makefile.am): Arrange to compile and run test-glob-c++.
21792
21793         Tests of module 'fcntl-h' in C++ mode.
21794         * tests/test-fcntl-h-c++.cc: New file.
21795         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
21796         (Depends-on): Add ansi-c++-opt.
21797         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
21798         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
21799         gl_MODULE_INDICATOR.
21800
21801         Tests of module 'dirent' in C++ mode.
21802         * tests/test-dirent-c++.cc: New file.
21803         * modules/dirent-tests (Files): Add it and tests/signature.h.
21804         (Depends-on): Add ansi-c++-opt.
21805         (Makefile.am): Arrange to compile and run test-dirent-c++.
21806         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
21807         gl_MODULE_INDICATOR.
21808
21809         New module 'ansi-c++-opt'.
21810         * modules/ansi-c++-opt: New file.
21811         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
21812
21813         Document C++ namespace mode.
21814         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
21815
21816         wctype: Avoid #define replacements in C++ mode.
21817         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
21818         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
21819         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
21820         In C++, define a namespaced alias symbol.
21821         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
21822         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
21823         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
21824         rule.
21825
21826         wchar: Avoid #define replacements in C++ mode.
21827         * lib/wchar.in.h: Include c++defs.h.
21828         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
21829         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
21830         symbol.
21831         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
21832         * modules/wchar (Depends-on): Add c++defs.
21833         (Makefile.am): Update wchar.h rule.
21834
21835         unistd: Avoid #define replacements in C++ mode.
21836         * lib/unistd.in.h: Include c++defs.h.
21837         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
21838         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
21839         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
21840         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
21841         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
21842         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
21843         symbol.
21844         (environ): Update.
21845         * modules/unistd (Depends-on): Add c++defs.
21846         (Makefile.am): Update unistd.h rule.
21847
21848         time: Avoid #define replacements in C++ mode.
21849         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
21850         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
21851         define a namespaced alias symbol.
21852         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
21853         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
21854         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
21855         * modules/time (Depends-on): Add c++defs, warn-on-use.
21856         (Makefile.am): Update time.h rule.
21857         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
21858         * modules/nanosleep (configure.ac): Likewise.
21859         * modules/strptime (configure.ac): Likewise.
21860         * modules/timegm (configure.ac): Likewise.
21861
21862         sys_time: Avoid #define replacements in C++ mode.
21863         * lib/sys_time.in.h: Include c++defs.h.
21864         (gettimeofday): In C++, define a namespaced alias symbol.
21865         * modules/sys_time (Depends-on): Add c++defs.
21866         (Makefile.am): Update sys/time.h rule.
21867
21868         sys_stat: Avoid #define replacements in C++ mode.
21869         * lib/sys_stat.in.h: Include c++defs.h.
21870         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
21871         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
21872         namespaced alias symbol.
21873         In C++, define a namespaced alias symbol.
21874         * modules/sys_stat (Depends-on): Add c++defs.
21875         (Makefile.am): Update sys/stat.h rule.
21876
21877         sys_socket: Avoid #define replacements in C++ mode.
21878         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
21879         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
21880         definitions also when the system has a <sys/socket.h>.
21881         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
21882         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
21883         In C++, define a namespaced alias symbol.
21884         * modules/sys_socket (Depends-on): Add c++defs.
21885         (Makefile.am): Update sys/socket.h rule.
21886
21887         sys_select: Avoid #define replacements in C++ mode.
21888         * lib/sys_select.in.h: Include c++defs.h. Enable the function
21889         definitions also when the system has a <sys/select.h>.
21890         (select): In C++, define a namespaced alias symbol.
21891         * modules/sys_select (Depends-on): Add c++defs.
21892         (Makefile.am): Update sys/select.h rule.
21893
21894         sys_ioctl: Avoid #define replacements in C++ mode.
21895         * lib/sys_ioctl.in.h: Include c++defs.h.
21896         (ioctl): In C++, define a namespaced alias symbol.
21897         * modules/sys_ioctl (Depends-on): Add c++defs.
21898         (Makefile.am): Update sys/ioctl.h rule.
21899
21900         string: Avoid #define replacements in C++ mode.
21901         * lib/string.in.h: Include c++defs.h.
21902         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
21903         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
21904         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
21905         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
21906         strsignal, strverscmp): In C++, define a namespaced alias symbol.
21907         * modules/string (Depends-on): Add c++defs.
21908         (Makefile.am): Update string.h rule.
21909
21910         stdlib: Avoid #define replacements in C++ mode.
21911         * lib/stdlib.in.h: Include c++defs.h.
21912         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
21913         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
21914         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
21915         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
21916         symbol.
21917         * modules/stdlib (Depends-on): Add c++defs.
21918         (Makefile.am): Update stdlib.h rule.
21919
21920         stdio: Avoid #define replacements in C++ mode.
21921         * lib/stdio.in.h: Include c++defs.h.
21922         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
21923         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
21924         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
21925         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
21926         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
21927         namespaced alias symbol.
21928         * modules/stdio (Depends-on): Add c++defs.
21929         (Makefile.am): Update stdio.h rule.
21930
21931         spawn: Avoid #define replacements in C++ mode.
21932         * lib/spawn.in.h: Include c++defs.h.
21933         (posix_spawn, posix_spawnp, posix_spawnattr_init,
21934         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
21935         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
21936         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
21937         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
21938         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
21939         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
21940         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
21941         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
21942         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
21943         In C++, define a namespaced alias symbol.
21944         * modules/spawn (Depends-on): Add c++defs.
21945         (Makefile.am): Update spawn.h rule.
21946
21947         signal: Avoid #define replacements in C++ mode.
21948         * lib/signal.in.h: Include c++defs.h.
21949         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
21950         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
21951         namespaced alias symbol.
21952         * modules/signal (Depends-on): Add c++defs.
21953         (Makefile.am): Update signal.h rule.
21954
21955         search: Avoid #define replacements in C++ mode.
21956         * lib/search.in.h: Include c++defs.h.
21957         (_gl_search_compar_fn, _gl_search_action_fn): New types.
21958         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
21959         symbol.
21960         * modules/search (Depends-on): Add c++defs.
21961         (Makefile.am): Update search.h rule.
21962
21963         math: Avoid #define replacements in C++ mode.
21964         * lib/math.in.h: Include c++defs.h.
21965         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
21966         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
21967         trunc, truncl): In C++, define a namespaced alias symbol.
21968         * modules/math (Depends-on): Add c++defs.
21969         (Makefile.am): Update math.h rule.
21970
21971         locale: Avoid #define replacements in C++ mode.
21972         * lib/locale.in.h: Include c++defs.h.
21973         (duplocale): In C++, define a namespaced alias symbol.
21974         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
21975         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
21976         * modules/locale (Depends-on): Add c++defs.
21977         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
21978
21979         langinfo: Avoid #define replacements in C++ mode.
21980         * lib/langinfo.in.h: Include c++defs.h.
21981         (nl_langinfo): In C++, define a namespaced alias symbol.
21982         * modules/langinfo (Depends-on): Add c++defs.
21983         (Makefile.am): Update langinfo.h rule.
21984
21985         iconv-h: Avoid #define replacements in C++ mode.
21986         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
21987         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
21988         symbol.
21989         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
21990         whenever iconv is present.
21991         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
21992         (Makefile.am): Update iconv.h rule.
21993
21994         glob: Avoid #define replacements in C++ mode.
21995         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
21996         (_gl_glob_errfunc_fn): New type.
21997         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
21998         symbol.
21999         * modules/glob (Depends-on): Add c++defs, warn-on-use.
22000         (Makefile.am): Update glob.h rule.
22001
22002         fcntl-h: Avoid #define replacements in C++ mode.
22003         * lib/fcntl.in.h: Include c++defs.h.
22004         (fcntl, open, openat): In C++, define a namespaced alias symbol.
22005         * modules/fcntl-h (Depends-on): Add c++defs.
22006         (Makefile.am): Update fcntl.h rule.
22007
22008         dirent: Avoid #define replacements in C++ mode.
22009         * lib/dirent.in.h: Include c++defs.h.
22010         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
22011         namespaced alias symbol.
22012         (dirfd): Update declaration.
22013         * modules/dirent (Depends-on): Add c++defs.
22014         (Makefile.am): Update dirent.h rule.
22015
22016         ctype: Make it usable in C++ code.
22017         * lib/ctype.in.h: Include c++defs.h.
22018         (isblank): Declare as extern "C".
22019         * modules/ctype (Depends-on): Add c++defs.
22020         (Makefile.am): Update ctype.h rule.
22021
22022         New module 'c++defs'.
22023         * modules/c++defs: New file.
22024         * build-aux/c++defs.h: New file.
22025         Reported by John W. Eaton <jwe@gnu.org>.
22026
22027 2010-03-07  Bruno Haible  <bruno@clisp.org>
22028
22029         logb: Provide missing declaration for Cygwin.
22030         * lib/math.in.h (logb): New declaration.
22031         * m4/logb.m4: New file.
22032         * modules/logb (Files): Add m4/logb.m4.
22033         (Depends-on): Add math.
22034         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
22035         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
22036         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
22037         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
22038         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
22039
22040 2010-03-07  Bruno Haible  <bruno@clisp.org>
22041
22042         Fix test-cond link error.
22043         * tests/test-cond.c: Include <stdio.h>.
22044
22045 2010-03-07  Bruno Haible  <bruno@clisp.org>
22046
22047         Fix test-dirent-safer link error.
22048         * modules/dirent-safer-tests (Makefile.am): Define
22049         test_dirent_safer_LDADD.
22050
22051 2010-03-07  Bruno Haible  <bruno@clisp.org>
22052
22053         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
22054         among default module list.
22055
22056 2010-03-07  Bruno Haible  <bruno@clisp.org>
22057
22058         Fix link error on platforms with GNU libiconv.
22059         * modules/unistr/u8-strcoll-tests (Makefile): Define
22060         test_u8_strcoll_LDADD.
22061         * modules/unistr/u16-strcoll-tests (Makefile): Define
22062         test_u16_strcoll_LDADD.
22063         * modules/unistr/u32-strcoll-tests (Makefile): Define
22064         test_u32_strcoll_LDADD.
22065
22066 2010-03-07  Bruno Haible  <bruno@clisp.org>
22067
22068         Use POSIX declarations for socket functions.
22069         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
22070         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
22071         rpl_sendto): Change declaration to match POSIX.
22072         * lib/connect.c (rpl_connect): Likewise.
22073         * lib/accept.c (rpl_accept): Likewise.
22074         * lib/bind.c (rpl_bind): Likewise.
22075         * lib/getpeername.c (rpl_getpeername): Likewise.
22076         * lib/getsockname.c (rpl_getsockname): Likewise.
22077         * lib/recv.c (rpl_recv): Likewise.
22078         * lib/send.c (rpl_send): Likewise.
22079         * lib/recvfrom.c (rpl_recvfrom): Likewise.
22080         * lib/sendto.c (rpl_sendto): Likewise.
22081
22082 2010-03-06  Bruno Haible  <bruno@clisp.org>
22083
22084         Clarify access, euidaccess, faccessat.
22085         * doc/posix-functions/faccessat.texi: Mention security problem under
22086         "Other problems", not "Portability problems".
22087         * doc/posix-functions/access.texi: Likewise. Mention a related security
22088         problem.
22089         * doc/glibc-functions/euidaccess.texi: Mention security problems.
22090         * lib/euidaccess.c: Add comments about platforms.
22091         * lib/unistd.in.h (access, euidaccess): Add warnings.
22092
22093 2010-03-07  Bruno Haible  <bruno@clisp.org>
22094
22095         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
22096         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
22097         (POSIX_SPAWN_SETSCHEDULER): Likewise.
22098         (POSIX_SPAWN_USEVFORK): Define in a way that works when
22099         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
22100         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
22101         declare when POSIX_SPAWN_SETSCHEDULER is zero.
22102         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
22103         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
22104         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
22105         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
22106         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
22107         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
22108         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
22109         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
22110         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
22111         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
22112         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
22113         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
22114         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
22115         Likewise.
22116         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
22117         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
22118         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
22119         Likewise.
22120         * tests/test-spawn.c (main): Make it work when
22121         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
22122
22123 2010-03-07  Bruno Haible  <bruno@clisp.org>
22124
22125         Fix incorrect Makefile.am generation in German locale.
22126         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
22127         Execute sed command with character range in C locale.
22128
22129 2010-03-06  Bruno Haible  <bruno@clisp.org>
22130
22131         Tests for module 'iconv-h'.
22132         * modules/iconv-h-tests: New file.
22133         * tests/test-iconv-h.c: New file.
22134
22135         New module 'iconv-h'.
22136         * modules/iconv-h: New file.
22137         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
22138         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
22139         (configure.ac): Remove gl_ICONV_H.
22140         (Makefile.am): Remove rule for iconv.h.
22141
22142 2010-03-06  Bruno Haible  <bruno@clisp.org>
22143
22144         More consistent naming of *.m4 files.
22145         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
22146         * modules/wctype (Files): Update.
22147
22148         More consistent naming of *.m4 files.
22149         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
22150         * modules/wchar (Files): Update.
22151
22152 2010-03-06  Jim Meyering  <meyering@redhat.com>
22153
22154         euidaccess: relax license to LGPLv2+
22155         * modules/euidaccess (License): Relax to LGPLv2+.
22156
22157 2010-03-06  Bruno Haible  <bruno@clisp.org>
22158
22159         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
22160         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
22161         (Makefile.am): Augment lib_SOURCES instead.
22162
22163 2010-03-04  Jim Meyering  <meyering@redhat.com>
22164
22165         utime: remove obsolete module
22166         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
22167         unnecessary for years, and has been marked as obsolete for 10 months.
22168         * modules/utime: Remove file.
22169         * lib/utime.c: Remove file.
22170         * m4/utime.m4: Remove file.
22171         * m4/utimes-null.m4: Remove file.
22172         * doc/posix-functions/utime.texi (utime): Remove reference to
22173         the module.  Move the sole "fixed by gnulib" item into the
22174         "problems not fixed by Gnulib" list.
22175         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
22176
22177 2010-03-05  Simon Josefsson  <simon@josefsson.org>
22178
22179         * modules/exit (License): Relax license to LGPLv2+.
22180         (Status): Mark as obsolete.
22181         * NEWS: Mention deprecated 'exit' module.
22182         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
22183         of now obsolete 'exit'.
22184
22185 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22186
22187         fts-lgpl: remove unused module
22188         * modules/fts-lgpl: Remove.
22189         * MODULES.html.sh (func_all_modules): Adjust.
22190         * check-module (find_included_lib_files): Adjust.
22191         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
22192
22193 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
22194
22195         copy-acl: enhance Solaris ACL error handling
22196         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
22197         * lib/set-mode-acl.c (qset_acl): Likewise.
22198
22199 2010-03-02  Bruno Haible  <bruno@clisp.org>
22200
22201         spawn: Don't override the system defined values on FreeBSD 8.
22202         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
22203         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
22204         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
22205         if HAVE_POSIX_SPAWN is 1.
22206         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
22207
22208 2010-03-01  Bruno Haible  <bruno@clisp.org>
22209
22210         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
22211         regarding Automake.
22212
22213 2010-02-25  Bruno Haible  <bruno@clisp.org>
22214
22215         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
22216         * gnulib-tool: Define 'echo' as a function only before the ksh alias
22217         setting, not afterwards.
22218         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
22219
22220 2010-02-24  Eric Blake  <eblake@redhat.com>
22221
22222         bootstrap, git-version-gen: use timestamp
22223         * build-aux/git-version-gen (scriptversion): Force UTC.
22224         * build-aux/bootstrap (scriptversion): New variable.
22225
22226         bootstrap: allow older git
22227         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
22228         older than 1.6.4.  Requested by the libvirt project.
22229
22230 2010-02-23  Eric Blake  <eblake@redhat.com>
22231
22232         warn-on-use: work with old autoconf
22233         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
22234         AS_VAR semantics of autoconf 2.60.
22235         Reported by Bruno Haible.
22236
22237         bootstrap: improve some comments
22238         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
22239         clarification comments.
22240
22241         gettimeofday: provide correct function
22242         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
22243         when replacement is declared, otherwise provide gettimeofday.
22244         Reported by Michael Goffioul.
22245
22246 2010-02-23  Jim Meyering  <meyering@redhat.com>
22247
22248         lib-ignore: relax license to "unlimited", not LGPLv2+
22249         * modules/lib-ignore (License): Relax to "unlimited".
22250
22251 2010-02-23  Jim Meyering  <meyering@redhat.com>
22252
22253         lib-ignore: relax license to LGPLv2+
22254         * modules/lib-ignore (License): Relax to LGPLv2+.
22255
22256 2010-02-22  Eric Blake  <eblake@redhat.com>
22257
22258         lseek: avoid bash 3.2 broken pipe bug
22259         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
22260         warning from bash 3.2.
22261         Reported by Ben Pfaff, with analysis from Bruno Haible.
22262
22263         bootstrap: support non-FSF copyright holder
22264         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
22265         bootstrap.conf override of COPYRIGHT_HOLDER.
22266         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
22267
22268         bootstrap: interoperate with gettext 0.14.1
22269         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
22270
22271         bootstrap: allow for alternate submodule location
22272         * build-aux/bootstrap (gnulib_path): New variable; use instead of
22273         hardcoding submodule location.
22274         (gnulib_mk): Allow direct use of Makefile.am.
22275
22276         bootstrap: use GNULIB_SRCDIR to reduce disk usage
22277         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
22278         rather than reconfiguring where the submodule points.
22279
22280         gettimeofday: restore support for platforms that lack function
22281         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
22282         replacement if function is missing.
22283         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
22284         * modules/sys_time (Makefile.am): Substitute it.
22285         * lib/sys_time.in.h (gettimeofday): Check it.
22286         Reported by Michael Goffioul.
22287
22288 2010-02-21  Bruno Haible  <bruno@clisp.org>
22289
22290         * lib/stdio.in.h (obstack_printf): Fix typo.
22291
22292 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
22293
22294         vc-list-files: use bzr ls's -R option
22295         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
22296         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
22297
22298 2010-02-21  Jim Meyering  <meyering@redhat.com>
22299
22300         init.sh: fix EXEEXT shims to work also for names like test-prog
22301         * tests/init.sh: Re-exec a better shell, when needed.
22302         If the current shell lacks support for posix $(...), an init.sh-using
22303         test will now try to find a shell that supports that.  If EXEEXT is
22304         nonempty, we also require support for hyphen-in-alias-name and shell
22305         substitutions like ${var#glob}.  Failure to find such a shell results
22306         in a skipped test.
22307
22308 2010-02-21  Bruno Haible  <bruno@clisp.org>
22309
22310         Really work around around "broken pipe" error message from bash 3.2.
22311         * gnulib-tool (func_reset_sigpipe): Remove function.
22312         (echo): In bash 3.2, define to a function that uses printf.
22313         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
22314
22315 2010-02-20  Bruno Haible  <bruno@clisp.org>
22316
22317         Restore support for automake 1.9.6 with autoconf 2.61.
22318         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
22319         Reported by James Youngman <jay@gnu.org>.
22320
22321 2010-02-20  Bruno Haible  <bruno@clisp.org>
22322
22323         Improve *printf warning condition.
22324         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
22325         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
22326         and the function is overridden due to SIGPIPE emulation.
22327
22328 2010-02-20  Bruno Haible  <bruno@clisp.org>
22329
22330         * lib/stdio.in.h: Tweak comments.
22331
22332 2010-02-19  Bruno Haible  <bruno@clisp.org>
22333
22334         Make it easier to find modules. New gnulib-tool option '--find'.
22335         * gnulib-tool: New option --find.
22336         (func_usage): Document it.
22337         (func_sanitize_modulelist): New function, extracted from
22338         func_all_modules.
22339         (func_all_modules): Invoke it.
22340         * doc/gnulib-tool.texi (Which modules?): New node.
22341
22342 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
22343
22344         * lib/sys_select.in.h: Provide select replacement even if
22345         sys/select.h exists on a system, for Interix.
22346
22347 2010-02-18  Jim Meyering  <meyering@redhat.com>
22348
22349         init.sh: don't use $(...) just yet
22350         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
22351         to accommodate e.g., Solaris' /bin/sh.
22352
22353 2010-02-17  Bruno Haible  <bruno@clisp.org>
22354
22355         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
22356         Reported by Ludovic Courtès <ludo@gnu.org>.
22357
22358 2010-02-16  Simon Josefsson  <simon@josefsson.org>
22359
22360         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
22361         linking with -lintl.
22362
22363 2010-02-17  Simon Josefsson  <simon@josefsson.org>
22364
22365         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
22366         if not provided by the system's netdb.h.  Reported by
22367         ludo@gnu.org (Ludovic Courtès).
22368
22369 2010-02-15  Jim Meyering  <meyering@redhat.com>
22370
22371         init.sh: improve portability and efficiency
22372         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
22373         "dummy" in a for loop.
22374         Use '!', not '^' to select the complement of a character set used
22375         in a "case" statement.
22376         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
22377         Suggestions from Eric Blake.
22378
22379         init.sh: automatically accommodate programs with the .exe suffix
22380         Automatically arrange for an invocation of "prog" to execute the
22381         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
22382         may use the simpler "prog", yet still work when built on a system
22383         that requires specifying the added suffix.
22384         Do this by constructing a function named "prog" that invokes
22385         "prog.exe" for each .exe file in selected directories.
22386         * tests/init.sh (find_exe_basenames_): New function.
22387         (create_exe_shim_functions_): New function.
22388         (path_prepend_): Use it.
22389
22390         maint.mk: mark syntax-check sc_*.m rules as .PHONY
22391         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
22392         "make -t syntax-check" doesn't create a ton of sc_*.m files.
22393
22394 2010-02-14  Jim Meyering  <meyering@redhat.com>
22395
22396         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
22397         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
22398         (sc_prohibit_hash_pjw_without_use): New rule.
22399
22400         maint.mk: allow the default upload destination dir to be overridden
22401         * top/maint.mk (upload_dest_dir_): Define with a default that
22402         preserves the status quo.
22403         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
22404         Reported by Peter Simons.
22405
22406         maint.mk: prohibit inclusion of "hash.h" without_use
22407         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
22408
22409 2010-02-10  Jim Meyering  <meyering@redhat.com>
22410
22411         maint.mk: prohibit inclusion of "ignore-value.h" without_use
22412         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
22413
22414 2010-02-09  Eric Blake  <ebb9@byu.net>
22415         and Bruno Haible  <bruno@clisp.org>
22416
22417         obstack-printf-posix: ensure declaration
22418         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
22419         extracted from gl_FUNC_OBSTACK_PRINTF.
22420         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
22421         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
22422         Likewise.
22423         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
22424         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
22425         0.
22426
22427 2010-02-08  Bruno Haible  <bruno@clisp.org>
22428
22429         gnulib-tool: Fix typo in 2010-02-07 commit.
22430         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
22431         Reported by Eric Blake.
22432
22433 2010-02-07  Bruno Haible  <bruno@clisp.org>
22434
22435         gnulib-tool: Fix up caching patches.
22436         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
22437         option --no-cache. Use associative arrays when supported by the shell.
22438         (sed_comments): New variable.
22439         (modcache): Renamed from do_cache.
22440         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
22441         abbreviate unnecessarily.
22442         (have_associative): New variable.
22443         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
22444         way also for ksh and zsh.
22445         (func_init_sed_convert_to_cache_statements): New function, extracted
22446         from func_cache_lookup_module. Add support for associative arrays.
22447         Don't set the c_MODULE_cached variable here. Ignore all lines before
22448         the first field header. Remove only the final newline, not all trailing
22449         newlines. Support empty fields correctly. Limit the use of 'eval' to
22450         assignments.
22451         (func_get_description, func_get_status, func_get_notice,
22452         func_get_applicability, func_get_filelist, func_get_dependencies,
22453         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
22454         func_get_automake_snippet, func_get_include_directive,
22455         func_get_link_directive, func_get_license, func_get_maintainer):
22456         Update documentation. List the unoptimized code first. Add support for
22457         associative arrays. Limit the use of 'eval' to assignments.
22458         (func_get_applicability): Undo stylistic pessimisations.
22459         (func_get_automake_snippet, func_get_include_directive): Reduce code
22460         duplication.
22461         (func_modules_transitive_closure, func_modules_add_dummy,
22462         func_modules_notice, func_modules_to_filelist, func_add_file,
22463         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
22464         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
22465         func_create_testdir, func_create_megatestdir): Update documentation.
22466
22467 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22468
22469         * gnulib-tool (func_cache_lookup_module): Store the module name
22470         belonging to the cache variable; error out if two different
22471         module names map to the same cache variable name.
22472
22473 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22474
22475         gnulib-tool: Make caching optional.
22476         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
22477         Update matching short versions of --no-changelog.
22478         (func_usage): Update.
22479         (sed_extract_cache_prog): Renamed from ...
22480         (sed_extract_prog): ... this; revert to old extraction script.
22481         (func_get_description, func_get_status)
22482         (func_get_notice, func_get_applicability, func_get_filelist)
22483         (func_get_dependencies, func_get_autoconf_early_snippet)
22484         (func_get_autoconf_snippet, func_get_automake_snippet)
22485         (func_get_include_directive, func_get_link_directive)
22486         (func_get_license, func_get_maintainer): If $do_cache is false,
22487         use old, non-caching extraction scripts.
22488         Suggestion by Bruno Haible.
22489
22490 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22491
22492         gnulib-tool: cache module metainformation.
22493         * gnulib-tool (sed_extract_prog): Match newline before each
22494         header, and rewrite header to a shell variable suffix.
22495         (func_cache_var, func_cache_lookup_module): New functions,
22496         to turn a module name into a cache variable prefix, and to
22497         look up and cache module metainformation.
22498         (func_get_description, func_get_status)
22499         (func_get_notice, func_get_applicability, func_get_filelist)
22500         (func_get_dependencies, func_get_autoconf_early_snippet)
22501         (func_get_autoconf_snippet, func_get_automake_snippet)
22502         (func_get_include_directive, func_get_link_directive)
22503         (func_get_license, func_get_maintainer): Use
22504         func_cache_lookup_module.
22505
22506 2010-02-07  Bruno Haible  <bruno@clisp.org>
22507
22508         fnctl: Fix missing dependency.
22509         * modules/fcntl (Depends-on): Add getdtablesize.
22510         Reported by John W. Eaton <jwe@gnu.org>.
22511
22512 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
22513
22514         Argp: fix recognition of short alias options.
22515
22516         * lib/argp-parse.c (convert_options): Fix improper use of
22517         `|' between character values.
22518         * tests/test-argp.c (group1_option): New alias option
22519         --read (-r).
22520         (group1_parser): Special handling for 'r'.
22521         (test15): New test case.
22522         (test_fun): Add test15.
22523         * tests/test-argp-2.sh: Update expected --help and --usage
22524         outputs.
22525
22526 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
22527
22528         * tests/test-argp.c: Fix indentation.
22529
22530 2010-02-04  Eric Blake  <ebb9@byu.net>
22531
22532         gettimeofday: expose type of second argument
22533         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
22534         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
22535         * tests/test-gettimeofday.c: Use it to silence warning.
22536         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
22537         the issue.
22538
22539 2010-02-03  Jim Meyering  <meyering@redhat.com>
22540
22541         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
22542         * lib/regcomp.c (TYPE_SIGNED): Define.
22543         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
22544
22545         regcomp.c: avoid a new -Wshadow warning
22546         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
22547
22548 2010-02-01  Jim Meyering  <meyering@redhat.com>
22549
22550         removing useless parentheses in cpp #define directives
22551         For motivation, see commit c0221df4, "define STREQ(a,b)
22552         consistently, removing useless parentheses"
22553         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
22554         * lib/mountlist.c (MNT_IGNORE): Likewise.
22555         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
22556
22557 2010-02-01  Eric Blake  <ebb9@byu.net>
22558
22559         sys_time: use link-warning
22560         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
22561         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
22562         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
22563         * modules/sys_time (Depends-on): Add warn-on-use.
22564         (Makefile.am): Always build replacement.
22565         (configure.ac): Update substitutions.
22566         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
22567         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
22568         bother with SYS_TIME_H.
22569         * modules/gettimeofday (configure.ac): Declare indicator.
22570         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
22571         in use.
22572
22573         closein-tests: silence compiler warning
22574         * tests/test-closein.c (main): Ignore fread result.
22575         * modules/closein-tests (Depends-on): Add ignore-value.
22576
22577         tests: silence warning about system return
22578         * tests/test-areadlink-with-size.c (main): Ignore system result.
22579         * tests/test-areadlink.c (main): Likewise.
22580         * tests/test-areadlinkat-with-size.c (main): Likewise.
22581         * tests/test-areadlinkat.c (main): Likewise.
22582         * tests/test-canonicalize-lgpl.c (main): Likewise.
22583         * tests/test-canonicalize.c (main): Likewise.
22584         * tests/test-chown.c (main): Likewise.
22585         * tests/test-fchownat.c (main): Likewise.
22586         * tests/test-fdutimensat.c (main): Likewise.
22587         * tests/test-fstatat.c (main): Likewise.
22588         * tests/test-futimens.c (main): Likewise.
22589         * tests/test-lchown.c (main): Likewise.
22590         * tests/test-link.c (main): Likewise.
22591         * tests/test-linkat.c (main): Likewise.
22592         * tests/test-lstat.c (main): Likewise.
22593         * tests/test-mkdir.c (main): Likewise.
22594         * tests/test-mkdirat.c (main): Likewise.
22595         * tests/test-mkfifo.c (main): Likewise.
22596         * tests/test-mkfifoat.c (main): Likewise.
22597         * tests/test-mknod.c (main): Likewise.
22598         * tests/test-readlink.c (main): Likewise.
22599         * tests/test-remove.c (main): Likewise.
22600         * tests/test-rename.c (main): Likewise.
22601         * tests/test-renameat.c (main): Likewise.
22602         * tests/test-rmdir.c (main): Likewise.
22603         * tests/test-symlink.c (main): Likewise.
22604         * tests/test-symlinkat.c (main): Likewise.
22605         * tests/test-unlink.c (main): Likewise.
22606         * tests/test-unlinkat.c (main): Likewise.
22607         * tests/test-utimens.c (main): Likewise.
22608         * tests/test-utimensat.c (main): Likewise.
22609         * modules/areadlink-tests (Depends-on): Add ignore-value.
22610         * modules/areadlink-with-size-tests (Depends-on): Likewise.
22611         * modules/areadlinkat-tests (Depends-on): Likewise.
22612         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
22613         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
22614         * modules/canonicalize-tests (Depends-on): Likewise.
22615         * modules/chown-tests (Depends-on): Likewise.
22616         * modules/fdutimensat-tests (Depends-on): Likewise.
22617         * modules/futimens-tests (Depends-on): Likewise.
22618         * modules/lchown-tests (Depends-on): Likewise.
22619         * modules/link-tests (Depends-on): Likewise.
22620         * modules/linkat-tests (Depends-on): Likewise.
22621         * modules/lstat-tests (Depends-on): Likewise.
22622         * modules/mkdir-tests (Depends-on): Likewise.
22623         * modules/mkfifo-tests (Depends-on): Likewise.
22624         * modules/mkfifoat-tests (Depends-on): Likewise.
22625         * modules/mknod-tests (Depends-on): Likewise.
22626         * modules/openat-tests (Depends-on): Likewise.
22627         * modules/readlink-tests (Depends-on): Likewise.
22628         * modules/remove-tests (Depends-on): Likewise.
22629         * modules/rename-tests (Depends-on): Likewise.
22630         * modules/renameat-tests (Depends-on): Likewise.
22631         * modules/rmdir-tests (Depends-on): Likewise.
22632         * modules/symlink-tests (Depends-on): Likewise.
22633         * modules/symlinkat-tests (Depends-on): Likewise.
22634         * modules/unlink-tests (Depends-on): Likewise.
22635         * modules/utimens-tests (Depends-on): Likewise.
22636         * modules/utimensat-tests (Depends-on): Likewise.
22637
22638 2010-01-31  Bruno Haible  <bruno@clisp.org>
22639
22640         Perform the same test for many <math.h> functions.
22641         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
22642         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
22643         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
22644         of gl_MATHFUNC.
22645         * modules/acos (configure.ac): Likewise.
22646         * modules/asin (configure.ac): Likewise.
22647         * modules/atan (configure.ac): Likewise.
22648         * modules/atan2 (configure.ac): Likewise.
22649         * modules/cbrt (configure.ac): Likewise.
22650         * modules/copysign (configure.ac): Likewise.
22651         * modules/cos (configure.ac): Likewise.
22652         * modules/cosh (configure.ac): Likewise.
22653         * modules/erf (configure.ac): Likewise.
22654         * modules/erfc (configure.ac): Likewise.
22655         * modules/exp (configure.ac): Likewise.
22656         * modules/fmod (configure.ac): Likewise.
22657         * modules/hypot (configure.ac): Likewise.
22658         * modules/j0 (configure.ac): Likewise.
22659         * modules/j1 (configure.ac): Likewise.
22660         * modules/jn (configure.ac): Likewise.
22661         * modules/lgamma (configure.ac): Likewise.
22662         * modules/log (configure.ac): Likewise.
22663         * modules/log10 (configure.ac): Likewise.
22664         * modules/log1p (configure.ac): Likewise.
22665         * modules/pow (configure.ac): Likewise.
22666         * modules/remainder (configure.ac): Likewise.
22667         * modules/sin (configure.ac): Likewise.
22668         * modules/sinh (configure.ac): Likewise.
22669         * modules/tan (configure.ac): Likewise.
22670         * modules/tanh (configure.ac): Likewise.
22671         * modules/y0 (configure.ac): Likewise.
22672         * modules/y1 (configure.ac): Likewise.
22673         * modules/yn (configure.ac): Likewise.
22674         Suggested by Paolo Bonzini.
22675
22676 2010-01-31  Bruno Haible  <bruno@clisp.org>
22677
22678         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
22679
22680 2010-01-31  Bruno Haible  <bruno@clisp.org>
22681
22682         Work around getdelim() bug on FreeBSD 8.0.
22683         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
22684         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
22685         not work.
22686         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
22687         is 1.
22688         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
22689         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
22690         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
22691         a non-zero size.
22692         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
22693
22694 2010-01-31  Bruno Haible  <bruno@clisp.org>
22695
22696         Work around getline() bug on FreeBSD 8.0.
22697         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
22698         and a non-zero size.
22699         * tests/test-getline.c (main): Likewise.
22700         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
22701         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
22702
22703 2010-01-28  Eric Blake  <ebb9@byu.net>
22704
22705         regex: fix build failure
22706         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
22707         platforms.
22708
22709 2010-01-28  Jim Meyering  <meyering@redhat.com>
22710
22711         regex: do not ignore memory allocation failure
22712         * lib/regex_internal.c (create_cd_newstate): Detect
22713         re_node_set_init_copy failure.   Extracted from glibc commit
22714         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
22715
22716         regex: sync more white-space changes from libc
22717         * lib/regex_internal.c: White-space only changes.
22718         * lib/regexec.c: Likewise.
22719
22720         regex: add many uses of __attribute_warn_unused_result__
22721         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
22722         * lib/regexec.c: Likewise.
22723         Extracted from a messy glibc commit.
22724
22725         regcomp.c: spelling and merge-artifact from glibc
22726         * lib/regcomp.c: Merge remainder of glibc's
22727         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
22728
22729         regcomp.c: sync white-space changes from glibc
22730         * lib/regcomp.c: Merge to accommodate white space
22731         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
22732
22733         regcomp.c: do not ignore internal return values
22734         * lib/regcomp.c: Do not ignore internal return values.
22735         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
22736         but without its white-space changes and spelling fixes.
22737
22738         regex_internal.h: define __attribute_warn_unused_result__
22739         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
22740
22741         maint: add a syntax-check rule to check for vulnerable Makefile.in
22742         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
22743
22744 2010-01-27  Jim Meyering  <meyering@redhat.com>
22745
22746         ncftpput-ftp: clean up spaces
22747         * build-aux/ncftpput-ftp: Make Copyright line consistent.
22748         Remove trailing blanks.
22749
22750 2010-01-27  Simon Josefsson  <simon@josefsson.org>
22751
22752         * build-aux/git-version-gen: Fix copyright statement.
22753         * build-aux/gnupload: Likewise.
22754         * tests/test-arcfour.c: Likewise.
22755         * tests/test-arctwo.c: Likewise.
22756         * tests/test-count-one-bits.c: Likewise.
22757         * tests/test-crc.c: Likewise.
22758         * tests/test-des.c: Likewise.
22759         * tests/test-gc-arcfour.c: Likewise.
22760         * tests/test-gc-arctwo.c: Likewise.
22761         * tests/test-gc-des.c: Likewise.
22762         * tests/test-gc-hmac-md5.c: Likewise.
22763         * tests/test-gc-hmac-sha1.c: Likewise.
22764         * tests/test-gc-md2.c: Likewise.
22765         * tests/test-gc-md4.c: Likewise.
22766         * tests/test-gc-md5.c: Likewise.
22767         * tests/test-gc-pbkdf2-sha1.c: Likewise.
22768         * tests/test-gc-rijndael.c: Likewise.
22769         * tests/test-gc-sha1.c: Likewise.
22770         * tests/test-gc.c: Likewise.
22771         * tests/test-gethostname.c: Likewise.
22772         * tests/test-gettimeofday.c: Likewise.
22773         * tests/test-hash.c: Likewise.
22774         * tests/test-hmac-md5.c: Likewise.
22775         * tests/test-hmac-sha1.c: Likewise.
22776         * tests/test-md2.c: Likewise.
22777         * tests/test-md4.c: Likewise.
22778         * tests/test-md5.c: Likewise.
22779         * tests/test-memchr.c: Likewise.
22780         * tests/test-memchr2.c: Likewise.
22781         * tests/test-memcmp.c: Likewise.
22782         * tests/test-memmem.c: Likewise.
22783         * tests/test-memrchr.c: Likewise.
22784         * tests/test-rawmemchr.c: Likewise.
22785         * tests/test-read-file.c: Likewise.
22786         * tests/test-rijndael.c: Likewise.
22787         * tests/test-sockets.c: Likewise.
22788         * tests/test-strchrnul.c: Likewise.
22789         * tests/test-strstr.c: Likewise.
22790         * tests/test-strtod.c: Likewise.
22791         * build-aux/ncftpput-ftp: Likewise.
22792
22793 2010-01-26  Eric Blake  <ebb9@byu.net>
22794
22795         ignore-value: update recommended header name
22796         * modules/ignore-value (Include): Only use <> for headers that
22797         exist in glibc.
22798
22799 2010-01-26  Jim Meyering  <meyering@redhat.com>
22800
22801         test-userspec.c: avoid compiler warnings
22802         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
22803         and "initialization discards qualifiers..." warnings.
22804         Put the first "uid" in its own scope, and make char* members "const".
22805
22806 2010-01-25  Bruno Haible  <bruno@clisp.org>
22807
22808         gnulib-tool: Make warning diagnostics consistent.
22809         * gnulib-tool (func_warning): New function.
22810         Use it everywhere where gnulib-tool produces output to stderr and it is
22811         not a fatal error.
22812
22813 2010-01-25  Bruno Haible  <bruno@clisp.org>
22814
22815         Fix test dependencies.
22816         * modules/xstrtol-tests (Depends-on): Add inttypes.
22817         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
22818
22819 2010-01-25 Pádraig Brady <P@draigBrady.com>
22820
22821         syntax-check: detect incorrect boolean macro values in config.h
22822         * modules/maintainer-makefile (configure.ac): Parameterize the location
22823         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
22824         The logic is from Eric Blake and the location indicated by Jim Meyering.
22825         Note the more natural CONFIG_HEADER name is prohibited by automake
22826         for backwards compatibility reasons.
22827         * top/maint.mk (sc_Wundef_boolean): New rule.
22828
22829 2010-01-25  Jim Meyering  <meyering@redhat.com>
22830
22831         bootstrap: detect MacOS 10.6's shasum, too
22832         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
22833         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
22834
22835 2010-01-23  Jim Meyering  <meyering@redhat.com>
22836
22837         xstrtoll: new module
22838         * modules/xstrtoll: New file.
22839         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
22840         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
22841         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
22842         ./configure fails if you use this module and lack "long long".
22843         * modules/xstrtoll-tests: New module.
22844         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
22845         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
22846         new init.sh-based test framework.
22847
22848 2010-01-24  Bruno Haible  <bruno@clisp.org>
22849
22850         Tests for module 'yn'.
22851         * modules/yn-tests: New file.
22852         * tests/test-yn.c: New file.
22853
22854         Tests for module 'y1'.
22855         * modules/y1-tests: New file.
22856         * tests/test-y1.c: New file.
22857
22858         Tests for module 'y0'.
22859         * modules/y0-tests: New file.
22860         * tests/test-y0.c: New file.
22861
22862         Tests for module 'tanh'.
22863         * modules/tanh-tests: New file.
22864         * tests/test-tanh.c: New file.
22865
22866         Tests for module 'tan'.
22867         * modules/tan-tests: New file.
22868         * tests/test-tan.c: New file.
22869
22870         Tests for module 'sqrt'.
22871         * modules/sqrt-tests: New file.
22872         * tests/test-sqrt.c: New file.
22873
22874         Tests for module 'sinh'.
22875         * modules/sinh-tests: New file.
22876         * tests/test-sinh.c: New file.
22877
22878         Tests for module 'sin'.
22879         * modules/sin-tests: New file.
22880         * tests/test-sin.c: New file.
22881
22882         Tests for module 'rint'.
22883         * modules/rint-tests: New file.
22884         * tests/test-rint.c: New file.
22885
22886         Tests for module 'remainder'.
22887         * modules/remainder-tests: New file.
22888         * tests/test-remainder.c: New file.
22889
22890         Tests for module 'pow'.
22891         * modules/pow-tests: New file.
22892         * tests/test-pow.c: New file.
22893
22894         Tests for module 'nextafter'.
22895         * modules/nextafter-tests: New file.
22896         * tests/test-nextafter.c: New file.
22897
22898         Tests for module 'modf'.
22899         * modules/modf-tests: New file.
22900         * tests/test-modf.c: New file.
22901
22902         Tests for module 'logb'.
22903         * modules/logb-tests: New file.
22904         * tests/test-logb.c: New file.
22905
22906         Tests for module 'log1p'.
22907         * modules/log1p-tests: New file.
22908         * tests/test-log1p.c: New file.
22909
22910         Tests for module 'log10'.
22911         * modules/log10-tests: New file.
22912         * tests/test-log10.c: New file.
22913
22914         Tests for module 'log'.
22915         * modules/log-tests: New file.
22916         * tests/test-log.c: New file.
22917
22918         Tests for module 'lgamma'.
22919         * modules/lgamma-tests: New file.
22920         * tests/test-lgamma.c: New file.
22921
22922         Tests for module 'ldexp'.
22923         * modules/ldexp-tests: New file.
22924         * tests/test-ldexp.c: New file.
22925
22926         Tests for module 'jn'.
22927         * modules/jn-tests: New file.
22928         * tests/test-jn.c: New file.
22929
22930         Tests for module 'j1'.
22931         * modules/j1-tests: New file.
22932         * tests/test-j1.c: New file.
22933
22934         Tests for module 'j0'.
22935         * modules/j0-tests: New file.
22936         * tests/test-j0.c: New file.
22937
22938         Tests for module 'hypot'.
22939         * modules/hypot-tests: New file.
22940         * tests/test-hypot.c: New file.
22941
22942         Tests for module 'fmod'.
22943         * modules/fmod-tests: New file.
22944         * tests/test-fmod.c: New file.
22945
22946         Tests for module 'fabs'.
22947         * modules/fabs-tests: New file.
22948         * tests/test-fabs.c: New file.
22949
22950         Tests for module 'exp'.
22951         * modules/exp-tests: New file.
22952         * tests/test-exp.c: New file.
22953
22954         Tests for module 'erfc'.
22955         * modules/erfc-tests: New file.
22956         * tests/test-erfc.c: New file.
22957
22958         Tests for module 'erf'.
22959         * modules/erf-tests: New file.
22960         * tests/test-erf.c: New file.
22961
22962         Tests for module 'cosh'.
22963         * modules/cosh-tests: New file.
22964         * tests/test-cosh.c: New file.
22965
22966         Tests for module 'cos'.
22967         * modules/cos-tests: New file.
22968         * tests/test-cos.c: New file.
22969
22970         Tests for module 'copysign'.
22971         * modules/copysign-tests: New file.
22972         * tests/test-copysign.c: New file.
22973
22974         Tests for module 'cbrt'.
22975         * modules/cbrt-tests: New file.
22976         * tests/test-cbrt.c: New file.
22977
22978         Tests for module 'atan2'.
22979         * modules/atan2-tests: New file.
22980         * tests/test-atan2.c: New file.
22981
22982         Tests for module 'atan'.
22983         * modules/atan-tests: New file.
22984         * tests/test-atan.c: New file.
22985
22986         Tests for module 'asin'.
22987         * modules/asin-tests: New file.
22988         * tests/test-asin.c: New file.
22989
22990         Tests for module 'acos'.
22991         * modules/acos-tests: New file.
22992         * tests/test-acos.c: New file.
22993
22994 2010-01-24  Bruno Haible  <bruno@clisp.org>
22995
22996         Fix tests for common <math.h> functions.
22997         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
22998         code snippet that references the function pointer, rather than merely
22999         calling the function. Substitute the FUNC_LIBM variable.
23000         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
23001         * modules/acos (configure.ac): Likewise.
23002         * modules/asin (configure.ac): Likewise.
23003         * modules/atan (configure.ac): Likewise.
23004         * modules/atan2 (configure.ac): Likewise.
23005         * modules/cbrt (configure.ac): Likewise.
23006         * modules/copysign (configure.ac): Likewise.
23007         * modules/cos (configure.ac): Likewise.
23008         * modules/cosh (configure.ac): Likewise.
23009         * modules/erf (configure.ac): Likewise.
23010         * modules/erfc (configure.ac): Likewise.
23011         * modules/exp (configure.ac): Likewise.
23012         * modules/fabs (configure.ac): Likewise.
23013         * modules/fmod (configure.ac): Likewise.
23014         * modules/hypot (configure.ac): Likewise.
23015         * modules/j0 (configure.ac): Likewise.
23016         * modules/j1 (configure.ac): Likewise.
23017         * modules/jn (configure.ac): Likewise.
23018         * modules/ldexp (configure.ac): Likewise.
23019         * modules/lgamma (configure.ac): Likewise.
23020         * modules/log (configure.ac): Likewise.
23021         * modules/log10 (configure.ac): Likewise.
23022         * modules/log1p (configure.ac): Likewise.
23023         * modules/logb (configure.ac): Likewise.
23024         * modules/modf (configure.ac): Likewise.
23025         * modules/nextafter (configure.ac): Likewise.
23026         * modules/pow (configure.ac): Likewise.
23027         * modules/remainder (configure.ac): Likewise.
23028         * modules/rint (configure.ac): Likewise.
23029         * modules/sin (configure.ac): Likewise.
23030         * modules/sinh (configure.ac): Likewise.
23031         * modules/tan (configure.ac): Likewise.
23032         * modules/tanh (configure.ac): Likewise.
23033         * modules/y0 (configure.ac): Likewise.
23034         * modules/y1 (configure.ac): Likewise.
23035         * modules/yn (configure.ac): Likewise.
23036
23037 2010-01-24  Bruno Haible  <bruno@clisp.org>
23038
23039         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
23040         * tests/test-acosl.c (x): New variable.
23041         (main): Store argument in x and fetch it from x.
23042         * tests/test-asinl.c (x): New variable.
23043         (main): Store argument in x and fetch it from x.
23044         * tests/test-atanl.c (x): New variable.
23045         (main): Store argument in x and fetch it from x.
23046         * tests/test-cosl.c (x): New variable.
23047         (main): Store argument in x and fetch it from x.
23048         * tests/test-expl.c (x): New variable.
23049         (main): Store argument in x and fetch it from x.
23050         * tests/test-logl.c (x): New variable.
23051         (main): Store argument in x and fetch it from x.
23052         * tests/test-sinl.c (x): New variable.
23053         (main): Store argument in x and fetch it from x.
23054         * tests/test-sqrtl.c (x): New variable.
23055         (main): Store argument in x and fetch it from x.
23056         * tests/test-tanl.c (x): New variable.
23057         (main): Store argument in x and fetch it from x.
23058
23059 2010-01-24  Bruno Haible  <bruno@clisp.org>
23060
23061         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
23062         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
23063         assignments to the initial TESTS_ENVIRONMENT.
23064         * doc/gnulib.texi (Unit test modules): Document it.
23065         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
23066         TESTS_ENVIRONMENT.
23067         * modules/btowc-tests (Makefile.am): Likewise.
23068         * modules/c-stack-tests (Makefile.am): Likewise.
23069         * modules/c-strcase-tests (Makefile.am): Likewise.
23070         * modules/copy-file-tests (Makefile.am): Likewise.
23071         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
23072         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
23073         * modules/mbrtowc-tests (Makefile.am): Likewise.
23074         * modules/mbscasecmp-tests (Makefile.am): Likewise.
23075         * modules/mbscasestr-tests (Makefile.am): Likewise.
23076         * modules/mbschr-tests (Makefile.am): Likewise.
23077         * modules/mbscspn-tests (Makefile.am): Likewise.
23078         * modules/mbsinit-tests (Makefile.am): Likewise.
23079         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
23080         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
23081         * modules/mbspbrk-tests (Makefile.am): Likewise.
23082         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
23083         * modules/mbsrchr-tests (Makefile.am): Likewise.
23084         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
23085         * modules/mbsspn-tests (Makefile.am): Likewise.
23086         * modules/mbsstr-tests (Makefile.am): Likewise.
23087         * modules/nl_langinfo-tests (Makefile.am): Likewise.
23088         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
23089         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
23090         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
23091         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
23092         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
23093         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
23094         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
23095         * modules/wcrtomb-tests (Makefile.am): Likewise.
23096         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
23097         * modules/wcsrtombs-tests (Makefile.am): Likewise.
23098         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
23099         assignments from TESTS_ENVIRONMENT.
23100         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
23101         augmentation.
23102         * modules/argp-version-etc-tests (Makefile.am): Likewise.
23103         * modules/atexit-tests (Makefile.am): Likewise.
23104         * modules/binary-io-tests (Makefile.am): Likewise.
23105         * modules/closein-tests (Makefile.am): Likewise.
23106         * modules/dprintf-posix-tests (Makefile.am): Likewise.
23107         * modules/exclude-tests (Makefile.am): Likewise.
23108         * modules/fflush-tests (Makefile.am): Likewise.
23109         * modules/fpending-tests (Makefile.am): Likewise.
23110         * modules/fprintf-posix-tests (Makefile.am): Likewise.
23111         * modules/freadahead-tests (Makefile.am): Likewise.
23112         * modules/freadptr-tests (Makefile.am): Likewise.
23113         * modules/freadseek-tests (Makefile.am): Likewise.
23114         * modules/fseek-tests (Makefile.am): Likewise.
23115         * modules/fseeko-tests (Makefile.am): Likewise.
23116         * modules/ftell-tests (Makefile.am): Likewise.
23117         * modules/ftello-tests (Makefile.am): Likewise.
23118         * modules/idpriv-drop-tests (Makefile.am): Likewise.
23119         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
23120         * modules/lseek-tests (Makefile.am): Likewise.
23121         * modules/parse-duration-tests (Makefile.am): Likewise.
23122         * modules/perror-tests (Makefile.am): Likewise.
23123         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
23124         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
23125         * modules/pipe-tests (Makefile.am): Likewise.
23126         * modules/pread-tests (Makefile.am): Likewise.
23127         * modules/printf-posix-tests (Makefile.am): Likewise.
23128         * modules/select-tests (Makefile.am): Likewise.
23129         * modules/sigpipe-tests (Makefile.am): Likewise.
23130         * modules/tsearch-tests (Makefile.am): Likewise.
23131         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
23132         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
23133         * modules/uniname/uniname-tests (Makefile.am): Likewise.
23134         * modules/uniwidth/width-tests (Makefile.am): Likewise.
23135         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
23136         * modules/version-etc-tests (Makefile.am): Likewise.
23137         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
23138         * modules/vprintf-posix-tests (Makefile.am): Likewise.
23139         * modules/xalloc-die-tests (Makefile.am): Likewise.
23140         * modules/xprintf-posix-tests (Makefile.am): Likewise.
23141         * modules/xstrtoimax-tests (Makefile.am): Likewise.
23142         * modules/xstrtol-tests (Makefile.am): Likewise.
23143         * modules/xstrtoumax-tests (Makefile.am): Likewise.
23144         * modules/yesno-tests (Makefile.am): Likewise.
23145         Suggested by Jim Meyering.
23146
23147 2010-01-24  Bruno Haible  <bruno@clisp.org>
23148
23149         More documentation.
23150         * doc/gnulib.texi (Writing modules): New chapter.
23151         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
23152         the new chapter.
23153
23154 2010-01-24  Jim Meyering  <meyering@redhat.com>
23155
23156         maint.mk: do not prepend "./" after filtering
23157         * top/maint.mk (_prepend_srcdir_prefix): New variable
23158         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
23159         "./" when $(srcdir) is ".".
23160
23161         define STREQ(a,b) consistently, removing useless parentheses
23162         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
23163         since the only risk is that "a" or "b" contains an unparenthesized
23164         comma, but if either did that, STREQ would have 3 or more arguments.
23165         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
23166         * lib/fts.c (STREQ): Remove unnecessary parentheses.
23167         * lib/hash-triple.c (STREQ): Likewise.
23168         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
23169         * lib/getugroups.c (STREQ): Likewise.
23170
23171 2010-01-23  Jim Meyering  <meyering@redhat.com>
23172
23173         maint.mk: fix syntax-check in a non-srcdir build directory
23174         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
23175         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
23176
23177 2010-01-22  Jim Meyering  <meyering@redhat.com>
23178
23179         userspec: add unit tests
23180         * tests/test-userspec.c: New file.
23181         * modules/userspec-tests: Likewise.
23182
23183 2010-01-21  Jim Meyering  <meyering@redhat.com>
23184
23185         maint.mk: handle source file names containing "." robustly
23186         * top/maint.mk (_dot_escaped_srcdir): Define.
23187         (VC_LIST): Use it in LHS of sed substitution.
23188
23189 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
23190
23191         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
23192         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
23193         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
23194         from a non-srcdir build.
23195
23196 2010-01-20  Eric Blake  <ebb9@byu.net>
23197
23198         warn-on-use: use instead of link-warning
23199         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
23200         * modules/unistd (Depends-on, Makefile.am): Likewise.
23201         * modules/arpa_inet (Depends-on): Replace link-warning with
23202         warn-on-use.
23203         (Makefile.am): Update rules accordingly.
23204         * modules/ctype (Depends-on, Makefile.am): Likewise.
23205         * modules/dirent (Depends-on, Makefile.am): Likewise.
23206         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
23207         * modules/inttypes (Depends-on, Makefile.am): Likewise.
23208         * modules/langinfo (Depends-on, Makefile.am): Likewise.
23209         * modules/locale (Depends-on, Makefile.am): Likewise.
23210         * modules/math (Depends-on, Makefile.am): Likewise.
23211         * modules/search (Depends-on, Makefile.am): Likewise.
23212         * modules/signal (Depends-on, Makefile.am): Likewise.
23213         * modules/spawn (Depends-on, Makefile.am): Likewise.
23214         * modules/stdlib (Depends-on, Makefile.am): Likewise.
23215         * modules/string (Depends-on, Makefile.am): Likewise.
23216         * modules/strings (Depends-on, Makefile.am): Likewise.
23217         * modules/sys_file (Depends-on, Makefile.am): Likewise.
23218         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
23219         * modules/sys_select (Depends-on, Makefile.am): Likewise.
23220         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
23221         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
23222         * modules/sys_times (Depends-on, Makefile.am): Likewise.
23223         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
23224         * modules/wchar (Depends-on, Makefile.am): Likewise.
23225         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
23226         should be poisoned.
23227         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
23228         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
23229         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
23230         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
23231         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
23232         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
23233         * m4/math_h.m4 (gl_MATH_H): Likewise.
23234         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
23235         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
23236         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
23237         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
23238         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
23239         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
23240         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
23241         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
23242         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
23243         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23244         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
23245         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
23246         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
23247         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
23248         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
23249         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
23250         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
23251         GL_LINK_WARNING.
23252         * lib/ctype.in.h: Likewise.
23253         * lib/dirent.in.h: Likewise.
23254         * lib/fcntl.in.h: Likewise.
23255         * lib/inttypes.in.h: Likewise.
23256         * lib/langinfo.in.h: Likewise.
23257         * lib/locale.in.h: Likewise.
23258         * lib/math.in.h: Likewise.
23259         * lib/search.in.h: Likewise.
23260         * lib/signal.in.h: Likewise.
23261         * lib/spawn.in.h: Likewise.
23262         * lib/stdio.in.h: Likewise.
23263         * lib/stdlib.in.h: Likewise.
23264         * lib/string.in.h: Likewise.
23265         * lib/strings.in.h: Likewise.
23266         * lib/sys_file.in.h: Likewise.
23267         * lib/sys_ioctl.in.h: Likewise.
23268         * lib/sys_select.in.h: Likewise.
23269         * lib/sys_socket.in.h: Likewise.
23270         * lib/sys_stat.in.h: Likewise.
23271         * lib/sys_times.in.h: Likewise.
23272         * lib/sys_utsname.in.h: Likewise.
23273         * lib/unistd.in.h: Likewise.
23274         * lib/wchar.in.h: Likewise.
23275
23276 2010-01-20  Bruno Haible  <bruno@clisp.org>
23277
23278         Avoid duplicate -lm.
23279         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
23280         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
23281         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
23282         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
23283         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
23284         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
23285         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
23286         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
23287         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
23288         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
23289         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
23290         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
23291         Reported by Paolo Bonzini.
23292
23293 2010-01-19  Bruno Haible  <bruno@clisp.org>
23294
23295         langinfo, nl_langinfo: Relicense under LGPLv2+.
23296         * modules/langinfo (License): Change to LGPLv2+.
23297         * modules/nl_langinfo (License): Likewise.
23298         Patch by David Lutterkort <lutter@redhat.com>.
23299
23300 2010-01-19  Bruno Haible  <bruno@clisp.org>
23301
23302         Avoid compilation error with cc on OSF/1 5.1.
23303         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
23304         statement, not before.
23305         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23306
23307 2010-01-18  Bruno Haible  <bruno@clisp.org>
23308
23309         Avoid a link error due to the __printf__ symbol.
23310         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
23311         and 2.6.x.
23312         (__format__, __printf__): Remove definitions.
23313         * lib/argp-fmtstream.h: Likewise.
23314         * lib/argp.h: Likewise.
23315         * lib/error.h: Likewise.
23316         * lib/vasnprintf.h: Likewise.
23317         * lib/xprintf.h: Likewise.
23318         * lib/xvasprintf.h: Likewise.
23319         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23320
23321 2010-01-18  Bruno Haible  <bruno@clisp.org>
23322
23323         Tests for module 'tanl'.
23324         * modules/tanl-tests: New file.
23325         * tests/test-tanl.c: New file.
23326
23327         Tests for module 'sqrtl'.
23328         * modules/sqrtl-tests: New file.
23329         * tests/test-sqrtl.c: New file.
23330
23331         Tests for module 'sinl'.
23332         * modules/sinl-tests: New file.
23333         * tests/test-sinl.c: New file.
23334
23335         Tests for module 'logl'.
23336         * modules/logl-tests: New file.
23337         * tests/test-logl.c: New file.
23338
23339         Tests for module 'expl'.
23340         * modules/expl-tests: New file.
23341         * tests/test-expl.c: New file.
23342
23343         Tests for module 'cosl'.
23344         * modules/cosl-tests: New file.
23345         * tests/test-cosl.c: New file.
23346
23347         Tests for module 'atanl'.
23348         * modules/atanl-tests: New file.
23349         * tests/test-atanl.c: New file.
23350
23351         Tests for module 'asinl'.
23352         * modules/asinl-tests: New file.
23353         * tests/test-asinl.c: New file.
23354
23355         Tests for module 'acosl'.
23356         * modules/acosl-tests: New file.
23357         * tests/test-acosl.c: New file.
23358
23359         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
23360         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
23361         tanl): Use the standard gnulib idiom.
23362         * lib/cosl.c: Don't include trigl.c and sincosl.c.
23363         * lib/sinl.c: Likewise.
23364         * lib/tanl.c: Don't include trigl.c.
23365         (kernel_tanl): Make static.
23366         * lib/sincosl.c: Include trigl.h first.
23367         * lib/trigl.c: Likewise.
23368         * m4/acosl.m4: New file.
23369         * m4/asinl.m4: New file.
23370         * m4/atanl.m4: New file.
23371         * m4/cosl.m4: New file.
23372         * m4/expl.m4: New file.
23373         * m4/logl.m4: New file.
23374         * m4/sinl.m4: New file.
23375         * m4/sqrtl.m4: New file.
23376         * m4/tanl.m4: New file.
23377         * m4/mathl.m4: Remove file.
23378         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
23379         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
23380         Don't initialize GNULIB_MATHL.
23381         * modules/acosl: New file.
23382         * modules/asinl: New file.
23383         * modules/atanl: New file.
23384         * modules/cosl: New file.
23385         * modules/expl: New file.
23386         * modules/logl: New file.
23387         * modules/sinl: New file.
23388         * modules/sqrtl: New file.
23389         * modules/tanl: New file.
23390         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
23391         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
23392         substitute GNULIB_MATHL.
23393         * modules/mathl: Rewritten.
23394         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
23395         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
23396         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
23397         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
23398         * doc/posix-functions/expl.texi: Mention the 'expl' module.
23399         * doc/posix-functions/logl.texi: Mention the 'logl' module.
23400         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
23401         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
23402         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
23403
23404 2010-01-18  Bruno Haible  <bruno@clisp.org>
23405
23406         sqrt: Make gl_FUNC_SQRT requirable.
23407         * m4/sqrt.m4: New file.
23408         * modules/sqrt (Files): Add it.
23409         (configure.ac): Invoke gl_FUNC_SQRT.
23410
23411 2010-01-18  Bruno Haible  <bruno@clisp.org>
23412
23413         New modules for common <math.h> functions.
23414         * m4/mathfunc.m4: New file.
23415         * modules/acos: New file.
23416         * modules/asin: New file.
23417         * modules/atan: New file.
23418         * modules/atan2: New file.
23419         * modules/cbrt: New file.
23420         * modules/copysign: New file.
23421         * modules/cos: New file.
23422         * modules/cosh: New file.
23423         * modules/erf: New file.
23424         * modules/erfc: New file.
23425         * modules/exp: New file.
23426         * modules/fabs: New file.
23427         * modules/fmod: New file.
23428         * modules/hypot: New file.
23429         * modules/j0: New file.
23430         * modules/j1: New file.
23431         * modules/jn: New file.
23432         * modules/ldexp: New file.
23433         * modules/lgamma: New file.
23434         * modules/log: New file.
23435         * modules/log10: New file.
23436         * modules/log1p: New file.
23437         * modules/logb: New file.
23438         * modules/modf: New file.
23439         * modules/nextafter: New file.
23440         * modules/pow: New file.
23441         * modules/remainder: New file.
23442         * modules/rint: New file.
23443         * modules/sin: New file.
23444         * modules/sinh: New file.
23445         * modules/sqrt: New file.
23446         * modules/tan: New file.
23447         * modules/tanh: New file.
23448         * modules/y0: New file.
23449         * modules/y1: New file.
23450         * modules/yn: New file.
23451         * doc/posix-functions/acos.texi: Mention the 'acos' module.
23452         * doc/posix-functions/asin.texi: Mention the 'asin' module.
23453         * doc/posix-functions/atan.texi: Mention the 'atan' module.
23454         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
23455         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
23456         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
23457         * doc/posix-functions/cos.texi: Mention the 'cos' module.
23458         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
23459         * doc/posix-functions/erf.texi: Mention the 'erf' module.
23460         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
23461         * doc/posix-functions/exp.texi: Mention the 'exp' module.
23462         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
23463         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
23464         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
23465         * doc/posix-functions/j0.texi: Mention the 'j0' module.
23466         * doc/posix-functions/j1.texi: Mention the 'j1' module.
23467         * doc/posix-functions/jn.texi: Mention the 'jn' module.
23468         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
23469         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
23470         * doc/posix-functions/log.texi: Mention the 'log' module.
23471         * doc/posix-functions/log10.texi: Mention the 'log10' module.
23472         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
23473         * doc/posix-functions/logb.texi: Mention the 'logb' module.
23474         * doc/posix-functions/modf.texi: Mention the 'modf' module.
23475         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
23476         * doc/posix-functions/pow.texi: Mention the 'pow' module.
23477         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
23478         * doc/posix-functions/rint.texi: Mention the 'rint' module.
23479         * doc/posix-functions/sin.texi: Mention the 'sin' module.
23480         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
23481         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
23482         * doc/posix-functions/tan.texi: Mention the 'tan' module.
23483         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
23484         * doc/posix-functions/y0.texi: Mention the 'y0' module.
23485         * doc/posix-functions/y1.texi: Mention the 'y1' module.
23486         * doc/posix-functions/yn.texi: Mention the 'yn' module.
23487
23488 2010-01-18  Jim Meyering  <meyering@redhat.com>
23489
23490         ignore-value: relax license to LGPLv2+
23491         * modules/ignore-value (License): Relax to LGPLv2+.
23492
23493         getdate: don't leak when TZ contains two or more '"'s
23494         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
23495         double quote in TZ after the first one.
23496
23497         readtokens: do not leak internal token_lengths buffer
23498         * lib/readtokens.c (readtokens): Free the local, lengths,
23499         when the supplied "token_lengths" parameter is NULL.
23500
23501 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23502
23503         Fix a couple of missing LIBTHREAD link failures on AIX.
23504         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
23505         $(LIBTHREAD).
23506         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
23507
23508         Link test-poll against INET_PTON_LIB.
23509         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
23510         for inet_pton on Solaris 10.
23511
23512 2010-01-17  Bruno Haible  <bruno@clisp.org>
23513
23514         unistdio/*-sprintf: Fix typo in module description.
23515         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
23516         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
23517         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
23518         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
23519         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
23520         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
23521         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
23522         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23523
23524 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23525
23526         gnulib-tool: fix filelist for AIX, HP-UX ksh.
23527         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
23528         variables in shell case patterns, for AIX and HP-UX ksh.
23529
23530         Split large sed scripts, for HP-UX sed.
23531         * modules/stdio: Split sed scripts around 50 sed commands,
23532         to avoid HP-UX limit of 99 commands, in the near future.
23533         * modules/string: Likewise.
23534         * modules/unistd: Likewise.
23535
23536         gnulib-tool: avoid writing in the current directory.
23537         * gnulib-tool (func_emit_lib_Makefile_am)
23538         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
23539         not in the current directory, so concurrent gnulib-tool
23540         instances do not interfere.
23541
23542 2010-01-16  Jim Meyering  <meyering@redhat.com>
23543
23544         doc: update users.txt
23545         * users.txt: Add grep.
23546         (diffutils, gzip): Update URLs.
23547
23548 2010-01-12  Bruno Haible  <bruno@clisp.org>
23549
23550         posix_spawn: Avoid test failure on Cygwin.
23551         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
23552         characters.
23553         Reported by Simon Josefsson.
23554
23555 2010-01-12  Bruno Haible  <bruno@clisp.org>
23556
23557         * tests/test-cond.c (main): When skipping the test, show the reason.
23558
23559 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23560
23561         * lib/striconv.c (str_cd_iconv): Avoid if before free.
23562
23563 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23564
23565         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
23566         VC_LIST_ALWAYS_EXCLUDE_REGEX.
23567
23568 2010-01-12  Eric Blake  <ebb9@byu.net>
23569
23570         build: guarantee AS_VAR_IF
23571         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
23572         (gl_AS_VAR_IF): Move...
23573         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
23574         Reported by Simon Josefsson.
23575
23576 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23577
23578         * lib/stdio.in.h: Fix typo.
23579
23580 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23581
23582         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
23583         libgpg-error.
23584
23585 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23586
23587         * tests/test-xalloc-die.sh: Use $EXEEXT.
23588
23589 2010-01-12  Simon Josefsson  <simon@josefsson.org>
23590             Bruno Haible  <bruno@clisp.org>
23591
23592         getlogin, getlogin_r: Avoid test failure.
23593         * tests/test-getlogin.c: Include <stdio.h>.
23594         (main): Skip the test when the function fails because stdin is not a
23595         tty.
23596         * tests/test-getlogin_r.c: Include <stdio.h>.
23597         (main): Skip the test when the function fails because stdin is not a
23598         tty.
23599
23600 2010-01-11  Eric Blake  <ebb9@byu.net>
23601
23602         tests: avoid more large file warnings
23603         * tests/test-fflush.c: Avoid warning about ftell use.
23604         * tests/test-fseek.c: Avoid warning about fseek use.
23605
23606 2010-01-10  Bruno Haible  <bruno@clisp.org>
23607
23608         nproc: Work better on Linux when /proc and /sys are not mounted.
23609         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
23610         as lower bound when, on glibc/Linux systems,
23611         sysconf (_SC_NPROCESSORS_CONF) returns 1.
23612         Suggested by Pádraig Brady <P@draigbrady.com>.
23613         Reported by Dmitry V. Levin <ldv@altlinux.org>.
23614
23615         nproc: Refactor.
23616         * lib/nproc.c (num_processors_via_affinity_mask): New function,
23617         extracted from num_processors.
23618         (num_processors): Call it.
23619
23620 2010-01-11  Jim Meyering  <meyering@redhat.com>
23621
23622         utimecmp: avoid new warning from upcoming gcc-4.5.0
23623         * lib/utimecmp.c (BILLION): Define using #define rather than an
23624         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
23625
23626 2010-01-11  Eric Blake  <ebb9@byu.net>
23627
23628         math: add portability warnings for classification macros
23629         * modules/math (Depends-on): Add warn-on-use.
23630         (Makefile.am): Provide new substitutions.
23631         * m4/math_h.m4 (gl_MATH_H): Require inline.
23632         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
23633         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
23634         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
23635         implement warnings.
23636
23637         unistd: warn on use of environ without module
23638         * modules/unistd (Depends-on): Add warn-on-use.
23639         (Makefile.am): Provide new substitutions.
23640         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
23641         * lib/unistd.in.h (environ): Wrap with a warning helper function.
23642
23643         stdio: warn on suspicious uses
23644         * modules/stdio (Depends-on): Add warn-on-use.
23645         (Makefile.am): Provide new substitutions.
23646         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
23647         fseeko.
23648         * lib/stdio.in.h (gets): Always warn on use.
23649         (fseek, ftell): Adjust when warnings are issued, and honor
23650         _GL_NO_LARGE_FILES as a way to silence the warning.
23651         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
23652         any warning about large file offsets.
23653         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
23654         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
23655         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
23656         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
23657         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
23658         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
23659         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
23660         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
23661
23662         warn-on-use: new module
23663         * modules/warn-on-use: New file.
23664         * build-aux/warn-on-use.h: Likewise.
23665         * m4/warn-on-use.m4: Likewise.
23666         * MODULES.html.sh (Support for building): Mention it.
23667
23668 2010-01-10  Bruno Haible  <bruno@clisp.org>
23669
23670         Tests for module 'unistr/u32-strdup'.
23671         * modules/unistr/u32-strdup-tests: New file.
23672         * tests/unistr/test-u32-strdup.c: New file.
23673
23674         Tests for module 'unistr/u16-strdup'.
23675         * modules/unistr/u16-strdup-tests: New file.
23676         * tests/unistr/test-u16-strdup.c: New file.
23677
23678         Tests for module 'unistr/u8-strdup'.
23679         * modules/unistr/u8-strdup-tests: New file.
23680         * tests/unistr/test-u8-strdup.c: New file.
23681         * tests/unistr/test-strdup.h: New file.
23682
23683         Tests for module 'unistr/u32-strncmp'.
23684         * modules/unistr/u32-strncmp-tests: New file.
23685         * tests/unistr/test-u32-strncmp.c: New file.
23686
23687         Tests for module 'unistr/u16-strncmp'.
23688         * modules/unistr/u16-strncmp-tests: New file.
23689         * tests/unistr/test-u16-strncmp.c: New file.
23690
23691         Tests for module 'unistr/u8-strncmp'.
23692         * modules/unistr/u8-strncmp-tests: New file.
23693         * tests/unistr/test-u8-strncmp.c: New file.
23694         * tests/unistr/test-strncmp.h: New file.
23695
23696         Tests for module 'unistr/u32-strcoll'.
23697         * modules/unistr/u32-strcoll-tests: New file.
23698         * tests/unistr/test-u32-strcoll.c: New file.
23699
23700         Tests for module 'unistr/u16-strcoll'.
23701         * modules/unistr/u16-strcoll-tests: New file.
23702         * tests/unistr/test-u16-strcoll.c: New file.
23703
23704         Tests for module 'unistr/u8-strcoll'.
23705         * modules/unistr/u8-strcoll-tests: New file.
23706         * tests/unistr/test-u8-strcoll.c: New file.
23707
23708         Tests for module 'unistr/u32-strcmp'.
23709         * modules/unistr/u32-strcmp-tests: New file.
23710         * tests/unistr/test-u32-strcmp.c: New file.
23711         * tests/unistr/test-u32-strcmp.h: New file.
23712
23713         Tests for module 'unistr/u16-strcmp'.
23714         * modules/unistr/u16-strcmp-tests: New file.
23715         * tests/unistr/test-u16-strcmp.c: New file.
23716         * tests/unistr/test-u16-strcmp.h: New file.
23717
23718         Tests for module 'unistr/u8-strcmp'.
23719         * modules/unistr/u8-strcmp-tests: New file.
23720         * tests/unistr/test-u8-strcmp.c: New file.
23721         * tests/unistr/test-u8-strcmp.h: New file.
23722         * tests/unistr/test-strcmp.h: New file.
23723
23724         Tests for module 'unistr/u32-strncat'.
23725         * modules/unistr/u32-strncat-tests: New file.
23726         * tests/unistr/test-u32-strncat.c: New file.
23727
23728         Tests for module 'unistr/u16-strncat'.
23729         * modules/unistr/u16-strncat-tests: New file.
23730         * tests/unistr/test-u16-strncat.c: New file.
23731
23732         Tests for module 'unistr/u8-strncat'.
23733         * modules/unistr/u8-strncat-tests: New file.
23734         * tests/unistr/test-u8-strncat.c: New file.
23735         * tests/unistr/test-strncat.h: New file.
23736
23737         Tests for module 'unistr/u32-strcat'.
23738         * modules/unistr/u32-strcat-tests: New file.
23739         * tests/unistr/test-u32-strcat.c: New file.
23740
23741         Tests for module 'unistr/u16-strcat'.
23742         * modules/unistr/u16-strcat-tests: New file.
23743         * tests/unistr/test-u16-strcat.c: New file.
23744
23745         Tests for module 'unistr/u8-strcat'.
23746         * modules/unistr/u8-strcat-tests: New file.
23747         * tests/unistr/test-u8-strcat.c: New file.
23748         * tests/unistr/test-strcat.h: New file.
23749
23750         Tests for module 'unistr/u32-stpncpy'.
23751         * modules/unistr/u32-stpncpy-tests: New file.
23752         * tests/unistr/test-u32-stpncpy.c: New file.
23753
23754         Tests for module 'unistr/u16-stpncpy'.
23755         * modules/unistr/u16-stpncpy-tests: New file.
23756         * tests/unistr/test-u16-stpncpy.c: New file.
23757
23758         Tests for module 'unistr/u8-stpncpy'.
23759         * modules/unistr/u8-stpncpy-tests: New file.
23760         * tests/unistr/test-u8-stpncpy.c: New file.
23761         * tests/unistr/test-stpncpy.h: New file.
23762
23763         Tests for module 'unistr/u32-strncpy'.
23764         * modules/unistr/u32-strncpy-tests: New file.
23765         * tests/unistr/test-u32-strncpy.c: New file.
23766
23767         Tests for module 'unistr/u16-strncpy'.
23768         * modules/unistr/u16-strncpy-tests: New file.
23769         * tests/unistr/test-u16-strncpy.c: New file.
23770
23771         Tests for module 'unistr/u8-strncpy'.
23772         * modules/unistr/u8-strncpy-tests: New file.
23773         * tests/unistr/test-u8-strncpy.c: New file.
23774         * tests/unistr/test-strncpy.h: New file.
23775
23776         Tests for module 'unistr/u32-stpcpy'.
23777         * modules/unistr/u32-stpcpy-tests: New file.
23778         * tests/unistr/test-u32-stpcpy.c: New file.
23779
23780         Tests for module 'unistr/u16-stpcpy'.
23781         * modules/unistr/u16-stpcpy-tests: New file.
23782         * tests/unistr/test-u16-stpcpy.c: New file.
23783
23784         Tests for module 'unistr/u8-stpcpy'.
23785         * modules/unistr/u8-stpcpy-tests: New file.
23786         * tests/unistr/test-u8-stpcpy.c: New file.
23787         * tests/unistr/test-stpcpy.h: New file.
23788
23789         Tests for module 'unistr/u32-strcpy'.
23790         * modules/unistr/u32-strcpy-tests: New file.
23791         * tests/unistr/test-u32-strcpy.c: New file.
23792
23793         Tests for module 'unistr/u16-strcpy'.
23794         * modules/unistr/u16-strcpy-tests: New file.
23795         * tests/unistr/test-u16-strcpy.c: New file.
23796
23797         Tests for module 'unistr/u8-strcpy'.
23798         * modules/unistr/u8-strcpy-tests: New file.
23799         * tests/unistr/test-u8-strcpy.c: New file.
23800         * tests/unistr/test-strcpy.h: New file.
23801
23802         Tests for module 'unistr/u32-strnlen'.
23803         * modules/unistr/u32-strnlen-tests: New file.
23804         * tests/unistr/test-u32-strnlen.c: New file.
23805
23806         Tests for module 'unistr/u16-strnlen'.
23807         * modules/unistr/u16-strnlen-tests: New file.
23808         * tests/unistr/test-u16-strnlen.c: New file.
23809
23810         Tests for module 'unistr/u8-strnlen'.
23811         * modules/unistr/u8-strnlen-tests: New file.
23812         * tests/unistr/test-u8-strnlen.c: New file.
23813         * tests/unistr/test-strnlen.h: New file.
23814
23815         Tests for module 'unistr/u32-strlen'.
23816         * modules/unistr/u32-strlen-tests: New file.
23817         * tests/unistr/test-u32-strlen.c: New file.
23818
23819         Tests for module 'unistr/u16-strlen'.
23820         * modules/unistr/u16-strlen-tests: New file.
23821         * tests/unistr/test-u16-strlen.c: New file.
23822
23823         Tests for module 'unistr/u8-strlen'.
23824         * modules/unistr/u8-strlen-tests: New file.
23825         * tests/unistr/test-u8-strlen.c: New file.
23826
23827         Tests for module 'unistr/u32-prev'.
23828         * modules/unistr/u32-prev-tests: New file.
23829         * tests/unistr/test-u32-prev.c: New file.
23830
23831         Tests for module 'unistr/u16-prev'.
23832         * modules/unistr/u16-prev-tests: New file.
23833         * tests/unistr/test-u16-prev.c: New file.
23834
23835         Tests for module 'unistr/u8-prev'.
23836         * modules/unistr/u8-prev-tests: New file.
23837         * tests/unistr/test-u8-prev.c: New file.
23838
23839         Tests for module 'unistr/u32-next'.
23840         * modules/unistr/u32-next-tests: New file.
23841         * tests/unistr/test-u32-next.c: New file.
23842
23843         Tests for module 'unistr/u16-next'.
23844         * modules/unistr/u16-next-tests: New file.
23845         * tests/unistr/test-u16-next.c: New file.
23846
23847         Tests for module 'unistr/u8-next'.
23848         * modules/unistr/u8-next-tests: New file.
23849         * tests/unistr/test-u8-next.c: New file.
23850
23851         Tests for module 'unistr/u32-strmbtouc'.
23852         * modules/unistr/u32-strmbtouc-tests: New file.
23853         * tests/unistr/test-u32-strmbtouc.c: New file.
23854
23855         Tests for module 'unistr/u16-strmbtouc'.
23856         * modules/unistr/u16-strmbtouc-tests: New file.
23857         * tests/unistr/test-u16-strmbtouc.c: New file.
23858
23859         Tests for module 'unistr/u8-strmbtouc'.
23860         * modules/unistr/u8-strmbtouc-tests: New file.
23861         * tests/unistr/test-u8-strmbtouc.c: New file.
23862
23863         Tests for module 'unistr/u32-strmblen'.
23864         * modules/unistr/u32-strmblen-tests: New file.
23865         * tests/unistr/test-u32-strmblen.c: New file.
23866
23867         Tests for module 'unistr/u16-strmblen'.
23868         * modules/unistr/u16-strmblen-tests: New file.
23869         * tests/unistr/test-u16-strmblen.c: New file.
23870
23871         Tests for module 'unistr/u8-strmblen'.
23872         * modules/unistr/u8-strmblen-tests: New file.
23873         * tests/unistr/test-u8-strmblen.c: New file.
23874
23875         Tests for module 'unistr/u32-cpy-alloc'.
23876         * modules/unistr/u32-cpy-alloc-tests: New file.
23877         * tests/unistr/test-u32-cpy-alloc.c: New file.
23878
23879         Tests for module 'unistr/u16-cpy-alloc'.
23880         * modules/unistr/u16-cpy-alloc-tests: New file.
23881         * tests/unistr/test-u16-cpy-alloc.c: New file.
23882
23883         Tests for module 'unistr/u8-cpy-alloc'.
23884         * modules/unistr/u8-cpy-alloc-tests: New file.
23885         * tests/unistr/test-u8-cpy-alloc.c: New file.
23886         * tests/unistr/test-cpy-alloc.h: New file.
23887
23888         Tests for module 'unistr/u32-mbsnlen'.
23889         * modules/unistr/u32-mbsnlen-tests: New file.
23890         * tests/unistr/test-u32-mbsnlen.c: New file.
23891
23892         Tests for module 'unistr/u16-mbsnlen'.
23893         * modules/unistr/u16-mbsnlen-tests: New file.
23894         * tests/unistr/test-u16-mbsnlen.c: New file.
23895
23896         Tests for module 'unistr/u8-mbsnlen'.
23897         * modules/unistr/u8-mbsnlen-tests: New file.
23898         * tests/unistr/test-u8-mbsnlen.c: New file.
23899
23900         Tests for module 'unistr/u32-chr'.
23901         * modules/unistr/u32-chr-tests: New file.
23902         * tests/unistr/test-u32-chr.c: New file.
23903
23904         Tests for module 'unistr/u16-chr'.
23905         * modules/unistr/u16-chr-tests: New file.
23906         * tests/unistr/test-u16-chr.c: New file.
23907
23908         Tests for module 'unistr/u8-chr'.
23909         * modules/unistr/u8-chr-tests: New file.
23910         * tests/unistr/test-u8-chr.c: New file.
23911         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
23912
23913         Tests for module 'unistr/u32-cmp2'.
23914         * modules/unistr/u32-cmp2-tests: New file.
23915         * tests/unistr/test-u32-cmp2.c: New file.
23916
23917         Tests for module 'unistr/u16-cmp2'.
23918         * modules/unistr/u16-cmp2-tests: New file.
23919         * tests/unistr/test-u16-cmp2.c: New file.
23920
23921         Tests for module 'unistr/u8-cmp2'.
23922         * modules/unistr/u8-cmp2-tests: New file.
23923         * tests/unistr/test-u8-cmp2.c: New file.
23924         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
23925
23926         Tests for module 'unistr/u32-cmp'.
23927         * modules/unistr/u32-cmp-tests: New file.
23928         * tests/unistr/test-u32-cmp.c: New file.
23929
23930         Tests for module 'unistr/u16-cmp'.
23931         * modules/unistr/u16-cmp-tests: New file.
23932         * tests/unistr/test-u16-cmp.c: New file.
23933
23934         Tests for module 'unistr/u8-cmp'.
23935         * modules/unistr/u8-cmp-tests: New file.
23936         * tests/unistr/test-u8-cmp.c: New file.
23937         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
23938
23939         Tests for module 'unistr/u32-set'.
23940         * modules/unistr/u32-set-tests: New file.
23941         * tests/unistr/test-u32-set.c: New file.
23942
23943         Tests for module 'unistr/u16-set'.
23944         * modules/unistr/u16-set-tests: New file.
23945         * tests/unistr/test-u16-set.c: New file.
23946
23947         Tests for module 'unistr/u8-set'.
23948         * modules/unistr/u8-set-tests: New file.
23949         * tests/unistr/test-u8-set.c: New file.
23950         * tests/unistr/test-set.h: New file.
23951
23952         Tests for module 'unistr/u32-move'.
23953         * modules/unistr/u32-move-tests: New file.
23954         * tests/unistr/test-u32-move.c: New file.
23955
23956         Tests for module 'unistr/u16-move'.
23957         * modules/unistr/u16-move-tests: New file.
23958         * tests/unistr/test-u16-move.c: New file.
23959
23960         Tests for module 'unistr/u8-move'.
23961         * modules/unistr/u8-move-tests: New file.
23962         * tests/unistr/test-u8-move.c: New file.
23963         * tests/unistr/test-move.h: New file.
23964
23965         Tests for module 'unistr/u32-cpy'.
23966         * modules/unistr/u32-cpy-tests: New file.
23967         * tests/unistr/test-u32-cpy.c: New file.
23968
23969         Tests for module 'unistr/u16-cpy'.
23970         * modules/unistr/u16-cpy-tests: New file.
23971         * tests/unistr/test-u16-cpy.c: New file.
23972
23973         Tests for module 'unistr/u8-cpy'.
23974         * modules/unistr/u8-cpy-tests: New file.
23975         * tests/unistr/test-u8-cpy.c: New file.
23976         * tests/unistr/test-cpy.h: New file.
23977
23978 2010-01-09  Bruno Haible  <bruno@clisp.org>
23979
23980         Tests for module 'unistr/u32-uctomb'.
23981         * modules/unistr/u32-uctomb-tests: New file.
23982         * tests/unistr/test-u32-uctomb.c: New file.
23983
23984         Tests for module 'unistr/u16-uctomb'.
23985         * modules/unistr/u16-uctomb-tests: New file.
23986         * tests/unistr/test-u16-uctomb.c: New file.
23987
23988         Tests for module 'unistr/u8-uctomb'.
23989         * modules/unistr/u8-uctomb-tests: New file.
23990         * tests/unistr/test-u8-uctomb.c: New file.
23991
23992         Tests for module 'unistr/u32-mbtoucr'.
23993         * modules/unistr/u32-mbtoucr-tests: New file.
23994         * tests/unistr/test-u32-mbtoucr.c: New file.
23995
23996         Tests for module 'unistr/u16-mbtoucr'.
23997         * modules/unistr/u16-mbtoucr-tests: New file.
23998         * tests/unistr/test-u16-mbtoucr.c: New file.
23999
24000         Tests for module 'unistr/u8-mbtoucr'.
24001         * modules/unistr/u8-mbtoucr-tests: New file.
24002         * tests/unistr/test-u8-mbtoucr.c: New file.
24003
24004         Tests for module 'unistr/u32-mbtouc'.
24005         * modules/unistr/u32-mbtouc-tests: New file.
24006         * tests/unistr/test-u32-mbtouc.c: New file.
24007
24008         Tests for module 'unistr/u16-mbtouc'.
24009         * modules/unistr/u16-mbtouc-tests: New file.
24010         * tests/unistr/test-u16-mbtouc.c: New file.
24011
24012         Tests for module 'unistr/u8-mbtouc'.
24013         * modules/unistr/u8-mbtouc-tests: New file.
24014         * tests/unistr/test-u8-mbtouc.c: New file.
24015
24016         Tests for module 'unistr/u32-mbtouc-unsafe'.
24017         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
24018         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
24019         * tests/unistr/test-u32-mbtouc.h: New file.
24020
24021         Tests for module 'unistr/u16-mbtouc-unsafe'.
24022         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
24023         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
24024         * tests/unistr/test-u16-mbtouc.h: New file.
24025
24026         Tests for module 'unistr/u8-mbtouc-unsafe'.
24027         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
24028         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
24029         * tests/unistr/test-u8-mbtouc.h: New file.
24030
24031         Tests for module 'unistr/u32-mblen'.
24032         * modules/unistr/u32-mblen-tests: New file.
24033         * tests/unistr/test-u32-mblen.c: New file.
24034
24035         Tests for module 'unistr/u16-mblen'.
24036         * modules/unistr/u16-mblen-tests: New file.
24037         * tests/unistr/test-u16-mblen.c: New file.
24038
24039         Tests for module 'unistr/u8-mblen'.
24040         * modules/unistr/u8-mblen-tests: New file.
24041         * tests/unistr/test-u8-mblen.c: New file.
24042
24043         Tests for module 'unistr/u32-to-u16'.
24044         * modules/unistr/u32-to-u16-tests: New file.
24045         * tests/unistr/test-u32-to-u16.c: New file.
24046
24047         Tests for module 'unistr/u32-to-u8'.
24048         * modules/unistr/u32-to-u8-tests: New file.
24049         * tests/unistr/test-u32-to-u8.c: New file.
24050
24051         Tests for module 'unistr/u16-to-u32'.
24052         * modules/unistr/u16-to-u32-tests: New file.
24053         * tests/unistr/test-u16-to-u32.c: New file.
24054
24055         Tests for module 'unistr/u16-to-u8'.
24056         * modules/unistr/u16-to-u8-tests: New file.
24057         * tests/unistr/test-u16-to-u8.c: New file.
24058
24059         Tests for module 'unistr/u8-to-u32'.
24060         * modules/unistr/u8-to-u32-tests: New file.
24061         * tests/unistr/test-u8-to-u32.c: New file.
24062
24063         Tests for module 'unistr/u8-to-u16'.
24064         * modules/unistr/u8-to-u16-tests: New file.
24065         * tests/unistr/test-u8-to-u16.c: New file.
24066
24067         Tests for module 'unistr/u32-check'.
24068         * modules/unistr/u32-check-tests: New file.
24069         * tests/unistr/test-u32-check.c: New file.
24070
24071         Tests for module 'unistr/u16-check'.
24072         * modules/unistr/u16-check-tests: New file.
24073         * tests/unistr/test-u16-check.c: New file.
24074
24075         Tests for module 'unistr/u8-check'.
24076         * modules/unistr/u8-check-tests: New file.
24077         * tests/unistr/test-u8-check.c: New file.
24078
24079         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
24080         (category_equals): New function.
24081         (main): Add more tests.
24082         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
24083
24084         * tests/unictype/test-bidi_byname.c (main): Add more tests.
24085
24086 2010-01-10  Bruno Haible  <bruno@clisp.org>
24087
24088         unistr/u*-strcoll: Try harder to distinguish different strings.
24089         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
24090         compare s1 and s2 to see if they are different.
24091
24092 2010-01-10  Bruno Haible  <bruno@clisp.org>
24093
24094         unistr/u*-stpncpy: Fix the return value.
24095         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
24096         description of the return value consistent with stpncpy in glibc.
24097         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
24098         written non-NUL unit.
24099
24100 2010-01-10  Bruno Haible  <bruno@clisp.org>
24101
24102         unistr/u*-next: Add missing dependencies.
24103         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
24104         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
24105         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
24106
24107 2010-01-10  Bruno Haible  <bruno@clisp.org>
24108
24109         unistr/u8-mbsnlen: Fix return value for incomplete character.
24110         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
24111         u8_mblen.
24112         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
24113         Remove unistr/u8-mblen.
24114         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
24115         u16_mblen.
24116         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
24117         Remove unistr/u16-mblen.
24118
24119 2010-01-10  Bruno Haible  <bruno@clisp.org>
24120
24121         wchar: Fix compilation error when <wchar.h> is used from coreutils.
24122         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
24123         Reported by Brian Gough <bjg@gnu.org> and
24124         Chris Clayton <chris2553@googlemail.com> via
24125         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
24126
24127 2010-01-09  Bruno Haible  <bruno@clisp.org>
24128
24129         unistr/u16-to-u32: Reject invalid input.
24130         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
24131         u16_mbtouc.
24132         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
24133         Remove unistr/u16-mbtouc.
24134
24135         unistr/u16-to-u8: Reject invalid input.
24136         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
24137         u16_mbtouc.
24138         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
24139         Remove unistr/u16-mbtouc.
24140
24141         unistr/u8-to-u32: Reject invalid input.
24142         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
24143         u8_mbtouc.
24144         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
24145         Remove unistr/u8-mbtouc.
24146
24147         unistr/u8-to-u16: Reject invalid input.
24148         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
24149         u8_mbtouc.
24150         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
24151         Remove unistr/u8-mbtouc.
24152
24153 2010-01-09  Bruno Haible  <bruno@clisp.org>
24154
24155         Tests for module 'getlogin'.
24156         * modules/getlogin-tests: New file.
24157         * tests/test-getlogin.c: New file.
24158
24159         New module 'getlogin'.
24160         * lib/unistd.in.h (getlogin): New declaration.
24161         * lib/getlogin.c: New file.
24162         * m4/getlogin.m4: New file.
24163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
24164         HAVE_GETLOGIN.
24165         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
24166         HAVE_GETLOGIN.
24167         * modules/getlogin: New file.
24168         * doc/posix-functions/getlogin.texi: Mention the new module.
24169         Reported by John W. Eaton <jwe@gnu.org>.
24170
24171 2010-01-09  Bruno Haible  <bruno@clisp.org>
24172
24173         getlogin_r: Support for native Windows.
24174         * lib/getlogin_r.c: Include <windows.h>
24175         (getlogin_r): Implement for native Windows.
24176         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
24177         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
24178         via John W. Eaton <jwe@gnu.org>.
24179
24180 2010-01-09  Bruno Haible  <bruno@clisp.org>
24181
24182         getlogin_r: Small fixes.
24183         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
24184         succeeds.
24185         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
24186         before testing whether getlogin_r is declared. No need to set
24187         HAVE_DECL_GETLOGIN_R to 1.
24188         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
24189
24190 2010-01-09  Bruno Haible  <bruno@clisp.org>
24191
24192         * lib/unistd.in.h (getlogin_r): Add comment.
24193
24194 2010-01-09  Bruno Haible  <bruno@clisp.org>
24195
24196         Tests for module 'getlogin_r'.
24197         * modules/getlogin_r-tests: New file.
24198         * tests/test-getlogin_r.c: New file.
24199
24200 2010-01-09  Jim Meyering  <meyering@redhat.com>
24201
24202         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
24203         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
24204         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
24205
24206 2010-01-08  Simon Josefsson  <simon@josefsson.org>
24207
24208         * lib/dup2.c (rpl_dup2): Improve comment.
24209
24210 2010-01-08  Eric Blake  <ebb9@byu.net>
24211
24212         maint.mk: allow packages to add makefile @@ exceptions
24213         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
24214         (sc_makefile_check): Rename...
24215         (sc_makefile_at_at_check): ...to this, and use hook.
24216
24217         dup2: work around mingw bug
24218         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
24219         Reported by Simon Josefsson.
24220
24221 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
24222
24223         glob: Fix C++ compilation.
24224         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
24225         C++.
24226
24227 2010-01-07  Bruno Haible  <bruno@clisp.org>
24228
24229         Fix indentation of wctype.in.h, broken since 2007-01-06.
24230         * lib/wctype.in.h: Fix indentation of preprocessor directives.
24231
24232 2010-01-07  Bruno Haible  <bruno@clisp.org>
24233
24234         mbslen: Avoid collision with system function.
24235         * lib/string.in.h [MirBSD]: Include <wchar.h>.
24236         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
24237         * m4/mbslen.m4: New file.
24238         * modules/mbslen (Files): Add it.
24239         (configure.ac): Invoke gl_MBSLEN.
24240         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
24241         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
24242         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
24243         via Ian Beckwith <ianb@erislabs.net>.
24244
24245 2010-01-07  Bruno Haible  <bruno@clisp.org>
24246
24247         dirent: Document the last fix.
24248         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
24249
24250 2010-01-07  Bruno Haible  <bruno@clisp.org>
24251
24252         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
24253         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
24254         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
24255         va_list are defined.
24256         * doc/posix-headers/stdio.texi: Document the bug of missing types.
24257         Reported by Eric Blake.
24258
24259 2010-01-07  Bruno Haible  <bruno@clisp.org>
24260
24261         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
24262         * modules/xlist (Depends-on): Add 'list',
24263         * modules/xoset (Depends-on): Add 'oset'.
24264         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24265
24266 2010-01-07  Bruno Haible  <bruno@clisp.org>
24267
24268         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
24269         * doc/posix-functions/strncasecmp.texi: Likewise.
24270
24271 2010-01-07  Bruno Haible  <bruno@clisp.org>
24272
24273         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
24274
24275 2010-01-07  John W. Eaton  <jwe@octave.org>
24276
24277         wctype: allow C++ use
24278         * lib/wctype.in.h: Add extern "C" block for C++.
24279
24280 2010-01-06  Eric Blake  <ebb9@byu.net>
24281
24282         maint.mk: detect incorrect GFDL usage
24283         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
24284
24285 2010-01-06  Jim Meyering  <meyering@redhat.com>
24286         and Eric Blake  <ebb9@byu.net>
24287
24288         maint.mk: ignore multi-line copyright in NEWS
24289         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
24290
24291 2010-01-06  Eric Blake  <ebb9@byu.net>
24292
24293         select: add missing dependency
24294         * modules/select-tests (Depends-on): Move sockets dependency...
24295         * modules/select (Depends-on): ...here.
24296         Reported by Ian Beckwith.
24297
24298         doc: regenerate INSTALL
24299         * doc/INSTALL: Reflect recent autoconf update.
24300         * doc/INSTALL.ISO: Likewise.
24301         * doc/INSTALL.UTF-8: Likewise.
24302
24303         pread: fix compilation on glibc
24304         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
24305         Reported by Ralf Wildenhues.
24306
24307         dirent: fix test failure
24308         * lib/dirent.in.h (includes): Guarantee ino_t.
24309         Reported by Ralf Wildenhues.
24310
24311 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
24312
24313         linkat, renameat: avoid bad free
24314         * lib/at-func2.c (at_func2): Fix typo.
24315         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
24316
24317 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24318
24319         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
24320         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
24321         to avoid failure of symlink test later.
24322
24323 2010-01-06  Eric Blake  <ebb9@byu.net>
24324
24325         stdio, unistd: guarantee ssize_t
24326         * lib/unistd.in.h (includes): Ensure that types required by POSIX
24327         2008 are exposed when needed.
24328         * lib/stdio.in.h (includes): Likewise.
24329         Reported by Ralf Wildenhues.
24330
24331 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
24332
24333         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
24334         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
24335         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
24336
24337 2010-01-06  Jim Meyering  <meyering@redhat.com>
24338
24339         readtokens: this module *does* require xalloc.h
24340         It uses only functions that were omitted by the old syntax-check rule.
24341         * lib/readtokens.c: Include "xalloc.h" once again.
24342         * modules/readtokens (Depends-on): Add xalloc.
24343         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
24344
24345 2010-01-05  Eric Blake  <ebb9@byu.net>
24346
24347         maint: support 'make announcement' from a VPATH build
24348         * top/maint.mk (announcement): Look for correct NEWS file.
24349
24350 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
24351
24352         utimens (fdutimens): ignore a negative FD, per contract
24353         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
24354         when we have a valid file descriptor.  Otherwise, using a brand
24355         new glibc (with just-patched futimens that now fails with EBADF)
24356         would cause this function to fail with ENOSYS.
24357         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
24358         See also http://bugzilla.redhat.com/552320.
24359
24360 2010-01-05  Eric Blake  <ebb9@byu.net>
24361
24362         strcase: document what it provides
24363         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
24364         gnulib module.
24365         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
24366         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
24367
24368 2010-01-05  Jim Meyering  <meyering@redhat.com>
24369
24370         maint: remove useless inclusions of "xalloc.h"
24371         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
24372         * lib/readtokens.c: Likewise.
24373         * lib/same.c: Likewise.
24374         * modules/getloadavg (Depends-on): Remove xalloc.
24375         * modules/readtokens: Likewise.
24376         * modules/same: Likewise.
24377
24378         maint.mk: include 4 more function names in alloca.h-checking regexp
24379         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
24380         regexp.  Before, we would give a false-positive (saying alloca.h
24381         is included unnecessarily) when the only uses involved omitted symbols.
24382
24383         xalloc.h: use consistent formatting
24384         * lib/xalloc.h: Move declarations to start in the first column.
24385
24386 2010-01-05  Eric Blake  <ebb9@byu.net>
24387
24388         mkdir: avoid xalloc
24389         * lib/mkdir.c (includes): Drop unused header.
24390         Reported by John W. Eaton.
24391
24392 2010-01-04  Jim Meyering  <meyering@redhat.com>
24393
24394         nl_langinfo: avoid configure-time syntax error
24395         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
24396         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
24397         the empty string.  Don't let that provoke a shell syntax error.
24398
24399         regcomp, regexec, fnmatch: avoid array bounds read error
24400         * lib/regcomp.c (build_equiv_class): From glibc:
24401         Use only the low 24 bits of a findidx return value as an index
24402         into the weights array.  Patch by Ulrich Drepper:
24403         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
24404         * lib/regexec.c (check_node_accept_bytes): Likewise.
24405         * lib/fnmatch_loop.c (FCT): Likewise.
24406
24407         regcomp: skip collseq lookup when there are no rules
24408         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
24409         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
24410
24411         regcomp: recognize ill-formed { } expressions
24412         * lib/regcomp.c (parse_dup_op): From glibc:
24413         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
24414
24415         regcomp: fix typo in comment
24416         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
24417         s/satisfy/satisfies/.
24418
24419         regcomp: sync from glibc: remove dead store
24420         * lib/regcomp.c (duplicate_node_closure): Remove useless
24421         search_duplicated_node call and dead store.
24422
24423         regcomp: sync from glibc; always use nl_langinfo
24424         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
24425         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
24426         * modules/regex (Depends-on): Add nl_langinfo.
24427
24428 2010-01-04  Eric Blake  <ebb9@byu.net>
24429
24430         fdopendir: fix configure test
24431         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
24432
24433 2010-01-01  Bruno Haible  <bruno@clisp.org>
24434
24435         wchar: Remove unused configure check.
24436         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
24437
24438 2010-01-01  Eric Blake  <ebb9@byu.net>
24439
24440         headers: make check of system header explicit
24441         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
24442         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
24443         ourselves.
24444         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
24445         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24446         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
24447         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
24448         internals.
24449         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
24450         missing.
24451         Suggested by Bruno Haible.
24452
24453 2010-01-01  Jim Meyering  <meyering@redhat.com>
24454
24455         ChangeLog: tweak to eliminate unnecessary copyright line
24456         * ChangeLog: Remove a copyright line that was mistakenly updated
24457         by today's update-copyright run.  Reported by Eric Blake.
24458
24459         test-update-copyright: don't let envvar setting cause test failure
24460         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
24461
24462 2010-01-01  Bruno Haible  <bruno@clisp.org>
24463
24464         localename: Avoid gcc warning.
24465         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
24466         function if it is not used.
24467
24468 2010-01-01  Jim Meyering  <meyering@redhat.com>
24469
24470         update nearly all FSF copyright year lists to include 2010
24471         Use the same procedure as for 2009, outlined in
24472         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
24473
24474         version-etc: set COPYRIGHT_YEAR to 2010
24475         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
24476
24477 2009-12-31  Eric Blake  <ebb9@byu.net>
24478
24479         doc: correct availability of cygwin 1.5.x getopt
24480         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
24481         variables.
24482         * doc/posix-functions/opterr.texi (opterr): Likewise.
24483         * doc/posix-functions/optind.texi (optind): Likewise.
24484         * doc/posix-functions/optopt.texi (optopt): Likewise.
24485         * doc/posix-functions/tzname.texi (tzname): Likewise.
24486
24487         openat: update maintainer
24488         * modules/openat (Maintainer): Add myself.
24489
24490         utimens: avoid shadowing warning
24491         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
24492         buffers into one, to avoid shadowing, as well as avoiding a
24493         redundant stat.
24494         Reported by Jim Meyering.
24495
24496         test-dup2: avoid compiler warning
24497         * tests/test-dup2.c (is_inheritable): Only define if used.
24498
24499 2010-01-01  Bruno Haible  <bruno@clisp.org>
24500
24501         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
24502         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
24503         defined, use wctomb instead of wcrtomb.
24504
24505 2010-01-01  Bruno Haible  <bruno@clisp.org>
24506
24507         iconv: Reject native Solaris iconv.
24508         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
24509         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
24510
24511 2009-12-31  Bruno Haible  <bruno@clisp.org>
24512
24513         * tests/test-signal.c (main): Remove test of 'SIG'.
24514
24515 2009-12-31  Bruno Haible  <bruno@clisp.org>
24516
24517         spawn: Fix incomplete fix.
24518         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
24519         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
24520         warnings for GNULIB_POSIXCHECK again.
24521         Reported by Eric Blake.
24522
24523 2009-12-31  Bruno Haible  <bruno@clisp.org>
24524
24525         Avoid namespace pollution on glibc systems.
24526         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
24527         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
24528         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
24529         glibc systems.
24530
24531 2009-12-31  Bruno Haible  <bruno@clisp.org>
24532
24533         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
24534         (gl_REPLACE_WCHAR_H): Turn into a no-op.
24535         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
24536         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
24537         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
24538         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
24539         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
24540
24541 2009-12-31  Bruno Haible  <bruno@clisp.org>
24542
24543         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
24544         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
24545         afterwards.
24546
24547 2009-12-31  Bruno Haible  <bruno@clisp.org>
24548
24549         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
24550         SYS_UTSNAME_H.
24551
24552 2009-12-31  Bruno Haible  <bruno@clisp.org>
24553
24554         spawn: Fix misapplied patch.
24555         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
24556         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
24557         warnings for GNULIB_POSIXCHECK.
24558
24559 2009-12-31  Bruno Haible  <bruno@clisp.org>
24560
24561         times: Update after sys_times changed.
24562         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
24563         * modules/times (Files): Add it.
24564         (configure.ac): Invoke gl_FUNC_TIMES.
24565
24566 2009-12-31  Bruno Haible  <bruno@clisp.org>
24567
24568         Use AC_C_INLINE where necessary.
24569         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
24570         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
24571         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
24572         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
24573         * m4/mbfile.m4 (gl_MBFILE): Likewise.
24574         * m4/mbiter.m4 (gl_MBITER): Likewise.
24575         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
24576         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24577         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
24578         * modules/u64 (configure.ac): Likewise.
24579
24580 2009-12-31  Bruno Haible  <bruno@clisp.org>
24581
24582         Use AC_C_INLINE instead of module 'inline' where possible.
24583         * modules/inline (Description): Clarify purpose.
24584         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
24585         * modules/count-one-bits (Depends-on): Remove inline.
24586         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
24587         * modules/openat (Depends-on): Remove inline.
24588         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
24589         instead of depending on module 'inline'.
24590         * modules/filevercmp (Depends-on, configure.ac): Likewise.
24591         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
24592         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
24593         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
24594         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
24595         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
24596         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
24597         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
24598         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
24599         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
24600         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
24601         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
24602         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
24603         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
24604         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
24605         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
24606         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
24607         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
24608         Likewise.
24609         * modules/unictype/property-ascii-hex-digit (Depends-on,
24610         configure.ac): Likewise.
24611         * modules/unictype/property-bidi-arabic-digit (Depends-on,
24612         configure.ac): Likewise.
24613         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
24614         configure.ac): Likewise.
24615         * modules/unictype/property-bidi-block-separator (Depends-on,
24616         configure.ac): Likewise.
24617         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
24618         configure.ac): Likewise.
24619         * modules/unictype/property-bidi-common-separator (Depends-on,
24620         configure.ac): Likewise.
24621         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
24622         Likewise.
24623         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
24624         configure.ac): Likewise.
24625         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
24626         configure.ac): Likewise.
24627         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
24628         configure.ac): Likewise.
24629         * modules/unictype/property-bidi-european-digit (Depends-on,
24630         configure.ac): Likewise.
24631         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
24632         configure.ac): Likewise.
24633         * modules/unictype/property-bidi-left-to-right (Depends-on,
24634         configure.ac): Likewise.
24635         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
24636         configure.ac): Likewise.
24637         * modules/unictype/property-bidi-other-neutral (Depends-on,
24638         configure.ac): Likewise.
24639         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
24640         Likewise.
24641         * modules/unictype/property-bidi-segment-separator (Depends-on,
24642         configure.ac): Likewise.
24643         * modules/unictype/property-bidi-whitespace (Depends-on,
24644         configure.ac): Likewise.
24645         * modules/unictype/property-combining (Depends-on, configure.ac):
24646         Likewise.
24647         * modules/unictype/property-composite (Depends-on, configure.ac):
24648         Likewise.
24649         * modules/unictype/property-currency-symbol (Depends-on,
24650         configure.ac): Likewise.
24651         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
24652         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
24653         Likewise.
24654         * modules/unictype/property-default-ignorable-code-point (Depends-on,
24655         configure.ac): Likewise.
24656         * modules/unictype/property-deprecated (Depends-on, configure.ac):
24657         Likewise.
24658         * modules/unictype/property-diacritic (Depends-on, configure.ac):
24659         Likewise.
24660         * modules/unictype/property-extender (Depends-on, configure.ac):
24661         Likewise.
24662         * modules/unictype/property-format-control (Depends-on, configure.ac):
24663         Likewise.
24664         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
24665         Likewise.
24666         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
24667         Likewise.
24668         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
24669         Likewise.
24670         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
24671         Likewise.
24672         * modules/unictype/property-hyphen (Depends-on, configure.ac):
24673         Likewise.
24674         * modules/unictype/property-id-continue (Depends-on, configure.ac):
24675         Likewise.
24676         * modules/unictype/property-id-start (Depends-on, configure.ac):
24677         Likewise.
24678         * modules/unictype/property-ideographic (Depends-on, configure.ac):
24679         Likewise.
24680         * modules/unictype/property-ids-binary-operator (Depends-on,
24681         configure.ac): Likewise.
24682         * modules/unictype/property-ids-trinary-operator (Depends-on,
24683         configure.ac): Likewise.
24684         * modules/unictype/property-ignorable-control (Depends-on,
24685         configure.ac): Likewise.
24686         * modules/unictype/property-iso-control (Depends-on, configure.ac):
24687         Likewise.
24688         * modules/unictype/property-join-control (Depends-on, configure.ac):
24689         Likewise.
24690         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
24691         Likewise.
24692         * modules/unictype/property-line-separator (Depends-on, configure.ac):
24693         Likewise.
24694         * modules/unictype/property-logical-order-exception (Depends-on,
24695         configure.ac): Likewise.
24696         * modules/unictype/property-lowercase (Depends-on, configure.ac):
24697         Likewise.
24698         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
24699         * modules/unictype/property-non-break (Depends-on, configure.ac):
24700         Likewise.
24701         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
24702         Likewise.
24703         * modules/unictype/property-numeric (Depends-on, configure.ac):
24704         Likewise.
24705         * modules/unictype/property-other-alphabetic (Depends-on,
24706         configure.ac): Likewise.
24707         * modules/unictype/property-other-default-ignorable-code-point
24708         (Depends-on, configure.ac): Likewise.
24709         * modules/unictype/property-other-grapheme-extend (Depends-on,
24710         configure.ac): Likewise.
24711         * modules/unictype/property-other-id-continue (Depends-on,
24712         configure.ac): Likewise.
24713         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
24714         Likewise.
24715         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
24716         Likewise.
24717         * modules/unictype/property-other-math (Depends-on, configure.ac):
24718         Likewise.
24719         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
24720         Likewise.
24721         * modules/unictype/property-paired-punctuation (Depends-on,
24722         configure.ac): Likewise.
24723         * modules/unictype/property-paragraph-separator (Depends-on,
24724         configure.ac): Likewise.
24725         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
24726         Likewise.
24727         * modules/unictype/property-pattern-white-space (Depends-on,
24728         configure.ac): Likewise.
24729         * modules/unictype/property-private-use (Depends-on, configure.ac):
24730         Likewise.
24731         * modules/unictype/property-punctuation (Depends-on, configure.ac):
24732         Likewise.
24733         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
24734         Likewise.
24735         * modules/unictype/property-radical (Depends-on, configure.ac):
24736         Likewise.
24737         * modules/unictype/property-sentence-terminal (Depends-on,
24738         configure.ac): Likewise.
24739         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
24740         Likewise.
24741         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
24742         * modules/unictype/property-terminal-punctuation (Depends-on,
24743         configure.ac): Likewise.
24744         * modules/unictype/property-titlecase (Depends-on, configure.ac):
24745         Likewise.
24746         * modules/unictype/property-unassigned-code-value (Depends-on,
24747         configure.ac): Likewise.
24748         * modules/unictype/property-unified-ideograph (Depends-on,
24749         configure.ac): Likewise.
24750         * modules/unictype/property-uppercase (Depends-on, configure.ac):
24751         Likewise.
24752         * modules/unictype/property-variation-selector (Depends-on,
24753         configure.ac): Likewise.
24754         * modules/unictype/property-white-space (Depends-on, configure.ac):
24755         Likewise.
24756         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
24757         Likewise.
24758         * modules/unictype/property-xid-start (Depends-on, configure.ac):
24759         Likewise.
24760         * modules/unictype/property-zero-width (Depends-on, configure.ac):
24761         Likewise.
24762         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
24763         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
24764         Likewise.
24765
24766 2009-12-31  Bruno Haible  <bruno@clisp.org>
24767
24768         Remove unnecessary AC_C_INLINE invocation.
24769         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
24770         since 2009-08-21.
24771
24772 2009-12-31  Jim Meyering  <meyering@redhat.com>
24773
24774         maint.mk: don't require explicit gpg_key_ID in cfg.mk
24775         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
24776         With this change, we can all remove the gpg_key_ID = ... definition
24777         from our respective cfg.mk files.
24778
24779         maint.mk: create announcement template in ~/, not in /tmp
24780         * top/maint.mk (emit_upload_commands): Adjust.
24781         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
24782         Remove temporary file, .ci-msg.
24783
24784 2009-12-31  Eric Blake  <ebb9@byu.net>
24785
24786         link-warning: always build headers with link warnings
24787         * modules/arpa_inet (Makefile.am): Always build replacement
24788         header.
24789         * modules/ctype (Makefile.am): Likewise.
24790         * modules/dirent (Makefile.am): Likewise.
24791         * modules/inttypes (Makefile.am): Likewise.
24792         * modules/langinfo (Makefile.am): Likewise.
24793         * modules/locale (Makefile.am): Likewise.
24794         * modules/spawn (Makefile.am): Likewise.
24795         * modules/sys_file (Makefile.am): Likewise.
24796         * modules/sys_ioctl (Makefile.am): Likewise.
24797         * modules/sys_select (Makefile.am): Likewise.
24798         * modules/sys_socket (Makefile.am): Likewise.
24799         * modules/sys_times (Makefile.am): Likewise.
24800         * modules/sys_utsname (Makefile.am): Likewise.
24801         * modules/sys_wait (Makefile.am): Likewise.
24802         * modules/wchar (Makefile.am): Likewise.
24803         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
24804         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
24805         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
24806         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
24807         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
24808         Likewise.
24809         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
24810         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
24811         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
24812         Likewise.
24813         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
24814         Likewise.
24815         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
24816         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
24817         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
24818         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24819         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24820         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
24821         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
24822         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
24823         (gl_WCHAR_H_DEFAULTS): Likewise.
24824
24825 2009-12-31  Eric Blake  <ebb9@byu.net>
24826
24827         signal, spawn: use link warnings
24828         * lib/signal.in.h (sigset_t): Make unconditional.
24829         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
24830         (sigpending, sigprocmask, sigaction): Add link warnings.
24831         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
24832         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
24833         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
24834         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
24835         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
24836         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
24837         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
24838         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
24839         (posix_spawn_file_actions_destroy)
24840         (posix_spawn_file_actions_addopen)
24841         (posix_spawn_file_actions_addclose)
24842         (posix_spawn_file_actions_adddup2): Likewise.
24843         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
24844         * tests/test-signal.c (main): Enhance test.
24845
24846         spawn: improve wrapper support
24847         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
24848         (gl_SPAWN_H_DEFAULTS): New defaults.
24849         * modules/spawn (Makefile.am): Substitute them.
24850         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
24851         Only declare if missing or broken.
24852
24853         sys_times, sys_utsname: use include_next
24854         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
24855         header.
24856         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
24857         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
24858         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
24859         * modules/sys_times (Depends-on): Add include_next.
24860         (Makefile.am): Substitute additional values.
24861         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
24862         * lib/sys_times.in.h (includes): Include native header, if
24863         available.
24864         * lib/sys_utsname.in.h (includes): Likewise.
24865         * tests/test-sys_times.c (main): Enhance test.
24866
24867         fdutimensat: revert prior patch
24868         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
24869         utimens.h.
24870         Reported by Bruno Haible.
24871
24872 2009-12-30  Eric Blake  <ebb9@byu.net>
24873
24874         sys_wait: drop link-warning dependency
24875         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
24876         link-warning efforts.
24877         * lib/sys_wait.in.h: Likewise.
24878
24879         fdutimensat: remove bogus dependency
24880         * modules/fdutimensat (Depends-on): Drop inline.
24881
24882         unistd: fix typo
24883         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
24884
24885 2009-12-30  Bruno Haible  <bruno@clisp.org>
24886
24887         Fix compilation error with Solaris cc.
24888         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
24889         * lib/unicase/u16-is-invariant.c: Likewise.
24890         * lib/unicase/u32-is-invariant.c: Likewise.
24891         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
24892
24893 2009-12-30  Bruno Haible  <bruno@clisp.org>
24894
24895         Fix test crash.
24896         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
24897         locales.
24898         Reported by Simon Josefsson <simon@josefsson.org>.
24899
24900 2009-12-30  Bruno Haible  <bruno@clisp.org>
24901
24902         Fix compilation error on most platforms.
24903         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
24904         Reported by Simon Josefsson <simon@josefsson.org>
24905         and Nelson H. F. Beebe <beebe@math.utah.edu>.
24906
24907 2009-12-30  Eric Blake  <ebb9@byu.net>
24908
24909         futimens, utimensat: work around ntfs-3g bug
24910         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
24911         a ctime bug is present, and expand workaround to cover ntfs-3g.
24912         * lib/utimens.c (fdutimens, lutimens): Likewise.
24913         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
24914         (validate_timespec): Adjust return value.
24915         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
24916         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24917         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
24918
24919 2009-12-29  Eric Blake  <ebb9@byu.net>
24920
24921         link-warning: make usage consistent
24922         * modules/ctype (Depends-on): Add link-warning.
24923         (Makefile.am): Update rules accordingly.
24924         * modules/langinfo (Depends-on, Makefile.am): Likewise.
24925         * modules/locale (Depends-on, Makefile.am): Likewise.
24926         * modules/sys_file (Makefile.am): Likewise.
24927         * modules/getopt-posix (Makefile.am): Delete unused link warning
24928         efforts.
24929         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
24930         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
24931         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
24932         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
24933
24934         stdio: remove unused variables
24935         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
24936         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
24937         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24938
24939         tests: test more substitute headers
24940         * modules/ctype-tests: New file.
24941         * modules/dirent-tests: Likewise.
24942         * modules/spawn-tests: Likewise.
24943         * modules/sys_file-tests: Likewise.
24944         * modules/sys_ioctl-tests: Likewise.
24945         * modules/sys_wait-tests: Likewise.
24946         * tests/test-ctype.c: Likewise.
24947         * tests/test-dirent.c: Likewise.
24948         * tests/test-spawn.c: Likewise.
24949         * tests/test-sys_file.c: Likewise.
24950         * tests/test-sys_ioctl.c: Likewise.
24951         * tests/test-sys_wait.c: Likewise.
24952         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
24953         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
24954         whether or not flock is in use.
24955
24956         tests: remove License section from module
24957         * modules/arpa_inet-tests: Remove unneeded section.
24958         * modules/byteswap-tests: Likewise.
24959         * modules/ceilf-tests: Likewise.
24960         * modules/ceill-tests: Likewise.
24961         * modules/crypto/des-tests: Likewise.
24962         * modules/crypto/gc-arcfour-tests: Likewise.
24963         * modules/crypto/gc-arctwo-tests: Likewise.
24964         * modules/crypto/gc-des-tests: Likewise.
24965         * modules/crypto/gc-hmac-md5-tests: Likewise.
24966         * modules/crypto/gc-hmac-sha1-tests: Likewise.
24967         * modules/crypto/gc-md2-tests: Likewise.
24968         * modules/crypto/gc-md4-tests: Likewise.
24969         * modules/crypto/gc-md5-tests: Likewise.
24970         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
24971         * modules/crypto/gc-rijndael-tests: Likewise.
24972         * modules/crypto/gc-sha1-tests: Likewise.
24973         * modules/crypto/gc-tests: Likewise.
24974         * modules/crypto/md2-tests: Likewise.
24975         * modules/crypto/md4-tests: Likewise.
24976         * modules/fcntl-h-tests: Likewise.
24977         * modules/floorf-tests: Likewise.
24978         * modules/floorl-tests: Likewise.
24979         * modules/frexp-nolibm-tests: Likewise.
24980         * modules/frexp-tests: Likewise.
24981         * modules/frexpl-nolibm-tests: Likewise.
24982         * modules/frexpl-tests: Likewise.
24983         * modules/getaddrinfo-tests: Likewise.
24984         * modules/inttypes-tests: Likewise.
24985         * modules/isfinite-tests: Likewise.
24986         * modules/isinf-tests: Likewise.
24987         * modules/ldexpl-tests: Likewise.
24988         * modules/locale-tests: Likewise.
24989         * modules/math-tests: Likewise.
24990         * modules/netdb-tests: Likewise.
24991         * modules/netinet_in-tests: Likewise.
24992         * modules/printf-frexp-tests: Likewise.
24993         * modules/printf-frexpl-tests: Likewise.
24994         * modules/priv-set-tests: Likewise.
24995         * modules/random_r-tests: Likewise.
24996         * modules/round-tests: Likewise.
24997         * modules/roundf-tests: Likewise.
24998         * modules/roundl-tests: Likewise.
24999         * modules/search-tests: Likewise.
25000         * modules/select-tests: Likewise.
25001         * modules/signal-tests: Likewise.
25002         * modules/stdbool-tests: Likewise.
25003         * modules/stddef-tests: Likewise.
25004         * modules/stdint-tests: Likewise.
25005         * modules/stdio-tests: Likewise.
25006         * modules/stdlib-tests: Likewise.
25007         * modules/string-tests: Likewise.
25008         * modules/strings-tests: Likewise.
25009         * modules/sys_select-tests: Likewise.
25010         * modules/sys_socket-tests: Likewise.
25011         * modules/sys_stat-tests: Likewise.
25012         * modules/sys_time-tests: Likewise.
25013         * modules/sys_utsname-tests: Likewise.
25014         * modules/sysexits-tests: Likewise.
25015         * modules/time-tests: Likewise.
25016         * modules/trunc-tests: Likewise.
25017         * modules/truncf-tests: Likewise.
25018         * modules/truncl-tests: Likewise.
25019         * modules/tsearch-tests: Likewise.
25020         * modules/unistd-tests: Likewise.
25021         * modules/wchar-tests: Likewise.
25022         * modules/wctype-tests: Likewise.
25023
25024         tests: fix license on several tests
25025         * tests/test-des.c: Update to GPLv3+.
25026         * tests/test-flock.c: Likewise.
25027         * tests/test-fsync.c: Likewise.
25028         * tests/test-futimens.h: Likewise.
25029         * tests/test-gc-arcfour.c: Likewise.
25030         * tests/test-gc-arctwo.c: Likewise.
25031         * tests/test-gc-des.c: Likewise.
25032         * tests/test-gc-hmac-md5.c: Likewise.
25033         * tests/test-gc-hmac-sha1.c: Likewise.
25034         * tests/test-gc-md2.c: Likewise.
25035         * tests/test-gc-md4.c: Likewise.
25036         * tests/test-gc-md5.c: Likewise.
25037         * tests/test-gc-pbkdf2-sha1.c: Likewise.
25038         * tests/test-gc-rijndael.c: Likewise.
25039         * tests/test-gc-sha1.c: Likewise.
25040         * tests/test-gc.c: Likewise.
25041         * tests/test-getcwd.c: Likewise.
25042         * tests/test-link.c: Likewise.
25043         * tests/test-link.h: Likewise.
25044         * tests/test-lutimens.h: Likewise.
25045         * tests/test-md2.c: Likewise.
25046         * tests/test-md4.c: Likewise.
25047         * tests/test-mkdir.h: Likewise.
25048         * tests/test-rename.c: Likewise.
25049         * tests/test-rename.h: Likewise.
25050         * tests/test-safe-alloc.c: Likewise.
25051         * tests/test-utimens-common.h: Likewise.
25052         * tests/test-utimens.h: Likewise.
25053
25054         maint: sync license texts
25055         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
25056         * doc/gpl-3.0.texi: Revert copyright year update.
25057         * doc/lgpl-3.0.texi: Likewise.
25058
25059 2009-12-29  Jim Meyering  <meyering@redhat.com>
25060
25061         update nearly all FSF copyright year lists to include 2009
25062         The files named by the following are exempted:
25063             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
25064               test -f "$dst" && { echo "$dst"; continue; }
25065               test -d "$dst" || continue
25066               echo "$dst"/$(basename "$src")
25067             done > exempt
25068             git ls-files tests/unictype >> exempt
25069         In the remaining files, convert to all-interval notation if
25070         - there is already at least one year interval like 2000-2003
25071         - the file is maintained by me
25072         - the file is in lib/uni*/, where that style already prevails
25073         Otherwise, use update-copyright's default.
25074
25075 2009-12-29  Simon Josefsson  <simon@josefsson.org>
25076         and Eric Blake  <ebb9@byu.net>
25077
25078         tests: don't require debug system() to pass
25079         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
25080         * tests/test-rmdir.h (test_rmdir_func): Likewise.
25081         * tests/test-unlink.h (test_unlink_func): Likewise.
25082         * tests/test-fstatat.c (main): ...into callers.
25083         * tests/test-lstat.c (main): Likewise.
25084         * tests/test-rmdir.c (main): Likewise.
25085         * tests/test-unlink.c (main): Likewise.
25086         * tests/test-unlinkat.c (main): Likewise.
25087         * tests/test-areadlink-with-size.c (main): Don't require a
25088         debug-only system call to pass, aiding cross-testing to mingw.
25089         * tests/test-areadlink.c (main): Likewise.
25090         * tests/test-areadlinkat-with-size.c (main): Likewise.
25091         * tests/test-areadlinkat.c (main): Likewise.
25092         * tests/test-canonicalize-lgpl.c (main): Likewise.
25093         * tests/test-canonicalize.c (main): Likewise.
25094         * tests/test-chown.c (main): Likewise.
25095         * tests/test-fchownat.c (main): Likewise.
25096         * tests/test-lchown.c (main): Likewise.
25097         * tests/test-fdutimensat.c (main): Likewise.
25098         * tests/test-futimens.c (main): Likewise.
25099         * tests/test-link.c (main): Likewise.
25100         * tests/test-linkat.c (main): Likewise.
25101         * tests/test-mkdir.c (main): Likewise.
25102         * tests/test-mkdirat.c (main): Likewise.
25103         * tests/test-mkfifo.c (main): Likewise.
25104         * tests/test-mkfifoat.c (main): Likewise.
25105         * tests/test-mknod.c (main): Likewise.
25106         * tests/test-readlink.c (main): Likewise.
25107         * tests/test-remove.c (main): Likewise.
25108         * tests/test-rename.c (main): Likewise.
25109         * tests/test-renameat.c (main): Likewise.
25110         * tests/test-symlink.c (main): Likewise.
25111         * tests/test-symlinkat.c (main): Likewise.
25112         * tests/test-utimens.c (main): Likewise.
25113         * tests/test-utimensat.c (main): Likewise.
25114
25115 2009-12-29  Simon Josefsson  <simon@josefsson.org>
25116
25117         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
25118         on $(UNUSED_PARAMETER_H) to avoid build failure.
25119
25120 2009-12-28  Jim Meyering  <meyering@redhat.com>
25121
25122         update-copyright: you may specify a max. line length other than 72
25123         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
25124
25125         maint: use consistent FSF copyright line syntax
25126         * lib/posixtm.c: Add missing comma in FSF copyright line.
25127         * lib/posixtm.h: Likewise.
25128         * lib/getugroups.c: Add missing ", Inc.".
25129
25130         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
25131         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
25132         FSF copyright line.  Remove trailing blanks.
25133
25134 2009-12-28  Eric Blake  <ebb9@byu.net>
25135
25136         test-dup2: reduce dependencies
25137         * modules/cloexec (Configure.ac): Set witness.
25138         * modules/dup2-tests (Depends-on): Drop cloexec.
25139         * tests/test-dup2.c (main): Skip portion of test if cloexec module
25140         not present.
25141         Suggested by Bruno Haible.
25142
25143 2009-12-26  Bruno Haible  <bruno@clisp.org>
25144
25145         Remove an unneeded dependency.
25146         * modules/fseterr (Depends-on): Remove dup2.
25147
25148 2009-12-26  Eric Blake  <ebb9@byu.net>
25149
25150         tests: use macros.h in more places
25151         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
25152         (ASSERT_STREAM): Provide default of stderr.
25153         * tests/test-dirent-safer.c: Include macros.h, using alternate
25154         stream for assertions.
25155         * tests/test-dup-safer.c: Likewise.
25156         * tests/test-freopen-safer.c: Likewise.
25157         * tests/test-getopt.c: Likewise.
25158         * tests/test-openat-safer.c: Likewise.
25159         * tests/test-pipe.c: Likewise.
25160         * tests/test-popen-safer.c: Likewise.
25161         * modules/dirent-safer-tests (Files): Include macros.h.
25162         * modules/unistd-safer-tests (Files): Likewise.
25163         * modules/freopen-safer-tests (Files): Likewise.
25164         * modules/getopt-posix-tests (Files): Likewise.
25165         * modules/openat-safer-tests (Files): Likewise.
25166         * modules/pipe-tests (Files): Likewise.
25167
25168 2009-12-26  Bruno Haible  <bruno@clisp.org>
25169
25170         javacomp: Portability fix.
25171         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
25172         that it also works on Solaris.
25173
25174 2009-12-26  Bruno Haible  <bruno@clisp.org>
25175
25176         localename: Fix storage allocation of gl_locale_name_thread's result.
25177         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
25178         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
25179         all platforms that have 'uselocale'.
25180         (gl_locale_name_thread_unsafe): New function, extracted from
25181         gl_locale_name_thread.
25182         (gl_locale_name_thread): Call struniq on all platforms that have
25183         'uselocale'.
25184         * tests/test-localename.c (test_locale_name_thread): Check that the
25185         resulting strings are permanently allocated.
25186         * modules/localename-tests (Depends-on): Add strdup.
25187
25188 2009-12-26  Bruno Haible  <bruno@clisp.org>
25189
25190         * tests/test-localename.c (categories): Fill in the strings.
25191
25192 2009-12-26  Jim Meyering  <meyering@redhat.com>
25193
25194         isdir: complete the removal of m4/isdir.m4
25195         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
25196
25197         isdir: clean up, since at least grep still uses it
25198         * lib/isdir.c: Include "isdir.h".
25199         (S_ISDIR): Remove now-unneeded definition.
25200         * modules/isdir (Files): Add lib/isdir.h.
25201         * lib/isdir.h: New file, with declaration.
25202         * m4/isdir.m4: Remove file -- unneeded.
25203
25204 2009-12-25  Bruno Haible  <bruno@clisp.org>
25205
25206         selinux-h: Make generated .h files standalone.
25207         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
25208         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
25209         * lib/se-selinux.in.h: Likewise.
25210         * modules/selinux-h (Depends-on): Add unused-parameter.
25211         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
25212         selinux/selinux.h and selinux/context.h.
25213         Suggested by Eric Blake.
25214
25215 2009-12-25  Bruno Haible  <bruno@clisp.org>
25216
25217         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
25218         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
25219         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
25220         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
25221         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
25222
25223 2009-12-24  Bruno Haible  <bruno@clisp.org>
25224
25225         openat: Fix warning.
25226         * lib/openat-proc.c: Include <unistd.h>.
25227
25228 2009-12-24  Bruno Haible  <bruno@clisp.org>
25229
25230         New module 'unused-parameter'.
25231         * build-aux/unused-parameter.h: New file, extracted from earlier
25232         gnulib-common.m4.
25233         * modules/unused-parameter: New file.
25234         * lib/unistr.h: Include unused-parameter.h.
25235         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
25236         _GL_UNUSED.
25237         * modules/unistr/base (Depends-on): Add unused-parameter.
25238
25239 2009-12-24  Bruno Haible  <bruno@clisp.org>
25240
25241         Add missing dependencies to 'extensions' module.
25242         * m4/extensions.m4: Add comment.
25243         * modules/accept4 (Depends-on): Add extensions.
25244         * modules/dup3 (Depends-on): Likewise.
25245         * modules/fcntl (Depends-on): Likewise.
25246         * modules/futimens (Depends-on): Likewise.
25247         * modules/mknod (Depends-on): Likewise.
25248         * modules/pipe2 (Depends-on): Likewise.
25249         * modules/stat-time (Depends-on): Likewise.
25250         * modules/strcasestr-simple (Depends-on): Likewise.
25251         * modules/strsignal (Depends-on): Likewise.
25252         * modules/utimensat (Depends-on): Likewise.
25253         * modules/localcharset (Depends-on): Likewise. Needed because of
25254         gl_FCNTL_O_FLAGS.
25255         * modules/wcrtomb (Depends-on): Likewise. Needed because of
25256         AC_TYPE_MBSTATE_T.
25257         * modules/wcsnrtombs (Depends-on): Likewise.
25258         * modules/wcsrtombs (Depends-on): Likewise.
25259
25260 2009-12-24  Bruno Haible  <bruno@clisp.org>
25261
25262         binary-io: Avoid gcc warning due to SET_BINARY.
25263         * lib/binary-io.h (SET_BINARY): Cast the result to void.
25264         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
25265
25266 2009-12-24  Bruno Haible  <bruno@clisp.org>
25267
25268         Avoid future namespace pollution on glibc systems.
25269         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
25270         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
25271         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
25272         glibc systems.
25273
25274 2009-12-24  Bruno Haible  <bruno@clisp.org>
25275
25276         Refactor common macros used in tests.
25277         * tests/macros.h: New file.
25278         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
25279         and/or <stdlib.h>, if appropriate.
25280         (ASSERT, SIZEOF): Remove macros.
25281         * tests/test-areadlink-with-size.c: Likewise.
25282         * tests/test-areadlinkat.c: Likewise.
25283         * tests/test-areadlinkat-with-size.c: Likewise.
25284         * tests/test-argmatch.c: Likewise.
25285         * tests/test-argv-iter.c: Likewise.
25286         * tests/test-array-mergesort.c: Likewise.
25287         * tests/test-array_list.c: Likewise.
25288         * tests/test-array_oset.c: Likewise.
25289         * tests/test-avltree_list.c: Likewise.
25290         * tests/test-avltree_oset.c: Likewise.
25291         * tests/test-avltreehash_list.c: Likewise.
25292         * tests/test-base64.c: Likewise.
25293         * tests/test-binary-io.c: Likewise.
25294         * tests/test-bitrotate.c: Likewise.
25295         * tests/test-btowc.c: Likewise.
25296         * tests/test-byteswap.c: Likewise.
25297         * tests/test-c-ctype.c: Likewise.
25298         * tests/test-c-stack.c: Likewise.
25299         * tests/test-c-strcasecmp.c: Likewise.
25300         * tests/test-c-strcasestr.c: Likewise.
25301         * tests/test-c-strncasecmp.c: Likewise.
25302         * tests/test-c-strstr.c: Likewise.
25303         * tests/test-canonicalize-lgpl.c: Likewise.
25304         * tests/test-canonicalize.c: Likewise.
25305         * tests/test-carray_list.c: Likewise.
25306         * tests/test-ceilf1.c: Likewise.
25307         * tests/test-ceilf2.c: Likewise.
25308         * tests/test-ceill.c: Likewise.
25309         * tests/test-chown.c: Likewise.
25310         * tests/test-cloexec.c: Likewise.
25311         * tests/test-copy-acl.c: Likewise.
25312         * tests/test-copy-file.c: Likewise.
25313         * tests/test-count-one-bits.c: Likewise.
25314         * tests/test-dprintf-posix.c: Likewise.
25315         * tests/test-dup2.c: Likewise.
25316         * tests/test-dup3.c: Likewise.
25317         * tests/test-duplocale.c: Likewise.
25318         * tests/test-fbufmode.c: Likewise.
25319         * tests/test-fchdir.c: Likewise.
25320         * tests/test-fchownat.c: Likewise.
25321         * tests/test-fcntl-safer.c: Likewise.
25322         * tests/test-fcntl.c: Likewise.
25323         * tests/test-fdopendir.c: Likewise.
25324         * tests/test-fdutimensat.c: Likewise.
25325         * tests/test-fflush2.c: Likewise.
25326         * tests/test-file-has-acl.c: Likewise.
25327         * tests/test-filevercmp.c: Likewise.
25328         * tests/test-flock.c: Likewise.
25329         * tests/test-floorf1.c: Likewise.
25330         * tests/test-floorf2.c: Likewise.
25331         * tests/test-floorl.c: Likewise.
25332         * tests/test-fnmatch.c: Likewise.
25333         * tests/test-fopen.h: Likewise.
25334         * tests/test-fpending.c: Likewise.
25335         * tests/test-fprintf-posix.c: Likewise.
25336         * tests/test-fpurge.c: Likewise.
25337         * tests/test-freadable.c: Likewise.
25338         * tests/test-freadahead.c: Likewise.
25339         * tests/test-freading.c: Likewise.
25340         * tests/test-freadptr.c: Likewise.
25341         * tests/test-freadptr2.c: Likewise.
25342         * tests/test-freadseek.c: Likewise.
25343         * tests/test-freopen.c: Likewise.
25344         * tests/test-frexp.c: Likewise.
25345         * tests/test-frexpl.c: Likewise.
25346         * tests/test-fseek.c: Likewise.
25347         * tests/test-fseeko.c: Likewise.
25348         * tests/test-fstatat.c: Likewise.
25349         * tests/test-fstrcmp.c: Likewise.
25350         * tests/test-fsync.c: Likewise.
25351         * tests/test-ftell.c: Likewise.
25352         * tests/test-ftello.c: Likewise.
25353         * tests/test-func.c: Likewise.
25354         * tests/test-futimens.c: Likewise.
25355         * tests/test-fwritable.c: Likewise.
25356         * tests/test-fwriting.c: Likewise.
25357         * tests/test-getcwd.c: Likewise.
25358         * tests/test-getdate.c: Likewise.
25359         * tests/test-getdelim.c: Likewise.
25360         * tests/test-getdtablesize.c: Likewise.
25361         * tests/test-getgroups.c: Likewise.
25362         * tests/test-getline.c: Likewise.
25363         * tests/test-getndelim2.c: Likewise.
25364         * tests/test-glob.c: Likewise.
25365         * tests/test-hash.c: Likewise.
25366         * tests/test-i-ring.c: Likewise.
25367         * tests/test-iconv-utf.c: Likewise.
25368         * tests/test-iconv.c: Likewise.
25369         * tests/test-idpriv-drop.c: Likewise.
25370         * tests/test-idpriv-droptemp.c: Likewise.
25371         * tests/test-inet_ntop.c: Likewise.
25372         * tests/test-inet_pton.c: Likewise.
25373         * tests/test-isblank.c: Likewise.
25374         * tests/test-isfinite.c: Likewise.
25375         * tests/test-isinf.c: Likewise.
25376         * tests/test-isnan.c: Likewise.
25377         * tests/test-isnand.h: Likewise.
25378         * tests/test-isnanf.h: Likewise.
25379         * tests/test-isnanl.h: Likewise.
25380         * tests/test-lchown.c: Likewise.
25381         * tests/test-ldexpl.c: Likewise.
25382         * tests/test-link.c: Likewise.
25383         * tests/test-linkat.c: Likewise.
25384         * tests/test-linked_list.c: Likewise.
25385         * tests/test-linkedhash_list.c: Likewise.
25386         * tests/test-localename.c: Likewise.
25387         * tests/test-lseek.c: Likewise.
25388         * tests/test-lstat.c: Likewise.
25389         * tests/test-mbmemcasecmp.c: Likewise.
25390         * tests/test-mbmemcasecoll.c: Likewise.
25391         * tests/test-mbrtowc.c: Likewise.
25392         * tests/test-mbscasecmp.c: Likewise.
25393         * tests/test-mbscasestr1.c: Likewise.
25394         * tests/test-mbscasestr2.c: Likewise.
25395         * tests/test-mbscasestr3.c: Likewise.
25396         * tests/test-mbscasestr4.c: Likewise.
25397         * tests/test-mbschr.c: Likewise.
25398         * tests/test-mbscspn.c: Likewise.
25399         * tests/test-mbsinit.c: Likewise.
25400         * tests/test-mbsncasecmp.c: Likewise.
25401         * tests/test-mbsnrtowcs.c: Likewise.
25402         * tests/test-mbspbrk.c: Likewise.
25403         * tests/test-mbspcasecmp.c: Likewise.
25404         * tests/test-mbsrchr.c: Likewise.
25405         * tests/test-mbsrtowcs.c: Likewise.
25406         * tests/test-mbsspn.c: Likewise.
25407         * tests/test-mbsstr1.c: Likewise.
25408         * tests/test-mbsstr2.c: Likewise.
25409         * tests/test-mbsstr3.c: Likewise.
25410         * tests/test-memchr.c: Likewise.
25411         * tests/test-memchr2.c: Likewise.
25412         * tests/test-memcmp.c: Likewise.
25413         * tests/test-memmem.c: Likewise.
25414         * tests/test-memrchr.c: Likewise.
25415         * tests/test-mkdir.c: Likewise.
25416         * tests/test-mkdirat.c: Likewise.
25417         * tests/test-mkfifo.c: Likewise.
25418         * tests/test-mkfifoat.c: Likewise.
25419         * tests/test-mknod.c: Likewise.
25420         * tests/test-nanosleep.c: Likewise.
25421         * tests/test-nl_langinfo.c: Likewise.
25422         * tests/test-obstack-printf.c: Likewise.
25423         * tests/test-open.c: Likewise.
25424         * tests/test-openat.c: Likewise.
25425         * tests/test-pipe-filter-gi1.c: Likewise.
25426         * tests/test-pipe-filter-gi2-main.c: Likewise.
25427         * tests/test-pipe-filter-ii1.c: Likewise.
25428         * tests/test-pipe-filter-ii2-main.c: Likewise.
25429         * tests/test-pipe2.c: Likewise.
25430         * tests/test-popen.h: Likewise.
25431         * tests/test-posixtm.c: Likewise.
25432         * tests/test-pread.c: Likewise.
25433         * tests/test-printf-frexp.c: Likewise.
25434         * tests/test-printf-frexpl.c: Likewise.
25435         * tests/test-printf-posix.c: Likewise.
25436         * tests/test-priv-set.c: Likewise.
25437         * tests/test-quotearg.c: Likewise.
25438         * tests/test-random_r.c: Likewise.
25439         * tests/test-rawmemchr.c: Likewise.
25440         * tests/test-rbtree_list.c: Likewise.
25441         * tests/test-rbtree_oset.c: Likewise.
25442         * tests/test-rbtreehash_list.c: Likewise.
25443         * tests/test-readlink.c: Likewise.
25444         * tests/test-remove.c: Likewise.
25445         * tests/test-rename.c: Likewise.
25446         * tests/test-renameat.c: Likewise.
25447         * tests/test-rmdir.c: Likewise.
25448         * tests/test-round1.c: Likewise.
25449         * tests/test-roundf1.c: Likewise.
25450         * tests/test-roundl.c: Likewise.
25451         * tests/test-safe-alloc.c: Likewise.
25452         * tests/test-sameacls.c: Likewise.
25453         * tests/test-set-mode-acl.c: Likewise.
25454         * tests/test-setenv.c: Likewise.
25455         * tests/test-sigaction.c: Likewise.
25456         * tests/test-signbit.c: Likewise.
25457         * tests/test-sleep.c: Likewise.
25458         * tests/test-snprintf-posix.c: Likewise.
25459         * tests/test-snprintf.c: Likewise.
25460         * tests/test-sprintf-posix.c: Likewise.
25461         * tests/test-stat-time.c: Likewise.
25462         * tests/test-stat.c: Likewise.
25463         * tests/test-strcasestr.c: Likewise.
25464         * tests/test-strchrnul.c: Likewise.
25465         * tests/test-strerror.c: Likewise.
25466         * tests/test-striconv.c: Likewise.
25467         * tests/test-striconveh.c: Likewise.
25468         * tests/test-striconveha.c: Likewise.
25469         * tests/test-strsignal.c: Likewise.
25470         * tests/test-strstr.c: Likewise.
25471         * tests/test-strtod.c: Likewise.
25472         * tests/test-strverscmp.c: Likewise.
25473         * tests/test-symlink.c: Likewise.
25474         * tests/test-symlinkat.c: Likewise.
25475         * tests/test-trunc1.c: Likewise.
25476         * tests/test-trunc2.c: Likewise.
25477         * tests/test-truncf1.c: Likewise.
25478         * tests/test-truncf2.c: Likewise.
25479         * tests/test-truncl.c: Likewise.
25480         * tests/test-uname.c: Likewise.
25481         * tests/test-unlink.c: Likewise.
25482         * tests/test-unlinkat.c: Likewise.
25483         * tests/test-unsetenv.c: Likewise.
25484         * tests/test-usleep.c: Likewise.
25485         * tests/test-utimens.c: Likewise.
25486         * tests/test-utimensat.c: Likewise.
25487         * tests/test-vasnprintf-posix.c: Likewise.
25488         * tests/test-vasnprintf-posix2.c: Likewise.
25489         * tests/test-vasnprintf.c: Likewise.
25490         * tests/test-vasprintf-posix.c: Likewise.
25491         * tests/test-vasprintf.c: Likewise.
25492         * tests/test-vdprintf-posix.c: Likewise.
25493         * tests/test-vfprintf-posix.c: Likewise.
25494         * tests/test-vprintf-posix.c: Likewise.
25495         * tests/test-vsnprintf-posix.c: Likewise.
25496         * tests/test-vsnprintf.c: Likewise.
25497         * tests/test-vsprintf-posix.c: Likewise.
25498         * tests/test-wcrtomb.c: Likewise.
25499         * tests/test-wcsnrtombs.c: Likewise.
25500         * tests/test-wcsrtombs.c: Likewise.
25501         * tests/test-wctype.c: Likewise.
25502         * tests/test-wcwidth.c: Likewise.
25503         * tests/test-xfprintf-posix.c: Likewise.
25504         * tests/test-xmemdup0.c: Likewise.
25505         * tests/test-xprintf-posix.c: Likewise.
25506         * tests/test-xvasprintf.c: Likewise.
25507         * tests/unicase/test-locale-language.c: Likewise.
25508         * tests/unicase/test-mapping-part1.h: Likewise.
25509         * tests/unicase/test-predicate-part1.h: Likewise.
25510         * tests/unicase/test-u8-casecmp.c: Likewise.
25511         * tests/unicase/test-u8-casecoll.c: Likewise.
25512         * tests/unicase/test-u8-casefold.c: Likewise.
25513         * tests/unicase/test-u8-is-cased.c: Likewise.
25514         * tests/unicase/test-u8-is-casefolded.c: Likewise.
25515         * tests/unicase/test-u8-is-lowercase.c: Likewise.
25516         * tests/unicase/test-u8-is-titlecase.c: Likewise.
25517         * tests/unicase/test-u8-is-uppercase.c: Likewise.
25518         * tests/unicase/test-u8-tolower.c: Likewise.
25519         * tests/unicase/test-u8-totitle.c: Likewise.
25520         * tests/unicase/test-u8-toupper.c: Likewise.
25521         * tests/unicase/test-u16-casecmp.c: Likewise.
25522         * tests/unicase/test-u16-casecoll.c: Likewise.
25523         * tests/unicase/test-u16-casefold.c: Likewise.
25524         * tests/unicase/test-u16-is-cased.c: Likewise.
25525         * tests/unicase/test-u16-is-casefolded.c: Likewise.
25526         * tests/unicase/test-u16-is-lowercase.c: Likewise.
25527         * tests/unicase/test-u16-is-titlecase.c: Likewise.
25528         * tests/unicase/test-u16-is-uppercase.c: Likewise.
25529         * tests/unicase/test-u16-tolower.c: Likewise.
25530         * tests/unicase/test-u16-totitle.c: Likewise.
25531         * tests/unicase/test-u16-toupper.c: Likewise.
25532         * tests/unicase/test-u32-casecmp.c: Likewise.
25533         * tests/unicase/test-u32-casecoll.c: Likewise.
25534         * tests/unicase/test-u32-casefold.c: Likewise.
25535         * tests/unicase/test-u32-is-cased.c: Likewise.
25536         * tests/unicase/test-u32-is-casefolded.c: Likewise.
25537         * tests/unicase/test-u32-is-lowercase.c: Likewise.
25538         * tests/unicase/test-u32-is-titlecase.c: Likewise.
25539         * tests/unicase/test-u32-is-uppercase.c: Likewise.
25540         * tests/unicase/test-u32-tolower.c: Likewise.
25541         * tests/unicase/test-u32-totitle.c: Likewise.
25542         * tests/unicase/test-u32-toupper.c: Likewise.
25543         * tests/unicase/test-ulc-casecmp.c: Likewise.
25544         * tests/unicase/test-ulc-casecoll.c: Likewise.
25545         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
25546         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
25547         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
25548         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
25549         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
25550         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
25551         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
25552         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
25553         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
25554         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
25555         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
25556         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
25557         * tests/unictype/test-bidi_byname.c: Likewise.
25558         * tests/unictype/test-bidi_name.c: Likewise.
25559         * tests/unictype/test-bidi_of.c: Likewise.
25560         * tests/unictype/test-bidi_test.c: Likewise.
25561         * tests/unictype/test-block_list.c: Likewise.
25562         * tests/unictype/test-block_of.c: Likewise.
25563         * tests/unictype/test-block_test.c: Likewise.
25564         * tests/unictype/test-categ_and.c: Likewise.
25565         * tests/unictype/test-categ_and_not.c: Likewise.
25566         * tests/unictype/test-categ_byname.c: Likewise.
25567         * tests/unictype/test-categ_name.c: Likewise.
25568         * tests/unictype/test-categ_none.c: Likewise.
25569         * tests/unictype/test-categ_of.c: Likewise.
25570         * tests/unictype/test-categ_or.c: Likewise.
25571         * tests/unictype/test-categ_test_withtable.c: Likewise.
25572         * tests/unictype/test-combining.c: Likewise.
25573         * tests/unictype/test-decdigit.c: Likewise.
25574         * tests/unictype/test-digit.c: Likewise.
25575         * tests/unictype/test-mirror.c: Likewise.
25576         * tests/unictype/test-numeric.c: Likewise.
25577         * tests/unictype/test-pr_byname.c: Likewise.
25578         * tests/unictype/test-pr_test.c: Likewise.
25579         * tests/unictype/test-predicate-part1.h: Likewise.
25580         * tests/unictype/test-scripts.c: Likewise.
25581         * tests/unictype/test-sy_c_ident.c: Likewise.
25582         * tests/unictype/test-sy_java_ident.c: Likewise.
25583         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
25584         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
25585         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
25586         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
25587         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
25588         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
25589         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
25590         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
25591         * tests/uninorm/test-canonical-decomposition.c: Likewise.
25592         * tests/uninorm/test-compat-decomposition.c: Likewise.
25593         * tests/uninorm/test-composition.c: Likewise.
25594         * tests/uninorm/test-decomposing-form.c: Likewise.
25595         * tests/uninorm/test-decomposition.c: Likewise.
25596         * tests/uninorm/test-u8-nfc.c: Likewise.
25597         * tests/uninorm/test-u8-nfd.c: Likewise.
25598         * tests/uninorm/test-u8-nfkc.c: Likewise.
25599         * tests/uninorm/test-u8-nfkd.c: Likewise.
25600         * tests/uninorm/test-u8-normcmp.c: Likewise.
25601         * tests/uninorm/test-u8-normcoll.c: Likewise.
25602         * tests/uninorm/test-u16-nfc.c: Likewise.
25603         * tests/uninorm/test-u16-nfd.c: Likewise.
25604         * tests/uninorm/test-u16-nfkc.c: Likewise.
25605         * tests/uninorm/test-u16-nfkd.c: Likewise.
25606         * tests/uninorm/test-u16-normcmp.c: Likewise.
25607         * tests/uninorm/test-u16-normcoll.c: Likewise.
25608         * tests/uninorm/test-u32-nfc.c: Likewise.
25609         * tests/uninorm/test-u32-nfd.c: Likewise.
25610         * tests/uninorm/test-u32-nfkc.c: Likewise.
25611         * tests/uninorm/test-u32-nfkd.c: Likewise.
25612         * tests/uninorm/test-u32-normalize-big.c: Likewise.
25613         * tests/uninorm/test-u32-normcmp.c: Likewise.
25614         * tests/uninorm/test-u32-normcoll.c: Likewise.
25615         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
25616         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
25617         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
25618         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
25619         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
25620         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
25621         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
25622         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
25623         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
25624         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
25625         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
25626         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
25627         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
25628         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
25629         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
25630         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
25631         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
25632         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
25633         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
25634         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
25635         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
25636         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
25637         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
25638         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
25639         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
25640         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
25641         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
25642         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
25643         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
25644         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
25645         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
25646         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
25647         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
25648         * tests/uniwidth/test-u8-strwidth.c: Likewise.
25649         * tests/uniwidth/test-u8-width.c: Likewise.
25650         * tests/uniwidth/test-u16-strwidth.c: Likewise.
25651         * tests/uniwidth/test-u16-width.c: Likewise.
25652         * tests/uniwidth/test-u32-strwidth.c: Likewise.
25653         * tests/uniwidth/test-u32-width.c: Likewise.
25654         * tests/uniwidth/test-uc_width.c: Likewise.
25655         * tests/uniwidth/test-uc_width2.c: Likewise.
25656         * modules/acl-tests (Files): Add tests/macros.h.
25657         * modules/areadlink-tests (Files): Likewise.
25658         * modules/areadlink-with-size-tests (Files): Likewise.
25659         * modules/areadlinkat-tests (Files): Likewise.
25660         * modules/areadlinkat-with-size-tests (Files): Likewise.
25661         * modules/argmatch-tests (Files): Likewise.
25662         * modules/argv-iter-tests (Files): Likewise.
25663         * modules/array-list-tests (Files): Likewise.
25664         * modules/array-mergesort-tests (Files): Likewise.
25665         * modules/array-oset-tests (Files): Likewise.
25666         * modules/avltree-list-tests (Files): Likewise.
25667         * modules/avltree-oset-tests (Files): Likewise.
25668         * modules/avltreehash-list-tests (Files): Likewise.
25669         * modules/base64-tests (Files): Likewise.
25670         * modules/binary-io-tests (Files): Likewise.
25671         * modules/bitrotate-tests (Files): Likewise.
25672         * modules/btowc-tests (Files): Likewise.
25673         * modules/byteswap-tests (Files): Likewise.
25674         * modules/c-ctype-tests (Files): Likewise.
25675         * modules/c-stack-tests (Files): Likewise.
25676         * modules/c-strcase-tests (Files): Likewise.
25677         * modules/c-strcasestr-tests (Files): Likewise.
25678         * modules/c-strstr-tests (Files): Likewise.
25679         * modules/canonicalize-lgpl-tests (Files): Likewise.
25680         * modules/canonicalize-tests (Files): Likewise.
25681         * modules/carray-list-tests (Files): Likewise.
25682         * modules/ceilf-tests (Files): Likewise.
25683         * modules/ceill-tests (Files): Likewise.
25684         * modules/chown-tests (Files): Likewise.
25685         * modules/cloexec-tests (Files): Likewise.
25686         * modules/copy-file-tests (Files): Likewise.
25687         * modules/count-one-bits-tests (Files): Likewise.
25688         * modules/dprintf-posix-tests (Files): Likewise.
25689         * modules/dup2-tests (Files): Likewise.
25690         * modules/dup3-tests (Files): Likewise.
25691         * modules/duplocale-tests (Files): Likewise.
25692         * modules/fbufmode-tests (Files): Likewise.
25693         * modules/fchdir-tests (Files): Likewise.
25694         * modules/fcntl-safer-tests (Files): Likewise.
25695         * modules/fcntl-tests (Files): Likewise.
25696         * modules/fdopendir-tests (Files): Likewise.
25697         * modules/fdutimensat-tests (Files): Likewise.
25698         * modules/fflush-tests (Files): Likewise.
25699         * modules/filevercmp-tests (Files): Likewise.
25700         * modules/flock-tests (Files): Likewise.
25701         * modules/floorf-tests (Files): Likewise.
25702         * modules/floorl-tests (Files): Likewise.
25703         * modules/fnmatch-tests (Files): Likewise.
25704         * modules/fopen-safer-tests (Files): Likewise.
25705         * modules/fopen-tests (Files): Likewise.
25706         * modules/fpending-tests (Files): Likewise.
25707         * modules/fprintf-posix-tests (Files): Likewise.
25708         * modules/fpurge-tests (Files): Likewise.
25709         * modules/freadable-tests (Files): Likewise.
25710         * modules/freadahead-tests (Files): Likewise.
25711         * modules/freading-tests (Files): Likewise.
25712         * modules/freadptr-tests (Files): Likewise.
25713         * modules/freadseek-tests (Files): Likewise.
25714         * modules/freopen-tests (Files): Likewise.
25715         * modules/frexp-nolibm-tests (Files): Likewise.
25716         * modules/frexp-tests (Files): Likewise.
25717         * modules/frexpl-nolibm-tests (Files): Likewise.
25718         * modules/frexpl-tests (Files): Likewise.
25719         * modules/fseek-tests (Files): Likewise.
25720         * modules/fseeko-tests (Files): Likewise.
25721         * modules/fstrcmp-tests (Files): Likewise.
25722         * modules/fsync-tests (Files): Likewise.
25723         * modules/ftell-tests (Files): Likewise.
25724         * modules/ftello-tests (Files): Likewise.
25725         * modules/func-tests (Files): Likewise.
25726         * modules/futimens-tests (Files): Likewise.
25727         * modules/fwritable-tests (Files): Likewise.
25728         * modules/fwriting-tests (Files): Likewise.
25729         * modules/getcwd-tests (Files): Likewise.
25730         * modules/getdate-tests (Files): Likewise.
25731         * modules/getdelim-tests (Files): Likewise.
25732         * modules/getdtablesize-tests (Files): Likewise.
25733         * modules/getgroups-tests (Files): Likewise.
25734         * modules/getline-tests (Files): Likewise.
25735         * modules/getndelim2-tests (Files): Likewise.
25736         * modules/glob-tests (Files): Likewise.
25737         * modules/hash-tests (Files): Likewise.
25738         * modules/i-ring-tests (Files): Likewise.
25739         * modules/iconv-tests (Files): Likewise.
25740         * modules/iconv_open-utf-tests (Files): Likewise.
25741         * modules/idpriv-drop-tests (Files): Likewise.
25742         * modules/idpriv-droptemp-tests (Files): Likewise.
25743         * modules/inet_ntop-tests (Files): Likewise.
25744         * modules/inet_pton-tests (Files): Likewise.
25745         * modules/isblank-tests (Files): Likewise.
25746         * modules/isfinite-tests (Files): Likewise.
25747         * modules/isinf-tests (Files): Likewise.
25748         * modules/isnan-tests (Files): Likewise.
25749         * modules/isnand-nolibm-tests (Files): Likewise.
25750         * modules/isnand-tests (Files): Likewise.
25751         * modules/isnanf-nolibm-tests (Files): Likewise.
25752         * modules/isnanf-tests (Files): Likewise.
25753         * modules/isnanl-nolibm-tests (Files): Likewise.
25754         * modules/isnanl-tests (Files): Likewise.
25755         * modules/lchown-tests (Files): Likewise.
25756         * modules/ldexpl-tests (Files): Likewise.
25757         * modules/link-tests (Files): Likewise.
25758         * modules/linkat-tests (Files): Likewise.
25759         * modules/linked-list-tests (Files): Likewise.
25760         * modules/linkedhash-list-tests (Files): Likewise.
25761         * modules/localename-tests (Files): Likewise.
25762         * modules/lseek-tests (Files): Likewise.
25763         * modules/lstat-tests (Files): Likewise.
25764         * modules/mbmemcasecmp-tests (Files): Likewise.
25765         * modules/mbmemcasecoll-tests (Files): Likewise.
25766         * modules/mbrtowc-tests (Files): Likewise.
25767         * modules/mbscasecmp-tests (Files): Likewise.
25768         * modules/mbscasestr-tests (Files): Likewise.
25769         * modules/mbschr-tests (Files): Likewise.
25770         * modules/mbscspn-tests (Files): Likewise.
25771         * modules/mbsinit-tests (Files): Likewise.
25772         * modules/mbsncasecmp-tests (Files): Likewise.
25773         * modules/mbsnrtowcs-tests (Files): Likewise.
25774         * modules/mbspbrk-tests (Files): Likewise.
25775         * modules/mbspcasecmp-tests (Files): Likewise.
25776         * modules/mbsrchr-tests (Files): Likewise.
25777         * modules/mbsrtowcs-tests (Files): Likewise.
25778         * modules/mbsspn-tests (Files): Likewise.
25779         * modules/mbsstr-tests (Files): Likewise.
25780         * modules/memchr-tests (Files): Likewise.
25781         * modules/memchr2-tests (Files): Likewise.
25782         * modules/memcmp-tests (Files): Likewise.
25783         * modules/memmem-tests (Files): Likewise.
25784         * modules/memrchr-tests (Files): Likewise.
25785         * modules/mkdir-tests (Files): Likewise.
25786         * modules/mkfifo-tests (Files): Likewise.
25787         * modules/mkfifoat-tests (Files): Likewise.
25788         * modules/mknod-tests (Files): Likewise.
25789         * modules/nanosleep-tests (Files): Likewise.
25790         * modules/nl_langinfo-tests (Files): Likewise.
25791         * modules/obstack-printf-tests (Files): Likewise.
25792         * modules/open-tests (Files): Likewise.
25793         * modules/openat-tests (Files): Likewise.
25794         * modules/pipe-filter-gi-tests (Files): Likewise.
25795         * modules/pipe-filter-ii-tests (Files): Likewise.
25796         * modules/pipe2-tests (Files): Likewise.
25797         * modules/popen-safer-tests (Files): Likewise.
25798         * modules/popen-tests (Files): Likewise.
25799         * modules/posixtm-tests (Files): Likewise.
25800         * modules/pread-tests (Files): Likewise.
25801         * modules/printf-frexp-tests (Files): Likewise.
25802         * modules/printf-frexpl-tests (Files): Likewise.
25803         * modules/printf-posix-tests (Files): Likewise.
25804         * modules/priv-set-tests (Files): Likewise.
25805         * modules/quotearg-tests (Files): Likewise.
25806         * modules/random_r-tests (Files): Likewise.
25807         * modules/rawmemchr-tests (Files): Likewise.
25808         * modules/rbtree-list-tests (Files): Likewise.
25809         * modules/rbtree-oset-tests (Files): Likewise.
25810         * modules/rbtreehash-list-tests (Files): Likewise.
25811         * modules/readlink-tests (Files): Likewise.
25812         * modules/remove-tests (Files): Likewise.
25813         * modules/rename-tests (Files): Likewise.
25814         * modules/renameat-tests (Files): Likewise.
25815         * modules/rmdir-tests (Files): Likewise.
25816         * modules/round-tests (Files): Likewise.
25817         * modules/roundf-tests (Files): Likewise.
25818         * modules/roundl-tests (Files): Likewise.
25819         * modules/safe-alloc-tests (Files): Likewise.
25820         * modules/setenv-tests (Files): Likewise.
25821         * modules/sigaction-tests (Files): Likewise.
25822         * modules/signbit-tests (Files): Likewise.
25823         * modules/sleep-tests (Files): Likewise.
25824         * modules/snprintf-posix-tests (Files): Likewise.
25825         * modules/snprintf-tests (Files): Likewise.
25826         * modules/sprintf-posix-tests (Files): Likewise.
25827         * modules/stat-tests (Files): Likewise.
25828         * modules/stat-time-tests (Files): Likewise.
25829         * modules/strcasestr-tests (Files): Likewise.
25830         * modules/strchrnul-tests (Files): Likewise.
25831         * modules/strerror-tests (Files): Likewise.
25832         * modules/striconv-tests (Files): Likewise.
25833         * modules/striconveh-tests (Files): Likewise.
25834         * modules/striconveha-tests (Files): Likewise.
25835         * modules/strsignal-tests (Files): Likewise.
25836         * modules/strstr-tests (Files): Likewise.
25837         * modules/strtod-tests (Files): Likewise.
25838         * modules/strverscmp-tests (Files): Likewise.
25839         * modules/symlink-tests (Files): Likewise.
25840         * modules/symlinkat-tests (Files): Likewise.
25841         * modules/trunc-tests (Files): Likewise.
25842         * modules/truncf-tests (Files): Likewise.
25843         * modules/truncl-tests (Files): Likewise.
25844         * modules/uname-tests (Files): Likewise.
25845         * modules/unicase/cased-tests (Files): Likewise.
25846         * modules/unicase/ignorable-tests (Files): Likewise.
25847         * modules/unicase/locale-language-tests (Files): Likewise.
25848         * modules/unicase/tolower-tests (Files): Likewise.
25849         * modules/unicase/totitle-tests (Files): Likewise.
25850         * modules/unicase/toupper-tests (Files): Likewise.
25851         * modules/unicase/u8-casecmp-tests (Files): Likewise.
25852         * modules/unicase/u8-casecoll-tests (Files): Likewise.
25853         * modules/unicase/u8-casefold-tests (Files): Likewise.
25854         * modules/unicase/u8-is-cased-tests (Files): Likewise.
25855         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
25856         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
25857         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
25858         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
25859         * modules/unicase/u8-tolower-tests (Files): Likewise.
25860         * modules/unicase/u8-totitle-tests (Files): Likewise.
25861         * modules/unicase/u8-toupper-tests (Files): Likewise.
25862         * modules/unicase/u16-casecmp-tests (Files): Likewise.
25863         * modules/unicase/u16-casecoll-tests (Files): Likewise.
25864         * modules/unicase/u16-casefold-tests (Files): Likewise.
25865         * modules/unicase/u16-is-cased-tests (Files): Likewise.
25866         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
25867         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
25868         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
25869         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
25870         * modules/unicase/u16-tolower-tests (Files): Likewise.
25871         * modules/unicase/u16-totitle-tests (Files): Likewise.
25872         * modules/unicase/u16-toupper-tests (Files): Likewise.
25873         * modules/unicase/u32-casecmp-tests (Files): Likewise.
25874         * modules/unicase/u32-casecoll-tests (Files): Likewise.
25875         * modules/unicase/u32-casefold-tests (Files): Likewise.
25876         * modules/unicase/u32-is-cased-tests (Files): Likewise.
25877         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
25878         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
25879         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
25880         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
25881         * modules/unicase/u32-tolower-tests (Files): Likewise.
25882         * modules/unicase/u32-totitle-tests (Files): Likewise.
25883         * modules/unicase/u32-toupper-tests (Files): Likewise.
25884         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
25885         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
25886         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
25887         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
25888         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
25889         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
25890         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
25891         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
25892         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
25893         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
25894         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
25895         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
25896         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
25897         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
25898         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
25899         * modules/unictype/bidicategory-name-tests (Files): Likewise.
25900         * modules/unictype/bidicategory-of-tests (Files): Likewise.
25901         * modules/unictype/bidicategory-test-tests (Files): Likewise.
25902         * modules/unictype/block-list-tests (Files): Likewise.
25903         * modules/unictype/block-of-tests (Files): Likewise.
25904         * modules/unictype/block-test-tests (Files): Likewise.
25905         * modules/unictype/category-C-tests (Files): Likewise.
25906         * modules/unictype/category-Cc-tests (Files): Likewise.
25907         * modules/unictype/category-Cf-tests (Files): Likewise.
25908         * modules/unictype/category-Cn-tests (Files): Likewise.
25909         * modules/unictype/category-Co-tests (Files): Likewise.
25910         * modules/unictype/category-Cs-tests (Files): Likewise.
25911         * modules/unictype/category-L-tests (Files): Likewise.
25912         * modules/unictype/category-Ll-tests (Files): Likewise.
25913         * modules/unictype/category-Lm-tests (Files): Likewise.
25914         * modules/unictype/category-Lo-tests (Files): Likewise.
25915         * modules/unictype/category-Lt-tests (Files): Likewise.
25916         * modules/unictype/category-Lu-tests (Files): Likewise.
25917         * modules/unictype/category-M-tests (Files): Likewise.
25918         * modules/unictype/category-Mc-tests (Files): Likewise.
25919         * modules/unictype/category-Me-tests (Files): Likewise.
25920         * modules/unictype/category-Mn-tests (Files): Likewise.
25921         * modules/unictype/category-N-tests (Files): Likewise.
25922         * modules/unictype/category-Nd-tests (Files): Likewise.
25923         * modules/unictype/category-Nl-tests (Files): Likewise.
25924         * modules/unictype/category-No-tests (Files): Likewise.
25925         * modules/unictype/category-P-tests (Files): Likewise.
25926         * modules/unictype/category-Pc-tests (Files): Likewise.
25927         * modules/unictype/category-Pd-tests (Files): Likewise.
25928         * modules/unictype/category-Pe-tests (Files): Likewise.
25929         * modules/unictype/category-Pf-tests (Files): Likewise.
25930         * modules/unictype/category-Pi-tests (Files): Likewise.
25931         * modules/unictype/category-Po-tests (Files): Likewise.
25932         * modules/unictype/category-Ps-tests (Files): Likewise.
25933         * modules/unictype/category-S-tests (Files): Likewise.
25934         * modules/unictype/category-Sc-tests (Files): Likewise.
25935         * modules/unictype/category-Sk-tests (Files): Likewise.
25936         * modules/unictype/category-Sm-tests (Files): Likewise.
25937         * modules/unictype/category-So-tests (Files): Likewise.
25938         * modules/unictype/category-Z-tests (Files): Likewise.
25939         * modules/unictype/category-Zl-tests (Files): Likewise.
25940         * modules/unictype/category-Zp-tests (Files): Likewise.
25941         * modules/unictype/category-Zs-tests (Files): Likewise.
25942         * modules/unictype/category-and-not-tests (Files): Likewise.
25943         * modules/unictype/category-and-tests (Files): Likewise.
25944         * modules/unictype/category-byname-tests (Files): Likewise.
25945         * modules/unictype/category-name-tests (Files): Likewise.
25946         * modules/unictype/category-none-tests (Files): Likewise.
25947         * modules/unictype/category-of-tests (Files): Likewise.
25948         * modules/unictype/category-or-tests (Files): Likewise.
25949         * modules/unictype/category-test-withtable-tests (Files): Likewise.
25950         * modules/unictype/combining-class-tests (Files): Likewise.
25951         * modules/unictype/ctype-alnum-tests (Files): Likewise.
25952         * modules/unictype/ctype-alpha-tests (Files): Likewise.
25953         * modules/unictype/ctype-blank-tests (Files): Likewise.
25954         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
25955         * modules/unictype/ctype-digit-tests (Files): Likewise.
25956         * modules/unictype/ctype-graph-tests (Files): Likewise.
25957         * modules/unictype/ctype-lower-tests (Files): Likewise.
25958         * modules/unictype/ctype-print-tests (Files): Likewise.
25959         * modules/unictype/ctype-punct-tests (Files): Likewise.
25960         * modules/unictype/ctype-space-tests (Files): Likewise.
25961         * modules/unictype/ctype-upper-tests (Files): Likewise.
25962         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
25963         * modules/unictype/decimal-digit-tests (Files): Likewise.
25964         * modules/unictype/digit-tests (Files): Likewise.
25965         * modules/unictype/mirror-tests (Files): Likewise.
25966         * modules/unictype/numeric-tests (Files): Likewise.
25967         * modules/unictype/property-alphabetic-tests (Files): Likewise.
25968         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
25969         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
25970         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
25971         Likewise.
25972         * modules/unictype/property-bidi-block-separator-tests (Files):
25973         Likewise.
25974         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
25975         Likewise.
25976         * modules/unictype/property-bidi-common-separator-tests (Files):
25977         Likewise.
25978         * modules/unictype/property-bidi-control-tests (Files): Likewise.
25979         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
25980         Likewise.
25981         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
25982         Likewise.
25983         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
25984         Likewise.
25985         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
25986         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
25987         Likewise.
25988         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
25989         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
25990         Likewise.
25991         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
25992         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
25993         * modules/unictype/property-bidi-segment-separator-tests (Files):
25994         Likewise.
25995         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
25996         * modules/unictype/property-byname-tests (Files): Likewise.
25997         * modules/unictype/property-combining-tests (Files): Likewise.
25998         * modules/unictype/property-composite-tests (Files): Likewise.
25999         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
26000         * modules/unictype/property-dash-tests (Files): Likewise.
26001         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
26002         * modules/unictype/property-default-ignorable-code-point-tests (Files):
26003         Likewise.
26004         * modules/unictype/property-deprecated-tests (Files): Likewise.
26005         * modules/unictype/property-diacritic-tests (Files): Likewise.
26006         * modules/unictype/property-extender-tests (Files): Likewise.
26007         * modules/unictype/property-format-control-tests (Files): Likewise.
26008         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
26009         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
26010         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
26011         * modules/unictype/property-hex-digit-tests (Files): Likewise.
26012         * modules/unictype/property-hyphen-tests (Files): Likewise.
26013         * modules/unictype/property-id-continue-tests (Files): Likewise.
26014         * modules/unictype/property-id-start-tests (Files): Likewise.
26015         * modules/unictype/property-ideographic-tests (Files): Likewise.
26016         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
26017         * modules/unictype/property-ids-trinary-operator-tests (Files):
26018         Likewise.
26019         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
26020         * modules/unictype/property-iso-control-tests (Files): Likewise.
26021         * modules/unictype/property-join-control-tests (Files): Likewise.
26022         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
26023         * modules/unictype/property-line-separator-tests (Files): Likewise.
26024         * modules/unictype/property-logical-order-exception-tests (Files):
26025         Likewise.
26026         * modules/unictype/property-lowercase-tests (Files): Likewise.
26027         * modules/unictype/property-math-tests (Files): Likewise.
26028         * modules/unictype/property-non-break-tests (Files): Likewise.
26029         * modules/unictype/property-not-a-character-tests (Files): Likewise.
26030         * modules/unictype/property-numeric-tests (Files): Likewise.
26031         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
26032         * modules/unictype/property-other-default-ignorable-code-point-tests
26033         (Files): Likewise.
26034         * modules/unictype/property-other-grapheme-extend-tests (Files):
26035         Likewise.
26036         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
26037         * modules/unictype/property-other-id-start-tests (Files): Likewise.
26038         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
26039         * modules/unictype/property-other-math-tests (Files): Likewise.
26040         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
26041         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
26042         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
26043         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
26044         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
26045         * modules/unictype/property-private-use-tests (Files): Likewise.
26046         * modules/unictype/property-punctuation-tests (Files): Likewise.
26047         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
26048         * modules/unictype/property-radical-tests (Files): Likewise.
26049         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
26050         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
26051         * modules/unictype/property-space-tests (Files): Likewise.
26052         * modules/unictype/property-terminal-punctuation-tests (Files):
26053         Likewise.
26054         * modules/unictype/property-test-tests (Files): Likewise.
26055         * modules/unictype/property-titlecase-tests (Files): Likewise.
26056         * modules/unictype/property-unassigned-code-value-tests (Files):
26057         Likewise.
26058         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
26059         * modules/unictype/property-uppercase-tests (Files): Likewise.
26060         * modules/unictype/property-variation-selector-tests (Files): Likewise.
26061         * modules/unictype/property-white-space-tests (Files): Likewise.
26062         * modules/unictype/property-xid-continue-tests (Files): Likewise.
26063         * modules/unictype/property-xid-start-tests (Files): Likewise.
26064         * modules/unictype/property-zero-width-tests (Files): Likewise.
26065         * modules/unictype/scripts-tests (Files): Likewise.
26066         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
26067         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
26068         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
26069         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
26070         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
26071         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
26072         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
26073         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
26074         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
26075         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
26076         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
26077         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
26078         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
26079         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
26080         * modules/uninorm/composition-tests (Files): Likewise.
26081         * modules/uninorm/decomposing-form-tests (Files): Likewise.
26082         * modules/uninorm/decomposition-tests (Files): Likewise.
26083         * modules/uninorm/filter-tests (Files): Likewise.
26084         * modules/uninorm/nfc-tests (Files): Likewise.
26085         * modules/uninorm/nfd-tests (Files): Likewise.
26086         * modules/uninorm/nfkc-tests (Files): Likewise.
26087         * modules/uninorm/nfkd-tests (Files): Likewise.
26088         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
26089         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
26090         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
26091         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
26092         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
26093         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
26094         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
26095         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
26096         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
26097         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
26098         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
26099         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
26100         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
26101         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
26102         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
26103         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
26104         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
26105         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
26106         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
26107         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
26108         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
26109         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
26110         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
26111         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
26112         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
26113         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
26114         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
26115         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
26116         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
26117         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
26118         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
26119         * modules/uniwidth/u8-width-tests (Files): Likewise.
26120         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
26121         * modules/uniwidth/u16-width-tests (Files): Likewise.
26122         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
26123         * modules/uniwidth/u32-width-tests (Files): Likewise.
26124         * modules/uniwidth/width-tests (Files): Likewise.
26125         * modules/unlink-tests (Files): Likewise.
26126         * modules/unsetenv-tests (Files): Likewise.
26127         * modules/usleep-tests (Files): Likewise.
26128         * modules/utimens-tests (Files): Likewise.
26129         * modules/utimensat-tests (Files): Likewise.
26130         * modules/vasnprintf-posix-tests (Files): Likewise.
26131         * modules/vasnprintf-tests (Files): Likewise.
26132         * modules/vasprintf-posix-tests (Files): Likewise.
26133         * modules/vasprintf-tests (Files): Likewise.
26134         * modules/vdprintf-posix-tests (Files): Likewise.
26135         * modules/vfprintf-posix-tests (Files): Likewise.
26136         * modules/vprintf-posix-tests (Files): Likewise.
26137         * modules/vsnprintf-posix-tests (Files): Likewise.
26138         * modules/vsnprintf-tests (Files): Likewise.
26139         * modules/vsprintf-posix-tests (Files): Likewise.
26140         * modules/wcrtomb-tests (Files): Likewise.
26141         * modules/wcsnrtombs-tests (Files): Likewise.
26142         * modules/wcsrtombs-tests (Files): Likewise.
26143         * modules/wctype-tests (Files): Likewise.
26144         * modules/wcwidth-tests (Files): Likewise.
26145         * modules/xmemdup0-tests (Files): Likewise.
26146         * modules/xprintf-posix-tests (Files): Likewise.
26147         * modules/xvasprintf-tests (Files): Likewise.
26148
26149 2009-12-24  Eric Blake  <ebb9@byu.net>
26150
26151         test-nanosleep: fix typo
26152         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
26153         patch.
26154         Reported by Bruno Haible.
26155
26156 2009-12-24  Bruno Haible  <bruno@clisp.org>
26157
26158         Reduce namespace pollution on glibc systems.
26159         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
26160         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
26161         systems.
26162         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
26163         <getopt.h> on glibc systems.
26164         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
26165         systems.
26166         * lib/fcntl.c: Include <unistd.h> here instead.
26167
26168 2009-12-24  Bruno Haible  <bruno@clisp.org>
26169
26170         * lib/stdlib.in.h (includes): Fix typo in today's commit.
26171
26172 2009-12-24  Eric Blake  <ebb9@byu.net>
26173
26174         tests: add signature checks
26175         * tests/signature.h (SIGNATURE_CHECK): New file.
26176         * modules/atexit-tests (Files): Use it.
26177         * modules/btowc-tests (Files): Likewise.
26178         * modules/canonicalize-lgpl-tests (Files): Likewise.
26179         * modules/ceilf-tests (Files): Likewise.
26180         * modules/ceill-tests (Files): Likewise.
26181         * modules/chown-tests (Files): Likewise.
26182         * modules/dprintf-posix-tests (Files): Likewise.
26183         * modules/dup2-tests (Files): Likewise.
26184         * modules/dup3-tests (Files): Likewise.
26185         * modules/duplocale-tests (Files): Likewise.
26186         * modules/fchdir-tests (Files): Likewise.
26187         * modules/fcntl-tests (Files): Likewise.
26188         * modules/fdopendir-tests (Files): Likewise.
26189         * modules/fflush-tests (Files): Likewise.
26190         * modules/flock-tests (Files): Likewise.
26191         * modules/floorf-tests (Files): Likewise.
26192         * modules/floorl-tests (Files): Likewise.
26193         * modules/fnmatch-tests (Files): Likewise.
26194         * modules/fopen-tests (Files): Likewise.
26195         * modules/fprintf-posix-tests (Files): Likewise.
26196         * modules/freopen-tests (Files): Likewise.
26197         * modules/frexp-nolibm-tests (Files): Likewise.
26198         * modules/frexp-tests (Files): Likewise.
26199         * modules/frexpl-nolibm-tests (Files): Likewise.
26200         * modules/frexpl-tests (Files): Likewise.
26201         * modules/fseek-tests (Files): Likewise.
26202         * modules/fseeko-tests (Files): Likewise.
26203         * modules/fsync-tests (Files): Likewise.
26204         * modules/ftell-tests (Files): Likewise.
26205         * modules/ftello-tests (Files): Likewise.
26206         * modules/futimens-tests (Files): Likewise.
26207         * modules/getaddrinfo-tests (Files): Likewise.
26208         * modules/getcwd-tests (Files): Likewise.
26209         * modules/getdelim-tests (Files): Likewise.
26210         * modules/getdtablesize-tests (Files): Likewise.
26211         * modules/getgroups-tests (Files): Likewise.
26212         * modules/gethostname-tests (Files): Likewise.
26213         * modules/getline-tests (Files): Likewise.
26214         * modules/getopt-posix-tests (Files): Likewise.
26215         * modules/gettimeofday-tests (Files): Likewise.
26216         * modules/glob-tests (Files): Likewise.
26217         * modules/iconv-tests (Files): Likewise.
26218         * modules/inet_ntop-tests (Files): Likewise.
26219         * modules/inet_pton-tests (Files): Likewise.
26220         * modules/isblank-tests (Files): Likewise.
26221         * modules/lchown-tests (Files): Likewise.
26222         * modules/ldexpl-tests (Files): Likewise.
26223         * modules/link-tests (Files): Likewise.
26224         * modules/linkat-tests (Files): Likewise.
26225         * modules/lseek-tests (Files): Likewise.
26226         * modules/lstat-tests (Files): Likewise.
26227         * modules/mbrtowc-tests (Files): Likewise.
26228         * modules/mbsinit-tests (Files): Likewise.
26229         * modules/mbsnrtowcs-tests (Files): Likewise.
26230         * modules/mbsrtowcs-tests (Files): Likewise.
26231         * modules/memchr-tests (Files): Likewise.
26232         * modules/memcmp-tests (Files): Likewise.
26233         * modules/memmem-tests (Files): Likewise.
26234         * modules/memrchr-tests (Files): Likewise.
26235         * modules/mkdir-tests (Files): Likewise.
26236         * modules/mkfifo-tests (Files): Likewise.
26237         * modules/mkfifoat-tests (Files): Likewise.
26238         * modules/mknod-tests (Files): Likewise.
26239         * modules/nanosleep-tests (Files): Likewise.
26240         * modules/nl_langinfo-tests (Files): Likewise.
26241         * modules/obstack-printf-tests (Files): Likewise.
26242         * modules/open-tests (Files): Likewise.
26243         * modules/openat-tests (Files): Likewise.
26244         * modules/perror-tests (Files): Likewise.
26245         * modules/pipe2-tests (Files): Likewise.
26246         * modules/poll-tests (Files): Likewise.
26247         * modules/popen-tests (Files): Likewise.
26248         * modules/posix_spawn-tests (Files): Likewise.
26249         * modules/posix_spawnp-tests (Files): Likewise.
26250         * modules/pread-tests (Files): Likewise.
26251         * modules/printf-posix-tests (Files): Likewise.
26252         * modules/pty-tests (Files): Likewise.
26253         * modules/random_r-tests (Files): Likewise.
26254         * modules/rawmemchr-tests (Files): Likewise.
26255         * modules/readlink-tests (Files): Likewise.
26256         * modules/remove-tests (Files): Likewise.
26257         * modules/rename-tests (Files): Likewise.
26258         * modules/renameat-tests (Files): Likewise.
26259         * modules/rmdir-tests (Files): Likewise.
26260         * modules/round-tests (Files): Likewise.
26261         * modules/roundf-tests (Files): Likewise.
26262         * modules/roundl-tests (Files): Likewise.
26263         * modules/select-tests (Files): Likewise.
26264         * modules/setenv-tests (Files): Likewise.
26265         * modules/sigaction-tests (Files): Likewise.
26266         * modules/sleep-tests (Files): Likewise.
26267         * modules/snprintf-posix-tests (Files): Likewise.
26268         * modules/snprintf-tests (Files): Likewise.
26269         * modules/sprintf-posix-tests (Files): Likewise.
26270         * modules/stat-tests (Files): Likewise.
26271         * modules/strcasestr-tests (Files): Likewise.
26272         * modules/strchrnul-tests (Files): Likewise.
26273         * modules/strerror-tests (Files): Likewise.
26274         * modules/strsignal-tests (Files): Likewise.
26275         * modules/strstr-tests (Files): Likewise.
26276         * modules/strtod-tests (Files): Likewise.
26277         * modules/strverscmp-tests (Files): Likewise.
26278         * modules/symlink-tests (Files): Likewise.
26279         * modules/symlinkat-tests (Files): Likewise.
26280         * modules/times-tests (Files): Likewise.
26281         * modules/trunc-tests (Files): Likewise.
26282         * modules/truncf-tests (Files): Likewise.
26283         * modules/truncl-tests (Files): Likewise.
26284         * modules/tsearch-tests (Files): Likewise.
26285         * modules/uname-tests (Files): Likewise.
26286         * modules/unlink-tests (Files): Likewise.
26287         * modules/unsetenv-tests (Files): Likewise.
26288         * modules/usleep-tests (Files): Likewise.
26289         * modules/utimensat-tests (Files): Likewise.
26290         * modules/vasprintf-tests (Files): Likewise.
26291         * modules/vdprintf-posix-tests (Files): Likewise.
26292         * modules/vfprintf-posix-tests (Files): Likewise.
26293         * modules/vprintf-posix-tests (Files): Likewise.
26294         * modules/vsnprintf-posix-tests (Files): Likewise.
26295         * modules/vsnprintf-tests (Files): Likewise.
26296         * modules/vsprintf-posix-tests (Files): Likewise.
26297         * modules/wcrtomb-tests (Files): Likewise.
26298         * modules/wcsnrtombs-tests (Files): Likewise.
26299         * modules/wcsrtombs-tests (Files): Likewise.
26300         * modules/wcwidth-tests (Files): Likewise.
26301         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
26302         * tests/test-isinf.c (isinf): Likewise.
26303         * tests/test-isnan.c (isnan): Likewise.
26304         * tests/test-signbit.c (signbit): Likewise.
26305         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
26306         declaration, either as macro or with correct signature.
26307         (select): Ensure function under test is declared with correct
26308         signature in correct header.
26309         * tests/test-atexit.c (atexit): Likewise.
26310         * tests/test-btowc.c (btowc): Likewise.
26311         * tests/test-canonicalize-lgpl.c (realpath)
26312         (canonicalize_file_name): Likewise.
26313         * tests/test-ceilf1.c (ceilf): Likewise.
26314         * tests/test-ceill.c (ceill): Likewise.
26315         * tests/test-chown.c (chown): Likewise.
26316         * tests/test-dprintf-posix.c (dprintf): Likewise.
26317         * tests/test-dup2.c (dup2): Likewise.
26318         * tests/test-dup3.c (dup3): Likewise.
26319         * tests/test-duplocale.c (duplocale): Likewise.
26320         * tests/test-fchdir.c (fchdir): Likewise.
26321         * tests/test-fchownat.c (fchownat): Likewise.
26322         * tests/test-fcntl.c (fcntl): Likewise.
26323         * tests/test-fdopendir.c (fdopendir): Likewise.
26324         * tests/test-fflush.c (fflush): Likewise.
26325         * tests/test-flock.c (flock): Likewise.
26326         * tests/test-floorf1.c (floorf): Likewise.
26327         * tests/test-floorl.c (floorl): Likewise.
26328         * tests/test-fnmatch.c (fnmatch): Likewise.
26329         * tests/test-fopen.c (fopen): Likewise.
26330         * tests/test-fprintf-posix.c (fprintf): Likewise.
26331         * tests/test-freopen.c (freopen): Likewise.
26332         * tests/test-frexp.c (frexp): Likewise.
26333         * tests/test-frexpl.c (frexpl): Likewise.
26334         * tests/test-fseek.c (fseek): Likewise.
26335         * tests/test-fseeko.c (fseeko): Likewise.
26336         * tests/test-fstatat.c (fstatat): Likewise.
26337         * tests/test-fsync.c (fsync): Likewise.
26338         * tests/test-ftell.c (ftell): Likewise.
26339         * tests/test-ftello.c (ftello): Likewise.
26340         * tests/test-futimens.c (futimens): Likewise.
26341         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
26342         (gai_strerror): Likewise.
26343         * tests/test-getcwd.c (getcwd): Likewise.
26344         * tests/test-getdelim.c (getdelim): Likewise.
26345         * tests/test-getdtablesize.c (getdtablesize): Likewise.
26346         * tests/test-getgroups.c (getgroups): Likewise.
26347         * tests/test-gethostname.c (gethostname): Likewise.
26348         * tests/test-getline.c (getline): Likewise.
26349         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
26350         Likewise.
26351         * tests/test-gettimeofday.c (gettimeofday): Likewise.
26352         * tests/test-glob.c (glob, globfree): Likewise.
26353         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
26354         * tests/test-inet_ntop.c (inet_ntop): Likewise.
26355         * tests/test-inet_pton.c (inet_pton): Likewise.
26356         * tests/test-isblank.c (isblank): Likewise.
26357         * tests/test-lchown.c (lchown): Likewise.
26358         * tests/test-ldexpl.c (ldexpl): Likewise.
26359         * tests/test-link.c (link): Likewise.
26360         * tests/test-linkat.c (linkat): Likewise.
26361         * tests/test-lseek.c (lseek): Likewise.
26362         * tests/test-lstat.c (lstat): Likewise.
26363         * tests/test-mbrtowc.c (mbrtowc): Likewise.
26364         * tests/test-mbsinit.c (mbsinit): Likewise.
26365         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
26366         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
26367         * tests/test-memchr.c (memchr): Likewise.
26368         * tests/test-memcmp.c (memcmp): Likewise.
26369         * tests/test-memmem.c (memmem): Likewise.
26370         * tests/test-memrchr.c (memrchr): Likewise.
26371         * tests/test-mkdir.c (mkdir): Likewise.
26372         * tests/test-mkdirat.c (mkdirat): Likewise.
26373         * tests/test-mkfifo.c (mkfifo): Likewise.
26374         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
26375         * tests/test-mknod.c (mknod): Likewise.
26376         * tests/test-nanosleep.c (nanosleep): Likewise.
26377         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
26378         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
26379         Likewise.
26380         * tests/test-open.c (open): Likewise.
26381         * tests/test-openat.c (openat): Likewise.
26382         * tests/test-perror.c (perror): Likewise.
26383         * tests/test-pipe2.c (pipe2): Likewise.
26384         * tests/test-poll.c (poll): Likewise.
26385         * tests/test-popen.c (popen, pclose): Likewise.
26386         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
26387         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
26388         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
26389         (posix_spawn_file_actions_destroy)
26390         (posix_spawn_file_actions_addclose)
26391         (posix_spawn_file_actions_addopen)
26392         (posix_spawn_file_actions_adddup2): Likewise.
26393         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
26394         * tests/test-pread.c (pread): Likewise.
26395         * tests/test-printf-posix.c (printf): Likewise.
26396         * tests/test-pty.c (openpty, forkpty): Likewise.
26397         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
26398         (random_r): Likewise.
26399         * tests/test-rawmemchr.c (rawmemchr): Likewise.
26400         * tests/test-readlink.c (readlink): Likewise.
26401         * tests/test-remove.c (remove): Likewise.
26402         * tests/test-rename.c (rename): Likewise.
26403         * tests/test-renameat.c (renameat): Likewise.
26404         * tests/test-rmdir.c (rmdir): Likewise.
26405         * tests/test-round1.c (round): Likewise.
26406         * tests/test-roundf1.c (roundf): Likewise.
26407         * tests/test-roundl.c (roundl): Likewise.
26408         * tests/test-setenv.c (setenv): Likewise.
26409         * tests/test-sigaction.c (sigaction): Likewise.
26410         * tests/test-sleep.c (sleep): Likewise.
26411         * tests/test-snprintf.c (snprintf): Likewise.
26412         * tests/test-sprintf-posix.c (sprintf): Likewise.
26413         * tests/test-stat.c (stat): Likewise.
26414         * tests/test-stpncpy.c (stpncpy): Likewise.
26415         * tests/test-strcasestr.c (strcasestr): Likewise.
26416         * tests/test-strchrnul.c (strchrnul): Likewise.
26417         * tests/test-strerror.c (strerror): Likewise.
26418         * tests/test-strsignal.c (strsignal): Likewise.
26419         * tests/test-strstr.c (strstr): Likewise.
26420         * tests/test-strtod.c (strtod): Likewise.
26421         * tests/test-strverscmp.c (strverscmp): Likewise.
26422         * tests/test-symlink.c (symlink): Likewise.
26423         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
26424         * tests/test-times.c (times): Likewise.
26425         * tests/test-trunc1.c (trunc): Likewise.
26426         * tests/test-truncf1.c (truncf): Likewise.
26427         * tests/test-truncl.c (truncl): Likewise.
26428         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
26429         Likewise.
26430         * tests/test-uname.c (uname): Likewise.
26431         * tests/test-unlink.c (unlink): Likewise.
26432         * tests/test-unlinkat.c (unlinkat): Likewise.
26433         * tests/test-unsetenv.c (unsetenv): Likewise.
26434         * tests/test-usleep.c (usleep): Likewise.
26435         * tests/test-utimensat.c (utimensat): Likewise.
26436         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
26437         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
26438         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
26439         * tests/test-vprintf-posix.c (vprintf): Likewise.
26440         * tests/test-vsnprintf.c (vsnprintf): Likewise.
26441         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
26442         * tests/test-wcrtomb.c (wcrtomb): Likewise.
26443         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
26444         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
26445         * tests/test-wcwidth.c (wcwidth): Likewise.
26446
26447         build: pull in conditional headers during GNULIB_POSIXCHECK
26448         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
26449         definitions from any conditionally-included headers.
26450         * lib/stdlib.in.h (includes): Likewise.
26451         * lib/unistd.in.h (includes): Likewise.
26452
26453 2009-12-24  Bruno Haible  <bruno@clisp.org>
26454
26455         * tests/test-argv-iter.c: Include header file being tested immediately
26456         after config.h.
26457         * tests/test-base64.c: Likewise.
26458         * tests/test-flock.c: Likewise.
26459         * tests/test-fsync.c: Likewise.
26460         * tests/test-getdate.c: Likewise.
26461         * tests/test-getndelim2.c: Likewise.
26462         * tests/test-isfinite.c: Likewise.
26463         * tests/test-isinf.c: Likewise.
26464         * tests/test-strerror.c: Likewise.
26465         * tests/test-strsignal.c: Likewise.
26466
26467 2009-12-23  Eric Blake  <ebb9@byu.net>
26468
26469         unistd: work around cygwin bug
26470         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
26471         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
26472         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
26473
26474 2009-12-23  Bruno Haible  <bruno@clisp.org>
26475
26476         localename: More tests.
26477         * tests/test-localename.c (SIZEOF): New macro.
26478         (categories): New variable.
26479         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
26480         test_locale_name_default): Add test w.r.t. thread locale.
26481         (test_locale_name_thread): New function.
26482         (main): Invoke it.
26483
26484         localename: Make aware of thread locale.
26485         * lib/localename.h (gl_locale_name_thread): New declaration.
26486         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
26487         behaviour with respect to thread locale.
26488         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
26489         <langinfo.h>, glthread/lock.h.
26490         (SIZE_BITS): New macro.
26491         (string_hash): New function.
26492         (struct hash_node): New type.
26493         (HASH_TABLE_SIZE): New macro.
26494         (struniq_hash_table, struniq_lock): New variables.
26495         (struniq): New function.
26496         (gl_locale_name_thread): New function.
26497         (gl_locale_name): Invoke it.
26498         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
26499         * modules/localename (Depends-on): Add lock.
26500         Reported by Mike Gran <spk121@yahoo.com>.
26501
26502 2009-12-23  Eric Blake  <ebb9@byu.net>
26503
26504         va-args: new module
26505         * modules/va-args: New file.
26506         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
26507         * MODULES.html.sh (Core language properties): Mention it.
26508
26509         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
26510         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
26511         named alias for __attribute__((__unused__)).
26512         * lib/chown.c: Update client.
26513         * lib/fchmodat.c: Likewise.
26514         * lib/fts.c: Likewise.
26515         * lib/getdate.y: Likewise.
26516         * lib/getgroups.c: Likewise.
26517         * lib/getopt.c: Likewise.
26518         * lib/getugroups.c: Likewise.
26519         * lib/mkdir.c: Likewise.
26520         * lib/mkfifo.c: Likewise.
26521         * lib/mkfifoat.c: Likewise.
26522         * lib/mknod.c: Likewise.
26523         * lib/mknodat.c: Likewise.
26524         * lib/readlink.c: Likewise.
26525         * lib/se-context.in.h: Likewise.
26526         * lib/se-selinux.in.h: Likewise.
26527         * lib/sockets.c: Likewise.
26528         * lib/symlink.c: Likewise.
26529         * lib/symlinkat.c: Likewise.
26530         * lib/unicodeio.c: Likewise.
26531         * lib/unistr.h: Likewise.
26532         * tests/test-areadlink.c: Likewise.
26533         * tests/test-areadlinkat.c: Likewise.
26534         * tests/test-filenamecat.c: Likewise.
26535         * tests/test-fseeko.c: Likewise.
26536         * tests/test-ftello.c: Likewise.
26537         * tests/test-getdate.c: Likewise.
26538         * tests/test-getgroups.c: Likewise.
26539         * tests/test-gethostname.c: Likewise.
26540         * tests/test-quotearg.c: Likewise.
26541         * tests/test-version-etc.c: Likewise.
26542         * tests/test-xalloc-die.c: Likewise.
26543         * tests/test-xfprintf-posix.c: Likewise.
26544         * tests/test-xprintf-posix.c: Likewise.
26545         * tests/test-xvasprintf.c: Likewise.
26546
26547         tests: avoid compiler warnings
26548         * tests/test-fcntl.c (main): Delete unused parameters.
26549         * tests/test-freopen-safer.c (main): Likewise.
26550         * tests/test-xalloc-die.c (main): Mark unused parameters.
26551         * tests/test-fseeko.c (main): Likewise.
26552         * tests/test-ftello.c (main): Likewise.
26553         * tests/test-nanosleep.c (main): Avoid declaration warning.
26554         * tests/test-sleep.c (main): Likewise.
26555         * tests/test-unsetenv.c (main): Silence warning about string
26556         literal.
26557         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
26558
26559 2009-12-23  Bruno Haible  <bruno@clisp.org>
26560
26561         * tests/test-localename.c (test_locale_name): New function, extracted
26562         from main. Also test mixed situations.
26563         (test_locale_name_posix, test_locale_name_environ,
26564         test_locale_name_default): New functions.
26565         (main): Invoke them all.
26566         * modules/localename-tests (configure.ac): Test for newlocale.
26567
26568 2009-12-23  Bruno Haible  <bruno@clisp.org>
26569
26570         unistd: Ensure getcwd gets declared before being overridden.
26571         * lib/unistd.in.h: Conditionally include <io.h>.
26572
26573 2009-12-22  Bruno Haible  <bruno@clisp.org>
26574
26575         wchar: Diagnose broken combination of glibc and gcc versions and flags.
26576         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
26577         (gl_WCHAR_H): Invoke it.
26578         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
26579         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
26580         Reported by Karl Berry <karl@freefriends.org>.
26581
26582 2009-12-22  Eric Blake  <ebb9@byu.net>
26583
26584         math, unistd: avoid redundant includes
26585         * lib/math.in.h (isnan): No need to re-include <math.h>.
26586         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
26587
26588         getsubopt: work around cygwin bug
26589         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
26590         avoid conflicting with system getsubopt.
26591         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
26592         bug.
26593
26594         getopt: synchronize from glibc
26595         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
26596         parameter order.  Adjust all callers.
26597         (_getopt_internal_r, main): Adjust quoting in error messages.
26598         Drop considerations for outdated POSIX 1003.2 error message.
26599         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
26600         callers.
26601         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
26602
26603         test-getopt: test stderr behavior
26604         * modules/getopt-posix-tests (Depends-on): Add dup2.
26605         * tests/test-getopt.c (ASSERT): Avoid stderr.
26606         (main): Move stderr to a temporary file.
26607         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
26608         Instead, add parameter to inform caller if output occurred.
26609         (test_getopt): Adjust all existing tests to expect silence, and
26610         add new tests of leading ":".
26611         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
26612         glibc shortcomings with leading "-:" or "+:" in optstring.
26613         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26614         Likewise.
26615         * doc/posix-functions/getopt.texi (getopt): Likewise.
26616
26617         test-getopt: enhance test
26618         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
26619         supports optind=0.
26620         * tests/test-getopt.c (OPTIND_MIN): Move...
26621         * tests/test-getopt.h (OPTIND_MIN): ...here.
26622         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
26623         Require that optind=0 works, since modern BSD supports it in
26624         addition to optreset, and since coreutils expects it.
26625         (test_getopt_long_only): New test.
26626         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
26627         glibc shortcomings with 'W;', and enforcement of optind=0.
26628         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26629         Likewise.
26630
26631 2009-12-21  Bruno Haible  <bruno@clisp.org>
26632
26633         localename: Improvements for MacOS X and Cygwin.
26634         * lib/localename.h (gl_locale_name_environ): New declaration.
26635         * lib/localename.c (gl_locale_name_environ): New function, extracted from
26636         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
26637         (gl_locale_name_posix): Invoke it.
26638         (gl_locale_name_default): Add comments. Use Windows native API also on
26639         Cygwin.
26640
26641 2009-12-21  Bruno Haible  <bruno@clisp.org>
26642
26643         Update list of Win32 locale ids.
26644         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
26645         (LANG_SAMI): Renamed from LANG_SAAMI.
26646         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
26647         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
26648         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
26649         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
26650         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
26651         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
26652         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
26653         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
26654         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
26655         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
26656         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
26657         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
26658         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
26659         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
26660         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
26661         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
26662         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
26663         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
26664         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
26665         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
26666         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
26667         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
26668         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
26669         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
26670         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
26671         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
26672         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
26673         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
26674         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
26675         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
26676         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
26677         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
26678         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
26679         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
26680         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
26681         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
26682         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
26683         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
26684         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
26685         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
26686         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
26687         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
26688         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
26689         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
26690         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
26691         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
26692         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
26693         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
26694         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
26695         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
26696         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
26697         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
26698         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
26699         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
26700         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
26701         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
26702         Add more languages and countries for Sami, Sorbian. Add more countries
26703         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
26704         for Pashto. Change country for Syriac, Tswana.
26705
26706 2009-12-21  Eric Blake  <ebb9@byu.net>
26707
26708         test-utimens: avoid spurious failure
26709         * tests/test-chown.h (nap): Factor...
26710         * tests/nap.h: ...into new file.
26711         * tests/test-lchown.h (nap): Avoid duplication.
26712         * tests/test-utimens-common.h (nap): Use shared implementation,
26713         necessary on file systems with 1-second resolution.
26714         * modules/chown-tests (Files): Include new file.
26715         * modules/fdutimensat-tests (Files): Likewise.
26716         * modules/futimens-tests (Files): Likewise.
26717         * modules/lchown-tests (Files): Likewise.
26718         * modules/openat-tests (Files): Likewise.
26719         * modules/utimens-tests (Files): Likewise.
26720         * modules/utimensat-tests (Files): Likewise.
26721
26722 2009-12-19  Eric Blake  <ebb9@byu.net>
26723
26724         futimens, utimensat: work around Linux bug
26725         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
26726         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
26727         * lib/utimensat.c (rpl_utimensat): Work around it.
26728         * lib/futimens.c (rpl_futimens): Adjust comment.
26729
26730         utimens: work around Linux ctime bug
26731         * lib/utimens.c (detect_ctime_bug): New helper function.
26732         (update_timespec): Differentiate between workaround needed for
26733         this bug vs. what is needed for systems that lack utimensat.
26734         (fdutimens, lutimens): Work around bug.
26735
26736         utimens: check for ctime update
26737         * tests/test-utimens-common.h (check_ctime): Define.
26738         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
26739         * tests/test-futimens.h (test_futimens): Likewise.
26740         * tests/test-lutimens.h (test_lutimens): Likewise.
26741         * doc/posix-functions/futimens.texi (futimens): Document the bug.
26742         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
26743
26744 2009-12-19  Bruno Haible  <bruno@clisp.org>
26745
26746         dprintf-posix: Check against memory leak fixed on 2009-12-15.
26747         * tests/test-dprintf-posix2.sh: New file.
26748         * tests/test-dprintf-posix2.c: New file.
26749         * modules/dprintf-posix-tests (Files): Add them.
26750         (configure.ac): Check for getrlimit and setrlimit.
26751         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
26752
26753 2009-12-19  Bruno Haible  <bruno@clisp.org>
26754
26755         fprintf-posix: Check against memory leak fixed on 2009-12-15.
26756         * tests/test-fprintf-posix3.sh: New file.
26757         * tests/test-fprintf-posix3.c: New file.
26758         * modules/fprintf-posix-tests (Files): Add them.
26759         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
26760
26761 2009-12-19  Eric Blake  <ebb9@byu.net>
26762
26763         dirfd: fix prototype
26764         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
26765         * lib/dirfd.c (dirfd): Likewise.
26766
26767         canonicalize: reduce memory usage
26768         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
26769         allocation to size.
26770         Reported by Solar Designer <solar@openwall.com>.
26771
26772 2009-12-19  Bruno Haible  <bruno@clisp.org>
26773
26774         New module attribute 'Applicability'.
26775         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
26776         * gnulib-tool: New option --extract-applicability.
26777         (func_usage): Document it.
26778         (sed_extract_prog): Recognize it.
26779         (func_get_applicability): New function.
26780         (func_import): Generalize handling of 'link-warning' module.
26781         * modules/link-warning (Applicability): New section.
26782         * modules/arg-nonnull (Applicability): New section.
26783         Repoted by Simon Josefsson <simon@josefsson.org>.
26784
26785 2009-12-19  Bruno Haible  <bruno@clisp.org>
26786
26787         fflush: tweak
26788         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
26789         * lib/fseeko.c (rpl_fseeko): Likewise.
26790
26791 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
26792
26793         * lib/gl_list.h: Fix typo in comment.
26794
26795 2009-12-16  Eric Blake  <ebb9@byu.net>
26796
26797         fcntl: use to simplify other modules
26798         * modules/cloexec (Depends-on): Add fcntl.
26799         * modules/fchdir (Depends-on): Likewise.
26800         * modules/fd-safer-flag (Depends-on): Likewise.
26801         * modules/unistd-safer (Depends-on): Likewise.
26802         * modules/dup3 (configure.ac): Set module indicator.
26803         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
26804         missing.
26805         * lib/fchdir.c (_gl_register_dup): Fix comment.
26806         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
26807         * lib/dup-safer.c (dup_safer): Likewise.
26808         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
26809         * lib/dup3.c (dup3): Likewise.
26810         * tests/test-fchdir.c (main): Enhance test.
26811         Fixes a dup_cloexec bug reported by Ondřej Vašík.
26812
26813         fcntl: port portions of fcntl to mingw
26814         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
26815         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
26816         replacement for mingw.
26817         * modules/fcntl (Description): Update.
26818         (Depends-on): Add dup2.
26819         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
26820         * modules/fcntl-h (Makefile.am): Substitute it.
26821         * lib/fcntl.in.h (fcntl): Update declaration.
26822         (F_DUPFD, F_GETFD): New macros, when needed.
26823         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
26824         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
26825         * tests/test-fcntl.c (check_flags, main): Enhance test for items
26826         we now guarantee.
26827
26828         fcntl: work around cygwin bug in F_DUPFD
26829         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
26830         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
26831         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
26832         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
26833         * doc/posix-functions/fcntl.texi (fcntl): Document it.
26834
26835         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
26836         * modules/fcntl (Files): List new files.
26837         (configure.ac): Run a test.
26838         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
26839         * lib/fcntl.c (rpl_fcntl): Likewise.
26840         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
26841         (gl_FCNTL_H): Always replace fcntl.h.
26842         * modules/fcntl-h (Makefile.am): Substitute witnesses.
26843         * lib/fcntl.in.h (fcntl): Declare replacement.
26844         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
26845         needed, plus a witness.
26846         * doc/posix-functions/fcntl.texi (fcntl): Document this.
26847         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
26848         * tests/test-fcntl.c: New file.
26849         * modules/fcntl-tests: Likewise.
26850
26851         binary-io: avoid potential compilation warning
26852         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
26853         directives.
26854
26855         fflush: avoid compilation error on NetBSD
26856         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
26857         between off_t and fpos_t, since the latter is sometimes a struct.
26858         * lib/fseeko.c (rpl_fseeko): Likewise.
26859         Reported by Alexander Nasonov <alnsn@yandex.ru>.
26860
26861 2009-12-15  Eric Blake  <ebb9@byu.net>
26862
26863         fcntl-h, stdio, sys_ioctl: fix declarations
26864         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
26865         function must not take arguments.
26866         * lib/sys_ioctl.in.h (ioctl): Likewise.
26867         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
26868         (open): Add a link warning.
26869
26870 2009-12-15  Jim Meyering  <meyering@redhat.com>
26871
26872         areadlink, areadlink-with-size: relax license to LGPLv2+
26873         * modules/areadlink (License): Relax to LGPLv2+.
26874         * modules/areadlink-with-size (License): Likewise.
26875
26876 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
26877             Bruno Haible  <bruno@clisp.org>
26878
26879         *printf: Fix memory leak.
26880         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
26881         * lib/vfprintf.c (vfprintf): Likewise.
26882         * lib/dprintf.c (dprintf): Likewise.
26883         * lib/vdprintf.c (vdprintf): Likewise.
26884
26885 2009-12-14  Eric Blake  <ebb9@byu.net>
26886
26887         accept4: adjust module dependencies
26888         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
26889
26890         utimens: one more try at avoiding compiler warning
26891         * lib/utimens.c (lutimens): Lower scope of result.
26892
26893 2009-12-13  Bruno Haible  <bruno@clisp.org>
26894
26895         Move the malloc checking from module 'list' to new module 'xlist'.
26896         * modules/xlist: New file.
26897         * lib/gl_xlist.h: New file.
26898         * lib/gl_xlist.c: New file.
26899         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
26900         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
26901         gl_list_add_last, gl_list_add_before, gl_list_add_after,
26902         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
26903         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
26904         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
26905         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
26906         gl_sortedlist_nx_add): New declarations.
26907         (struct gl_list_implementation): Rename and change methods accordingly.
26908         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
26909         (gl_list_nx_create): Renamed from gl_list_create.
26910         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
26911         (gl_list_nx_set_at): Renamed from gl_list_set_at.
26912         (gl_list_nx_add_first): Renamed from gl_list_add_first.
26913         (gl_list_nx_add_last): Renamed from gl_list_add_last.
26914         (gl_list_nx_add_before): Renamed from gl_list_add_before.
26915         (gl_list_nx_add_after): Renamed from gl_list_add_after.
26916         (gl_list_nx_add_at): Renamed from gl_list_add_at.
26917         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
26918         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
26919         gl_list_create_empty.
26920         (gl_list_nx_create): Renamed from gl_list_create.
26921         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
26922         (gl_list_nx_set_at): Renamed from gl_list_set_at.
26923         (gl_list_nx_add_first): Renamed from gl_list_add_first.
26924         (gl_list_nx_add_last): Renamed from gl_list_add_last.
26925         (gl_list_nx_add_before): Renamed from gl_list_add_before.
26926         (gl_list_nx_add_after): Renamed from gl_list_add_after.
26927         (gl_list_nx_add_at): Renamed from gl_list_add_at.
26928         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
26929         * lib/gl_array_list.c: Don't include xalloc.h.
26930         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
26931         NULL upon out-of-memory.
26932         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
26933         out-of-memory.
26934         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
26935         Change return type to 'int'.
26936         (gl_array_nx_set_at): Renamed from gl_array_set_at.
26937         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
26938         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
26939         upon out-of-memory.
26940         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
26941         upon out-of-memory.
26942         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
26943         upon out-of-memory.
26944         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
26945         upon out-of-memory.
26946         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
26947         out-of-memory.
26948         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
26949         Update.
26950         (gl_array_list_implementation): Update.
26951         * lib/gl_carray_list.c: Don't include xalloc.h.
26952         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
26953         Return NULL upon out-of-memory.
26954         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
26955         out-of-memory.
26956         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
26957         Change return type to 'int'.
26958         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
26959         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
26960         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
26961         upon out-of-memory.
26962         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
26963         upon out-of-memory.
26964         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
26965         out-of-memory.
26966         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
26967         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
26968         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
26969         Update.
26970         (gl_carray_list_implementation): Update.
26971         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
26972         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
26973         gl_linked_create_empty. Return NULL upon out-of-memory.
26974         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
26975         out-of-memory.
26976         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
26977         Change return type to 'int'. Return -1 upon out-of-memory.
26978         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
26979         out-of-memory.
26980         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
26981         upon out-of-memory.
26982         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
26983         upon out-of-memory.
26984         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
26985         NULL upon out-of-memory.
26986         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
26987         upon out-of-memory.
26988         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
26989         out-of-memory.
26990         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
26991         Update.
26992         * lib/gl_linked_list.c: Don't include xalloc.h.
26993         (gl_linked_list_implementation): Update.
26994         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
26995         (add_to_bucket): Change return type to 'int'.
26996         (gl_linkedhash_list_implementation): Update.
26997         * lib/gl_anytree_list1.h (free_subtree): New function.
26998         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
26999         gl_tree_create_empty. Return NULL upon out-of-memory.
27000         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
27001         Change return type to 'int'. Return -1 upon out-of-memory.
27002         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
27003         out-of-memory.
27004         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
27005         (gl_tree_remove_node): New function, moved here from
27006         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
27007         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
27008         Update.
27009         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
27010         malloc, not xmalloc. Return NULL upon out-of-memory.
27011         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
27012         out-of-memory.
27013         (gl_tree_remove_node_from_tree): New function, extracted from
27014         gl_tree_remove_node.
27015         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
27016         upon out-of-memory.
27017         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
27018         out-of-memory.
27019         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
27020         upon out-of-memory.
27021         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
27022         upon out-of-memory.
27023         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
27024         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
27025         not xmalloc. Return NULL upon out-of-memory.
27026         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
27027         out-of-memory.
27028         (gl_tree_remove_node_from_tree): New function, extracted from
27029         gl_tree_remove_node.
27030         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
27031         upon out-of-memory.
27032         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
27033         out-of-memory.
27034         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
27035         upon out-of-memory.
27036         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
27037         upon out-of-memory.
27038         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
27039         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
27040         gl_anytree_list1.h before gl_anyavltree_list2.h.
27041         (gl_avltree_list_implementation): Update.
27042         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
27043         gl_anytree_list1.h before gl_anyavltree_list2.h.
27044         (gl_rbtree_list_implementation): Update.
27045         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
27046         Change return type to 'int'. Return -1 upon out-of-memory. Use
27047         __builtin_expect.
27048         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
27049         (gl_avltreehash_list_implementation): Update.
27050         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
27051         (gl_rbtreehash_list_implementation): Update.
27052         * modules/array-list (Depends-on): Remove xalloc.
27053         * modules/carray-list (Depends-on): Likewise.
27054         * modules/linked-list (Depends-on): Likewise.
27055         * modules/linkedhash-list (Depends-on): Likewise.
27056         * modules/avltree-list (Depends-on): Likewise.
27057         * modules/rbtree-list (Depends-on): Likewise.
27058         * modules/avltreehash-list (Depends-on): Likewise.
27059         * modules/rbtreehash-list (Depends-on): Likewise.
27060
27061         * modules/xsublist: New file.
27062         * lib/gl_xsublist.h: New file.
27063         * lib/gl_xsublist.c: New file.
27064         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
27065         (gl_sublist_nx_create): New declaration.
27066         * lib/gl_sublist.c: Don't include xalloc.h.
27067         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
27068         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
27069         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
27070         Change return type to 'int'. Return -1 upon out-of-memory.
27071         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
27072         upon out-of-memory.
27073         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
27074         NULL upon out-of-memory.
27075         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
27076         upon out-of-memory.
27077         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
27078         NULL upon out-of-memory.
27079         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
27080         NULL upon out-of-memory.
27081         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
27082         upon out-of-memory.
27083         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
27084         (gl_sublist_list_implementation): Update.
27085         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
27086         upon out-of-memory.
27087         * modules/sublist (Depends-on): Remove xalloc.
27088
27089         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
27090         * tests/test-carray_list.c: Likewise.
27091         * tests/test-linked_list.c: Likewise.
27092         * tests/test-linkedhash_list.c: Likewise.
27093         * tests/test-avltree_list.c: Likewise.
27094         * tests/test-rbtree_list.c: Likewise.
27095         * tests/test-avltreehash_list.c: Likewise.
27096         * tests/test-rbtreehash_list.c: Likewise.
27097         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
27098         * modules/carray-list-tests (Makefile.am): Likewise.
27099         * modules/linked-list-tests (Makefile.am): Likewise.
27100         * modules/linkedhash-list-tests (Makefile.am): Likewise.
27101         * modules/avltree-list-tests (Makefile.am): Likewise.
27102         * modules/rbtree-list-tests (Makefile.am): Likewise.
27103         * modules/avltreehash-list-tests (Makefile.am): Likewise.
27104         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
27105
27106         * NEWS: Mention the changes.
27107
27108         * lib/clean-temp.c: Include gl_xlist.h.
27109         * modules/clean-temp (Depends-on): Add xlist.
27110
27111         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
27112         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
27113
27114         * tests/test-array_oset.c: Include gl_xlist.h.
27115         * modules/array-oset-tests (Depends-on): Add xlist.
27116
27117         Reported by José E. Marchesi <jemarch@gnu.org>.
27118
27119 2009-12-13  Bruno Haible  <bruno@clisp.org>
27120
27121         Move the malloc checking from module 'oset' to new module 'xoset'.
27122         * modules/xoset: New file.
27123         * lib/gl_xoset.h: New file.
27124         * lib/gl_xoset.c: New file.
27125         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
27126         declarations.
27127         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
27128         (struct gl_oset_implementation): Rename and change methods accordingly.
27129         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
27130         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
27131         'int'. Mark as __warn_unused_result__.
27132         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
27133         gl_oset_create_empty.
27134         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
27135         'int'.
27136         * lib/gl_array_oset.c: Don't include xalloc.h.
27137         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
27138         malloc, not xmalloc.
27139         (grow): Change return type to 'int'. Don't call xalloc_die.
27140         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
27141         to 'int'.
27142         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
27143         'int'.
27144         (gl_array_oset_implementation): Update.
27145         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
27146         gl_tree_create_empty.
27147         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
27148         'int'.
27149         * lib/gl_avltree_oset.c: Don't include xalloc.h.
27150         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
27151         xmalloc.
27152         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
27153         not xmalloc.
27154         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
27155         xmalloc.
27156         (gl_avltree_oset_implementation): Update.
27157         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
27158         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
27159         xmalloc.
27160         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
27161         not xmalloc.
27162         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
27163         xmalloc.
27164         (gl_rbtree_oset_implementation): Update.
27165         * modules/array-oset (Depends-on): Remove xalloc.
27166         * modules/avltree-oset (Depends-on): Likewise.
27167         * modules/rbtree-oset (Depends-on): Likewise.
27168         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
27169         * tests/test-avltree_oset.c: Likewise.
27170         * tests/test-rbtree_oset.c: Likewise.
27171         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
27172         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
27173         * modules/rbtree-oset-tests (Makefile.am): Likewise.
27174         * NEWS: Mention the change.
27175
27176 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
27177
27178         maint.mk: allow a project to override release-prep commands
27179         * top/maint.mk (alpha, beta, stable): Move release-preparatory
27180         commands into a new rule.
27181         (release-prep): New rule.
27182         (release-prep-hook): New overridable variable.
27183
27184 2009-12-13  Bruno Haible  <bruno@clisp.org>
27185
27186         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
27187
27188 2009-12-13  Jim Meyering  <meyering@redhat.com>
27189
27190         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
27191         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
27192
27193 2009-12-12  Bruno Haible  <bruno@clisp.org>
27194
27195         duplocale: Tweak.
27196         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
27197
27198 2009-12-12  Karl Berry  <karl@gnu.org>
27199
27200         * config/srclist.txt (strtoll.c): tab changes, no more sync.
27201
27202 2009-12-12  Bruno Haible  <bruno@clisp.org>
27203
27204         * m4/po.m4: Undo incorrect untabification.
27205
27206 2009-12-12  Bruno Haible  <bruno@clisp.org>
27207
27208         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
27209         * modules/c-strtod (Depends-on): Add locale.
27210         * modules/c-strtold (Depends-on): Likewise.
27211
27212 2009-12-12  Bruno Haible  <bruno@clisp.org>
27213
27214         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
27215
27216 2009-12-11  Eric Blake  <ebb9@byu.net>
27217
27218         setenv: relax requirement in light of POSIX ruling
27219         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
27220         not NULL.
27221         * tests/test-setenv.c (main): Relax test.
27222         * tests/test-unsetenv.c (main): Likewise.
27223         * doc/posix-functions/setenv.texi (setenv): Document this.
27224         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
27225
27226 2009-12-11  Bruno Haible  <bruno@clisp.org>
27227
27228         New module 'fd-safer-flag'.
27229         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
27230         * lib/dup-safer.c (dup_safer_flag): Remove function.
27231         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
27232         * lib/fd-safer.c (fd_safer_flag): Remove function.
27233         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
27234         * modules/cloexec (configure.ac): Drop indicator macro.
27235         * modules/fd-safer-flag: New file.
27236         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
27237         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
27238         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
27239
27240 2009-12-11  Bruno Haible  <bruno@clisp.org>
27241
27242         Tests for module 'nl_langinfo'.
27243         * modules/nl_langinfo-tests: New file.
27244         * tests/test-nl_langinfo.sh: New file.
27245         * tests/test-nl_langinfo.c: New file.
27246
27247         New module 'nl_langinfo'.
27248         * lib/nl_langinfo.c: New file.
27249         * m4/nl_langinfo.m4: New file.
27250         * modules/nl_langinfo: New file.
27251         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
27252
27253 2009-12-11  Bruno Haible  <bruno@clisp.org>
27254
27255         Tests for module 'langinfo'.
27256         * modules/langinfo-tests: New file.
27257         * tests/test-langinfo.c: New file.
27258
27259         New module 'langinfo'.
27260         * lib/langinfo.in.h: New file.
27261         * m4/langinfo_h.m4: New file.
27262         * modules/langinfo: New file.
27263         * doc/posix-headers/langinfo.texi: Mention the new module.
27264
27265 2009-12-11  Bruno Haible  <bruno@clisp.org>
27266
27267         * lib/config.charset: Untabify.
27268
27269 2009-12-11  Bruno Haible  <bruno@clisp.org>
27270
27271         * modules/unistd-safer (configure.ac): Drop indicator macro.
27272
27273 2009-12-11  Bruno Haible  <bruno@clisp.org>
27274
27275         Move pipe2-safer code to its own file.
27276         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
27277         * lib/pipe-safer.c (pipe2_safer): Remove function.
27278         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
27279         (Makefile.am): Add it to lib_SOURCES.
27280
27281 2009-12-10  Bruno Haible  <bruno@clisp.org>
27282
27283         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
27284
27285 2009-12-10  Bruno Haible  <bruno@clisp.org>
27286
27287         Declare which arguments expect non-NULL values, for GCC and clang.
27288         * build-aux/arg-nonnull.h: New file.
27289         * modules/arg-nonnull: New file.
27290         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
27291         (inet_ntop, inet_pton): Use it.
27292         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
27293         (closedir, dirfd, opendir, scandir, alphasort): Use it.
27294         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
27295         (open, openat): Use it.
27296         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
27297         (fnmatch): Use it.
27298         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
27299         (getopt, getopt_long, getopt_long_only): Use it.
27300         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
27301         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
27302         Use it.
27303         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
27304         (iconv_open): Use it.
27305         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
27306         (strtoimax, strtoumax): Use it.
27307         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
27308         (duplocale): Use it.
27309         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
27310         (frexp, frexpl): Use it.
27311         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
27312         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
27313         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
27314         (tsearch, tfind, tdelete, twalk): Use it.
27315         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
27316         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
27317         sigpending): Use it.
27318         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
27319         (posix_spawn, posix_spawnp, posix_spawnattr_init,
27320         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
27321         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
27322         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
27323         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
27324         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
27325         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
27326         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
27327         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
27328         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
27329         Use it.
27330         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
27331         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
27332         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
27333         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
27334         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
27335         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
27336         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
27337         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
27338         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
27339         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
27340         strtoull, unsetenv): Use it.
27341         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
27342         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
27343         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
27344         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
27345         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
27346         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
27347         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
27348         (strcasecmp, strncasecmp): Use it.
27349         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
27350         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
27351         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
27352         rpl_setsockopt): Use it.
27353         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
27354         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
27355         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
27356         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
27357         (gettimeofday): Use it.
27358         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
27359         (times): Use it.
27360         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
27361         (uname): Use it.
27362         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
27363         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
27364         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
27365         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
27366         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
27367         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
27368         unlinkat, write): Use it.
27369         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
27370         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
27371         * lib/argv-iter.h: Include arg-nonnull.h.
27372         (_ATTRIBUTE_NONNULL_): Remove macro.
27373         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
27374         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
27375         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
27376         optimization.
27377         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
27378         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
27379         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
27380         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
27381         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
27382         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
27383         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
27384         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
27385         * modules/arpa_inet (Depends-on): Add arg-nonnull.
27386         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
27387         * modules/dirent (Depends-on): Add arg-nonnull.
27388         (Makefile.am): Insert arg-nonnull.h into dirent.h.
27389         * modules/fcntl-h (Depends-on): Add arg-nonnull.
27390         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
27391         * modules/fnmatch (Depends-on): Add arg-nonnull.
27392         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
27393         * modules/getopt-posix (Depends-on): Add arg-nonnull.
27394         (Makefile.am): Insert arg-nonnull.h into getopt.h.
27395         * modules/glob (Depends-on): Add arg-nonnull.
27396         (Makefile.am): Insert arg-nonnull.h into glob.h.
27397         * modules/iconv_open (Depends-on): Add arg-nonnull.
27398         (Makefile.am): Insert arg-nonnull.h into iconv.h.
27399         * modules/inttypes (Depends-on): Add arg-nonnull.
27400         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
27401         * modules/locale (Depends-on): Add arg-nonnull.
27402         (Makefile.am): Insert arg-nonnull.h into locale.h.
27403         * modules/math (Depends-on): Add arg-nonnull.
27404         (Makefile.am): Insert arg-nonnull.h into math.h.
27405         * modules/netdb (Depends-on): Add arg-nonnull.
27406         (Makefile.am): Insert arg-nonnull.h into netdb.h.
27407         * modules/search (Depends-on): Add arg-nonnull.
27408         (Makefile.am): Insert arg-nonnull.h into search.h.
27409         * modules/signal (Depends-on): Add arg-nonnull.
27410         (Makefile.am): Insert arg-nonnull.h into signal.h.
27411         * modules/spawn (Depends-on): Add arg-nonnull.
27412         (Makefile.am): Insert arg-nonnull.h into spawn.h.
27413         * modules/stdio (Depends-on): Add arg-nonnull.
27414         (Makefile.am): Insert arg-nonnull.h into stdio.h.
27415         * modules/stdlib (Depends-on): Add arg-nonnull.
27416         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
27417         * modules/string (Depends-on): Add arg-nonnull.
27418         (Makefile.am): Insert arg-nonnull.h into string.h.
27419         * modules/strings (Depends-on): Add arg-nonnull.
27420         (Makefile.am): Insert arg-nonnull.h into strings.h.
27421         * modules/sys_socket (Depends-on): Add arg-nonnull.
27422         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
27423         * modules/sys_stat (Depends-on): Add arg-nonnull.
27424         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
27425         * modules/sys_time (Depends-on): Add arg-nonnull.
27426         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
27427         * modules/sys_times (Depends-on): Add arg-nonnull.
27428         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
27429         * modules/sys_utsname (Depends-on): Add arg-nonnull.
27430         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
27431         * modules/time (Depends-on): Add arg-nonnull.
27432         (Makefile.am): Insert arg-nonnull.h into time.h.
27433         * modules/unistd (Depends-on): Add arg-nonnull.
27434         (Makefile.am): Insert arg-nonnull.h into unistd.h.
27435         * modules/wchar (Depends-on): Add arg-nonnull.
27436         (Makefile.am): Insert arg-nonnull.h into wchar.h.
27437         * modules/argv-iter (Depends-on): Add arg-nonnull.
27438         * tests/test-canonicalize.c (null_ptr): New function.
27439         (main): Use it.
27440         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
27441         (main): Use it.
27442         * tests/test-memmem.c (null_ptr): New function.
27443         (main): Use it.
27444         Reported by Jim Meyering.
27445
27446 2009-12-10  Bruno Haible  <bruno@clisp.org>
27447
27448         Use spaces for indentation, not tabs.
27449         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
27450         * m4/*.m4: Untabify.
27451         * build-aux/*.h: Untabify.
27452         * tests/**/*.[hc]: Untabify.
27453         * README: New section "Indent with spaces, not TABs", based on
27454         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
27455         * NEWS: Mention the change.
27456
27457 2009-12-10  Bruno Haible  <bruno@clisp.org>
27458
27459         pty test: Fix link error.
27460         * modules/pty-tests (Makefile.am): Add the default LDADD value to
27461         test_pty_LDADD.
27462
27463 2009-12-07  Simon Josefsson  <simon@josefsson.org>
27464
27465         * modules/pty: New file.
27466         * modules/pty-tests: New file.
27467         * m4/pty.m4: New file.
27468         * tests/test-pty.c: New file.
27469         * doc/glibc-headers/pty.texi: Modified.
27470         * doc/glibc-functions/forkpty.texi: Modified.
27471         * doc/glibc-functions/openpty.texi: Modified.
27472
27473 2009-12-10  Bruno Haible  <bruno@clisp.org>
27474
27475         Avoid syntax error in C++ mode.
27476         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
27477
27478 2009-12-10  Bruno Haible  <bruno@clisp.org>
27479
27480         Use sed with option -e.
27481         * gnulib-tool (func_version, func_emit_copyright_notice,
27482         func_emit_initmacro_end, func_import, func_create_testdir): Pass
27483         option -e to sed.
27484         * modules/link-warning (Makefile.am): Likewise.
27485
27486 2009-12-10  Jim Meyering  <meyering@redhat.com>
27487
27488         mgetgroups: do not write bytes beyond end of malloc'd buffer
27489         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
27490         username, we call getgroups with a one-element-shorter buffer,
27491         but still told it the length was original, max_n_groups.
27492
27493 2009-12-09  Eric Blake  <ebb9@byu.net>
27494
27495         cloexec: relax license
27496         * modules/cloexec (Maintainer): Add myself.
27497         (License): Use LGPL, not GPL.
27498
27499         link-warning: optimize generation
27500         * modules/link-warning (Makefile.am): Reduce process usage.
27501
27502 2009-12-09  Bruno Haible  <bruno@clisp.org>
27503
27504         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
27505         workaround was added on 2009-11-17.
27506
27507 2009-12-09  Jim Meyering  <meyering@redhat.com>
27508             Bruno Haible  <bruno@clisp.org>
27509
27510         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
27511         * modules/link-warning (Makefile.am): Make the comment-removing sed
27512         command more robust in the face of bootstrap-prepended comment lines.
27513
27514 2009-12-09  Bruno Haible  <bruno@clisp.org>
27515
27516         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
27517         most one group.
27518
27519 2009-12-09  Simon Josefsson <simon@josefsson.org>
27520             Bruno Haible  <bruno@clisp.org>
27521
27522         * build-aux/link-warning.h: Add copyright notice.
27523         * modules/link-warning (Makefile.am): Generate link-warning.h from
27524         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
27525         * NEWS: Mention change in link-warning module.
27526         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
27527         * modules/dirent (Makefile.am): Add dependency to dirent.h.
27528         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
27529         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
27530         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
27531         * modules/math (Makefile.am): Add dependency to math.h.
27532         * modules/search (Makefile.am): Add dependency to search.h.
27533         * modules/signal (Makefile.am): Add dependency to signal.h.
27534         * modules/spawn (Makefile.am): Add dependency to spawn.h.
27535         * modules/stdio (Makefile.am): Add dependency to stdio.h.
27536         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
27537         * modules/string (Makefile.am): Add dependency to string.h.
27538         * modules/strings (Makefile.am): Add dependency to strings.h.
27539         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
27540         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
27541         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
27542         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
27543         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
27544         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
27545         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
27546         * modules/unistd (Makefile.am): Add dependency to unistd.h.
27547         * modules/wchar (Makefile.am): Add dependency to wchar.h.
27548
27549 2009-12-09  Bruno Haible  <bruno@clisp.org>
27550
27551         fchdir: Optimize away rpl_fstat when possible.
27552         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
27553         REPLACE_OPEN_DIRECTORY.
27554         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
27555
27556 2009-12-09  Bruno Haible  <bruno@clisp.org>
27557
27558         * lib/fchdir.c: Update comment.
27559
27560 2009-12-09  Bruno Haible  <bruno@clisp.org>
27561
27562         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
27563
27564 2009-12-08  Eric Blake  <ebb9@byu.net>
27565
27566         fchdir: avoid memory leak on re-registration.
27567         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
27568
27569 2009-12-08  Jim Meyering  <meyering@redhat.com>
27570
27571         init.sh: avoid Solaris 10 /bin/sh portability problem
27572         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
27573         sourced script:
27574           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
27575           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
27576           bar
27577         tests/init.sh relied on that, accepting a --set-path=DIR argument,
27578         and two tests used that idiom.
27579         * tests/init.sh: Update suggested usage comments.
27580         (path_prepend_): New function, to be used in place
27581         of the --src-path=DIR option.
27582         (setup_): Move PATH-prepending code into path_prepend_.
27583         * tests/test-pread.sh: Adapt to new usage.
27584         * tests/test-xalloc-die.sh: Likewise.
27585
27586 2009-12-08  Simon Josefsson  <simon@josefsson.org>
27587
27588         * doc/gnulib.texi (Glibc pty.h): Add.
27589         * doc/glibc-functions/forkpty.texi: Add.
27590         * doc/glibc-functions/openpty.texi: Add.
27591         Suggested by Bruno Haible.
27592
27593 2009-12-08  Eric Blake  <ebb9@byu.net>
27594
27595         fchdir: fix logic bugs
27596         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
27597         * tests/test-fchdir.c (main): Enhance test.
27598         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
27599         is in use.
27600
27601         dup2: fix logic bugs
27602         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
27603         REPLACE_DUP2 to decide when rpl_dup2 is needed.
27604         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
27605         exists.
27606         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
27607
27608 2009-12-07  Eric Blake  <ebb9@byu.net>
27609
27610         unlink: fix m4 detection
27611         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
27612
27613         unistd-safer: add unit test
27614         * modules/unistd-safer-tests: New file.
27615         * tests/test-dup-safer.c: Likewise.
27616         * tests/test-cloexec.c (setmode): Avoid compiler warning.
27617         * tests/test-dup2.c (setmode): Likewise.
27618         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
27619
27620         cloexec: preserve text vs. binary across dup_cloexec
27621         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
27622         mode.
27623         * modules/dup2-tests (Depends-on): Add binary-io.
27624         * modules/cloexec-tests (Depends-on): Likewise.
27625         * tests/test-dup2.c (setmode, is_mode): New helpers.
27626         (main): Add tests that translation mode is preserved.
27627         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
27628         Reported by Bruno Haible.
27629
27630         mgetgroups: reduce duplicate listings
27631         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
27632         resulting array.
27633         * tests/test-chown.h (test_chown): Simplify client.
27634         * tests/test-lchown.h (test_lchown): Likewise.
27635
27636 2009-12-06  Bruno Haible  <bruno@clisp.org>
27637
27638         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
27639         value.
27640
27641 2009-12-06  Bruno Haible  <bruno@clisp.org>
27642
27643         * lib/progname.c: Include stdio.h, stdlib.h.
27644         (set_program_name): Reject a NULL argument.
27645
27646 2009-12-05  Eric Blake  <ebb9@byu.net>
27647
27648         pipe2-safer: new module
27649         * modules/pipe2-safer: New file.
27650         * lib/unistd-safer.h (pipe2_safer): New prototype.
27651         * lib/unistd--.h (pipe2): New wrapper.
27652         * lib/pipe-safer.c (pipe2_safer): New function.
27653         * modules/pipe (Depends-on): Add pipe2-safer.
27654         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
27655
27656         stdlib-safer: preserve cloexec flag for mkostemp[s]
27657         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
27658         fd_safer_flag.
27659
27660         unistd-safer: allow preservation of cloexec status via flag
27661         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
27662         prototypes.
27663         * lib/dup-safer.c (dup_safer_flag): New function.
27664         * lib/fd-safer.c (fd_safer_flag): Likewise.
27665         * modules/cloexec (configure.ac): Set witness.
27666
27667         test-dup2: enhance test
27668         * modules/dup2-tests (Depends-on): Add cloexec.
27669         * tests/test-dup2.c (main): Enhance test.
27670
27671         cloexec: add dup_cloexec
27672         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
27673         header and comments.
27674         * lib/cloexec.c (set_cloexec_flag): Add comments.
27675         (dup_cloexec): New function, with mingw implementation borrowed
27676         from...
27677         * lib/w32spawn.h (dup_noinherit): ...here.
27678         * modules/execute (Depends-on): Add cloexec.
27679         * modules/pipe (Depends-on): Likewise.
27680         * modules/cloexec (Depends-on): Add dup2.
27681         * modules/cloexec-tests (Files): New file.
27682         * tests/test-cloexec.c: Likewise.
27683
27684         test-xalloc-die: fix test for mingw
27685         * modules/xalloc-die-tests (Files): Add tests/init.sh.
27686         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
27687         directory and .exe suffix off argv[0] output.
27688
27689         test-fseeko: fix test for mingw
27690         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
27691         than undefining fseek, so test will pass on mingw.
27692
27693 2009-12-05  Bruno Haible  <bruno@clisp.org>
27694
27695         * lib/progname.h (set_program_name): Clarify specification.
27696         * lib/progname.c (set_program_name): Likewise.
27697         Reported by Jim Meyering.
27698
27699 2009-12-05  Jim Meyering  <meyering@redhat.com>
27700
27701         maint.mk: backslash-escape parens in default regexp
27702         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
27703         backslash-escape the literal parentheses.
27704
27705         maint.mk: news-date-check: use grep -E
27706         * top/maint.mk (today): Define a Make variable, not a...
27707         (news-date-check): ...shell variable.
27708         (news-date-regexp): Use the Make variable.
27709         Use grep's -E option.  Change the failing diagnostic to mention
27710         the variable, $(news-date-regexp).
27711
27712 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
27713
27714         maintainer-makefile: allow customization of NEWS entry format
27715         * top/maint.mk (news-date-regexp): New overridable variable.
27716         (news-date-check): Use it.
27717
27718 2009-12-04  Eric Blake  <ebb9@byu.net>
27719
27720         mgetgroups: add xgetgroups, and avoid ENOSYS failures
27721         * lib/mgetgroups.h (xgetgroups): New prototype.
27722         * lib/mgetgroups.c (xgetgroups): New wrapper.
27723         (mgetgroups): Handle ENOSYS.
27724         * modules/mgetgroups (Depends-on): Add realloc.
27725         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
27726
27727         mgetgroups: avoid argument promotion issues with -1
27728         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
27729         for invalid gid_t.
27730         * tests/test-chown.h (getegid, test_chown): Likewise.
27731         * tests/test-lchown.h (getegid, test_lchown): Likewise.
27732
27733 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
27734
27735         exclude: Fix header file problems.
27736         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
27737
27738 2009-12-01  Jim Meyering  <meyering@redhat.com>
27739
27740         fts: fts_open: do not let an empty string cause immediate failure
27741         This is required in support of GNU rm, for which the command
27742         "rm A '' B" must process and remove both A and B, in spite of
27743         the empty string argument.
27744         * lib/fts.c (fts_open): Do not let the presence of an empty string
27745         cause fts_open to fail immediately.  Most fts-using tools must be
27746         able to process all arguments, in order, and can be expected to
27747         diagnose such arguments themselves.
27748
27749 2009-11-30  Eric Blake  <ebb9@byu.net>
27750
27751         utimens: fix compilation error
27752         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
27753         Declare variable at right scope.
27754
27755 2009-11-29  Jim Meyering  <meyering@redhat.com>
27756
27757         bootstrap: handle perl-5.11's changed --version output
27758         * build-aux/bootstrap (get_version): Handle perl separately,
27759         since perl-5.11's --version output is different.
27760
27761 2009-11-28  Jim Meyering  <meyering@redhat.com>
27762
27763         userspec: depend on the inttostr module, too
27764         * modules/userspec (Depends-on): Add inttostr.
27765
27766         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
27767         * lib/userspec.c (parse_with_separator): Do not accept a user ID
27768         number of MAXUID when it evaluates to (uid_t) -1.
27769         Likewise for group ID.  Reported by Matt McCutchen in
27770         <http://savannah.gnu.org/bugs/?28113>
27771
27772         userspec: reformat to use spaces, not TABs
27773         * lib/userspec.c: Expand TABs to spaces.
27774         Add Emacs' "indent-tabs-mode: nil" hint.
27775
27776 2009-11-27  Eric Blake  <ebb9@byu.net>
27777
27778         getopt-gnu: flush out another BSD bug
27779         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
27780         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
27781         flush out BSD bug.
27782         * tests/test-getopt.h (test_getopt): End lists with NULL.
27783         * tests/test-getopt_long.h (test_getopt_long): Likewise.
27784         (test_getopt_long_posix): Enhance test.
27785         * modules/getopt-posix-tests (Depends-on): Add stdbool.
27786         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
27787         getopt-gnu.
27788         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
27789         Likewise.
27790
27791 2009-11-27  Simon Josefsson  <simon@josefsson.org>
27792
27793         * modules/idpriv-droptemp-tests (Notice): Fix text.
27794
27795 2009-11-27  Jim Meyering  <meyering@redhat.com>
27796
27797         test-xalloc-die: avoid spurious failure due to libtool argv difference
27798         In a libtool-enabled project, this test would fail due to a difference
27799         in the emitted program name, e.g.,
27800         -test-xalloc-die: memory exhausted
27801         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
27802         Use program to avoid that.
27803         * modules/xalloc-die-tests (Depends-on): Add progname.
27804         * tests/test-xalloc-die.c: Include progname.h".
27805         (program_name): Remove decl.
27806         (main): Call set_program_name.
27807         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
27808
27809 2009-11-26  Richard Jones  <rjones@redhat.com>
27810
27811         w32sock: leave win32 error in place.
27812         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
27813
27814 2009-11-26  Eric Blake  <ebb9@byu.net>
27815
27816         init.sh: suggest to use skip_ and fail_ functions in comments
27817         * tests/init.sh: Add a sentence.
27818
27819 2009-11-25  Bruno Haible  <bruno@clisp.org>
27820
27821         init.sh: add documentation in comments
27822         * tests/init.sh: Add some developer and user documentation.
27823
27824 2009-11-26  Jim Meyering  <meyering@redhat.com>
27825
27826         init.sh: accommodate even those who specify bogus srcdir manually
27827         * tests/init.sh: Normally, srcdir is guaranteed by automake and
27828         configure-time tests to be sanitized, so that there is no need to
27829         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
27830         (with no double quotes) suffices.  However, since tests may be
27831         invoked manually, and since you may explicitly set srcdir to the
27832         name of a directory containing spaces, do quote its uses here.
27833         * tests/test-pread.sh: Likewise.
27834         Suggested by Bruno Haible.
27835
27836         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
27837         * tests/test-pread.sh: Write no data into the pipe, because
27838         test-pread actually reads none.  This avoids a diagnostic,
27839         "bash: echo: write error: Broken pipe", that arises in the unusual
27840         event something is ignoring SIGPIPE, and might be interpreted
27841         as some sort of failure.  Reported by Bruno Haible.
27842
27843 2009-11-25  Jim Meyering  <meyering@redhat.com>
27844
27845         test-pread: cover failure with ESPIPE and EINVAL
27846         * tests/test-pread.c (main): Test for failure, too.
27847         * tests/test-pread.sh: Invoke with stdin on a pipe.
27848         Suggested by Eric Blake.
27849
27850         pread: improvement and fix
27851         * modules/pread (Depends-on): Depend on lseek, for portability to
27852         e.g., mingw.  Suggested by Eric Blake.
27853         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
27854
27855         unistd.in.h: correct declaration of pread
27856         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
27857         Reported by Richard W.M. Jones.
27858
27859         test-pread.sh: distribute the test script
27860         * modules/pread-tests (Files): Include test-pread.sh.
27861
27862         test-pread.sh: clean up
27863         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
27864         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
27865         That is unnecessary, since it's always ".".
27866         Suggestion from Eric Blake.
27867
27868         test-pread.sh: make executable
27869         * tests/test-pread.sh: Set executable bit.
27870         Reported by Eric Blake.
27871
27872         correct typo in test-pread.sh
27873         * tests/test-pread.sh: Add #! line.
27874
27875         test pread
27876         * tests/test-pread.c: New file.
27877         * tests/test-pread.sh: Likewise.
27878         * modules/pread-tests: Likewise.
27879
27880         pread: new module
27881         * modules/pread: New file.
27882         * lib/unistd.in.h (pread): Define/declare.
27883         * lib/pread.c (pread): New file.
27884         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
27885         * modules/unistd (Makefile.am): Substitute witnesses.
27886         * doc/posix-functions/pread.texi (pread): Update.
27887         * MODULES.html.sh: Add pread.
27888
27889 2009-11-25  Jim Meyering  <meyering@redhat.com>
27890
27891         tests/init.sh: new file to be used via most *.sh tests
27892         * tests/init.sh: New file.
27893
27894 2009-11-25  Eric Blake  <ebb9@byu.net>
27895
27896         utimens: work around older Linux failure with symlinks
27897         * lib/utimens.c (lutimensat_works_really): New variable.
27898         (fdutimens, lutimens): Use it to manage kernels that support
27899         nanosecond times on files, but not on symlinks.
27900         Reported by Ondřej Vašík.
27901
27902         utimes: fix configure grammar
27903         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
27904
27905 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
27906
27907         regex: Fix fastmap for multibyte character ranges.
27908         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
27909         characters when a multibyte character range is included.
27910
27911 2009-11-22  Andy Wingo  <wingo@pobox.com>
27912
27913         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
27914         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
27915
27916 2009-11-24  Bruno Haible  <bruno@clisp.org>
27917
27918         doc: Most *_l functions exist in MacOS X 10.5.
27919         * doc/posix-functions/duplocale.texi: Update platforms list.
27920         * doc/posix-functions/freelocale.texi: Likewise.
27921         * doc/posix-functions/newlocale.texi: Likewise.
27922         * doc/posix-functions/uselocale.texi: Likewise.
27923         * doc/posix-functions/isalnum_l.texi: Likewise.
27924         * doc/posix-functions/isalpha_l.texi: Likewise.
27925         * doc/posix-functions/isblank_l.texi: Likewise.
27926         * doc/posix-functions/iscntrl_l.texi: Likewise.
27927         * doc/posix-functions/isdigit_l.texi: Likewise.
27928         * doc/posix-functions/isgraph_l.texi: Likewise.
27929         * doc/posix-functions/islower_l.texi: Likewise.
27930         * doc/posix-functions/isprint_l.texi: Likewise.
27931         * doc/posix-functions/ispunct_l.texi: Likewise.
27932         * doc/posix-functions/isspace_l.texi: Likewise.
27933         * doc/posix-functions/isupper_l.texi: Likewise.
27934         * doc/posix-functions/iswalnum_l.texi: Likewise.
27935         * doc/posix-functions/iswalpha_l.texi: Likewise.
27936         * doc/posix-functions/iswblank_l.texi: Likewise.
27937         * doc/posix-functions/iswcntrl_l.texi: Likewise.
27938         * doc/posix-functions/iswctype_l.texi: Likewise.
27939         * doc/posix-functions/iswdigit_l.texi: Likewise.
27940         * doc/posix-functions/iswgraph_l.texi: Likewise.
27941         * doc/posix-functions/iswlower_l.texi: Likewise.
27942         * doc/posix-functions/iswprint_l.texi: Likewise.
27943         * doc/posix-functions/iswpunct_l.texi: Likewise.
27944         * doc/posix-functions/iswspace_l.texi: Likewise.
27945         * doc/posix-functions/iswupper_l.texi: Likewise.
27946         * doc/posix-functions/iswxdigit_l.texi: Likewise.
27947         * doc/posix-functions/isxdigit_l.texi: Likewise.
27948         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
27949         * doc/posix-functions/strcasecmp_l.texi: Likewise.
27950         * doc/posix-functions/strcoll_l.texi: Likewise.
27951         * doc/posix-functions/strfmon_l.texi: Likewise.
27952         * doc/posix-functions/strftime_l.texi: Likewise.
27953         * doc/posix-functions/strncasecmp_l.texi: Likewise.
27954         * doc/posix-functions/strxfrm_l.texi: Likewise.
27955         * doc/posix-functions/tolower_l.texi: Likewise.
27956         * doc/posix-functions/toupper_l.texi: Likewise.
27957         * doc/posix-functions/towctrans_l.texi: Likewise.
27958         * doc/posix-functions/towlower_l.texi: Likewise.
27959         * doc/posix-functions/towupper_l.texi: Likewise.
27960         * doc/posix-functions/wcscoll_l.texi: Likewise.
27961         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
27962         * doc/posix-functions/wctrans_l.texi: Likewise.
27963         * doc/posix-functions/wctype_l.texi: Likewise.
27964         * doc/glibc-functions/strptime_l.texi: Likewise.
27965         * doc/glibc-functions/strtod_l.texi: Likewise.
27966         * doc/glibc-functions/strtof_l.texi: Likewise.
27967         * doc/glibc-functions/strtol_l.texi: Likewise.
27968         * doc/glibc-functions/strtold_l.texi: Likewise.
27969         * doc/glibc-functions/strtoll_l.texi: Likewise.
27970         * doc/glibc-functions/strtoul_l.texi: Likewise.
27971         * doc/glibc-functions/strtoull_l.texi: Likewise.
27972         * doc/glibc-functions/wcsftime_l.texi: Likewise.
27973         * doc/glibc-functions/wcstod_l.texi: Likewise.
27974         * doc/glibc-functions/wcstof_l.texi: Likewise.
27975         * doc/glibc-functions/wcstol_l.texi: Likewise.
27976         * doc/glibc-functions/wcstold_l.texi: Likewise.
27977         * doc/glibc-functions/wcstoll_l.texi: Likewise.
27978         * doc/glibc-functions/wcstoul_l.texi: Likewise.
27979         * doc/glibc-functions/wcstoull_l.texi: Likewise.
27980
27981 2009-11-24  Bruno Haible  <bruno@clisp.org>
27982
27983         duplocale: Fix logic bug.
27984         * lib/duplocale.c: Don't include <langinfo.h>.
27985         (_NL_LOCALE_NAME): Remove macro.
27986         (rpl_duplocale): Use setlocale instead of nl_langinfo.
27987         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
27988
27989 2009-11-23  Jim Meyering  <meyering@redhat.com>
27990
27991         test-update-copyright: don't hard-code /usr/bin/perl
27992         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
27993         perl to print the current year.  Gilles Espinasse reported that
27994         the replaced use of perl was hard-coded as /usr/bin/perl.
27995
27996 2009-11-23  Bruno Haible  <bruno@clisp.org>
27997
27998         duplocale: Add support for glibc 2.3.x.
27999         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
28000
28001 2009-11-22  Bruno Haible  <bruno@clisp.org>
28002
28003         vasnprintf: Tiny optimization.
28004         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
28005         MacOS X.
28006
28007 2009-11-22  Bruno Haible  <bruno@clisp.org>
28008
28009         Tests for module 'duplocale'.
28010         * modules/duplocale-tests: New file.
28011         * tests/test-duplocale.c: New file.
28012
28013         New module 'duplocale'.
28014         * m4/duplocale.m4: New file.
28015         * lib/locale.in.h (duplocale): New declaration.
28016         * lib/duplocale.c: New file.
28017         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
28018         gl_LOCALE_H_DEFAULTS): New macros.
28019         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
28020         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
28021         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
28022         REPLACE_DUPLOCALE.
28023         * modules/duplocale: New file.
28024         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
28025
28026 2009-11-22  Bruno Haible  <bruno@clisp.org>
28027
28028         * modules/locale-tests (configure.ac): Test for newlocale function.
28029         * tests/test-locale.c: When the system has extended locale functions,
28030         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
28031
28032         locale: Make locale_t available when possible.
28033         * lib/locale.in.h: Include <xlocale.h> when it exists.
28034         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
28035         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
28036         * modules/locale (Depends-on): Add extensions.
28037         (Makefile.am): Also substitute HAVE_XLOCALE_H.
28038         * doc/posix-headers/locale.texi: Document the problem with locale_t.
28039
28040 2009-11-22  Bruno Haible  <bruno@clisp.org>
28041
28042         Add comments.
28043         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
28044         invocation.
28045         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
28046         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
28047         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
28048
28049 2009-11-22  Bruno Haible  <bruno@clisp.org>
28050
28051         error: account for the possibility of freopen (stdout).
28052         * lib/error.c: Include <unistd.h>.
28053         (flush_stdout): New function, extracted from error and error_at_line.
28054         Determine stdout's fd dynamically.
28055         (error, error_at_line): Invoke flush_stdout.
28056         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
28057         * modules/error (Depends-on): Add unistd.
28058
28059 2009-11-22  Bruno Haible  <bruno@clisp.org>
28060
28061         diffseq: Add comment.
28062         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
28063
28064 2009-11-22  Jim Meyering  <meyering@redhat.com>
28065
28066         c-stack: avoid defining an unused static function
28067         * lib/c-stack.c (find_stack_direction): Do not define this function
28068         when it will not be used.
28069
28070         diffseq: avoid spurious gcc warnings
28071         * lib/diffseq.h (IF_LINT2): Define.
28072         (compareseq): Use it to initialize two members of "part".
28073         This avoids two used-uninitialized warnings.
28074
28075 2009-11-21  Jim Meyering  <meyering@redhat.com>
28076
28077         c-stack: avoid "ignoring return value of `write'" warning
28078         * lib/c-stack.c: Include "ignore-value.h".
28079         (die): Explicitly ignore each write return value.
28080         * modules/c-stack (Depends-on): Add ignore-value.
28081
28082 2009-11-21  Bruno Haible  <bruno@clisp.org>
28083
28084         diffseq: reduce scope of variable 'best'.
28085         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
28086         variable, earlier used for two different purposes.
28087
28088 2009-11-21  Jim Meyering  <meyering@redhat.com>
28089
28090         diffseq: remove useless assignment to "best"
28091         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
28092         assignment.  At that point "best" is already guaranteed to be zero.
28093
28094 2009-11-20  Eric Blake  <ebb9@byu.net>
28095
28096         build: mention ftp redirector in release announcements
28097         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
28098         values that used to come from cfg.mk; mention FTP redirect URL.
28099         * build-aux/announce-gen: Mention the mirror list.
28100         Suggested by Karl Berry.
28101
28102         nanosleep: improve port to mingw
28103         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
28104         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
28105         LIB_NANOSLEEP, but only when needed.
28106         * modules/select (Link): Document LIBSOCKET.
28107         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
28108         enough.
28109
28110         nanosleep: work around cygwin bug
28111         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
28112         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
28113         bug.
28114         (getnow): Delete, not needed.
28115         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
28116         LIB_CLOCK_GETTIME.
28117         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
28118         clock-time, gettime.
28119         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
28120         bug.
28121         * modules/nanosleep-tests: New test.
28122         * tests/test-nanosleep.c: New file.
28123
28124         sleep: work around cygwin bug
28125         * lib/sleep.c (rpl_sleep): Work around the bug.
28126         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
28127         (gl_PREREQ_SLEEP): Delete unused macro.
28128         * modules/sleep (Depends-on): Add verify.
28129         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
28130         * modules/unistd (Makefile.am): Substitute witness.
28131         * lib/unistd.in.h (sleep): Update prototype.
28132         * doc/posix-functions/sleep.texi (sleep): Document the bug.
28133         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
28134         * modules/sleep-tests (Depends-on): Check for alarm.
28135
28136 2009-11-20  Jim Meyering  <meyering@redhat.com>
28137
28138         maint.mk: improve sc_prohibit_magic_number_exit
28139         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
28140         so it does not match uses like System.exit(1).
28141         Add comments showing how to correct all offenders.
28142
28143 2009-11-19  Eric Blake  <ebb9@byu.net>
28144
28145         xalloc-die-tests: add missing library
28146         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
28147
28148         test-xvasprintf: silence compiler warnings
28149         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
28150         empty string from gcc.
28151
28152 2009-11-19  Jim Meyering  <meyering@redhat.com>
28153
28154         xfreopen: new module, from coreutils
28155         * modules/xfreopen: New module.
28156         * lib/xfreopen.c: New file.
28157         * lib/xfreopen.h: New file.
28158         * MODULES.html.sh (File stream based Input/Output"): Add it.
28159
28160 2009-11-19  Eric Blake  <ebb9@byu.net>
28161
28162         manywarnings: depend on warnings
28163         * modules/manywarnings (Depends-on): Add warnings.
28164
28165         build: avoid compiler warnings
28166         * lib/select.c (rpl_select): Delete unused variable.
28167         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
28168
28169 2009-11-18  Eric Blake  <ebb9@byu.net>
28170
28171         tests: avoid false negative with --with-packager
28172         * tests/test-version-etc.sh: Discard packager information.
28173         * tests/test-argp-version-etc-1.sh: Likewise.
28174         Reported by Mike Frysinger.
28175
28176         utimens: fix regression on Solaris
28177         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
28178         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
28179         can only change fd timestamps via futimesat.  Instead, use an
28180         additional witness macro to avoid BSD bug.
28181         Reported by Jim Meyering.
28182
28183 2009-11-17  Eric Blake  <ebb9@byu.net>
28184
28185         usleep: use it to simplify tests
28186         * modules/stat-time-tests (Depends-on): Add usleep.
28187         (configure.ac): Drop usleep check.
28188         * modules/chown-tests (Depends-on, configure.ac): Likewise.
28189         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
28190         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
28191         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
28192         * modules/openat-tests (Depends-on, configure.ac): Likewise.
28193         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
28194         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
28195         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
28196         Likewise.
28197         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
28198         * tests/test-lchown.h (nap): Likewise.
28199         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
28200         * tests/test-stat-time.c (nap): Likewise.
28201         * tests/test-utimens-common.h (nap): Update comments.
28202
28203         usleep: new module
28204         * modules/usleep: New file.
28205         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
28206         * lib/usleep.c (usleep): Likewise.
28207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
28208         * modules/unistd (Makefile.am): Substitute witnesses.
28209         * lib/unistd.in.h (usleep): Add declaration.
28210         * doc/pastposix-functions/usleep.texi (usleep): Document this.
28211         * MODULES.html.sh (Date and time): Likewise.
28212         * modules/usleep-tests (Depends-on): New test.
28213         * tests/test-usleep.c: New file.
28214
28215         chown: work around OpenBSD bug
28216         * lib/chown.c (rpl_chown): Work around the bug.
28217         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
28218         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
28219         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
28220         * modules/chown (Depends-on): Add stdbool.
28221         * modules/lchown (Depends-on): Likewise.
28222         * doc/posix-functions/chown.texi (chown): Document the bug.
28223         * doc/posix-functions/lchown.texi (lchown): Likewise.
28224         * tests/test-lchown.h (test_chown): Relax test.
28225
28226         mkstemp: avoid conflict with C++ keyword template
28227         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
28228         * lib/mkostemp.c (mkostemp): Likewise.
28229         * lib/mkostemps.c (mkostemps): Likewise.
28230         * lib/mkstemp.c (mkstemp): Likewise.
28231         * lib/mkstemps.c (mkstemps): Likewise.
28232
28233         xalloc-die-tests: optimize
28234         * tests/test-xalloc-die.sh: Reduce number of processes.
28235
28236 2009-11-17  Simon Josefsson  <simon@josefsson.org>
28237
28238         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
28239         patch from ludo@gnu.org (Ludovic Courtès).
28240
28241 2009-11-17  Jim Meyering  <meyering@redhat.com>
28242
28243         version-etc: use proper license string
28244         * modules/version-etc (License): Use LGPL, not LGPLv3+.
28245         * modules/version-etc-fsf: Likewise.
28246
28247 2009-11-17  Simon Josefsson  <simon@josefsson.org>
28248
28249         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
28250         printed to stdout.  Deal with EOL differences.
28251
28252 2009-11-17  Eric Blake  <ebb9@byu.net>
28253
28254         unsetenv: work around Solaris bug
28255         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
28256         * lib/unsetenv.c (rpl_unsetenv): Work around it.
28257         Reported by Jim Meyering.
28258
28259         vasnprintf: avoid compiler warnings
28260         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
28261         variables.
28262         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
28263
28264 2009-11-17  Simon Josefsson  <simon@josefsson.org>
28265
28266         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
28267         settings since xalloc-die is no longer the self test,
28268         xalloc-die.sh is.
28269
28270 2009-11-17  Jim Meyering  <meyering@redhat.com>
28271
28272         test-xalloc-die.sh: make the code agree with the commit log
28273         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
28274         at the end, just in case you happen to have a test-xalloc-die
28275         program in some other PATH directory.
28276
28277         test-xalloc-die.sh: fix a portability bug
28278         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
28279         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
28280         Otherwise, argv[0] (as often seen in diagnostics) would be too
28281         system-dependent, sometimes with, and sometimes without the leading "./".
28282
28283         version-etc-fsf: relax license to LGPLv3+
28284         * modules/version-etc-fsf (License): Relax license.
28285
28286 2009-11-16  Eric Blake  <ebb9@byu.net>
28287
28288         xalloc-die-tests: avoid printing null pointer
28289         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
28290         shell script.
28291         * tests/test-xalloc-die.c (program_name): Declare.
28292         * tests/test-xalloc-die.sh (tmpfiles): New file.
28293
28294         setenv, unsetenv: work around various bugs
28295         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
28296         (setenv) [HAVE_SETENV]: Work around bugs.
28297         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
28298         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
28299         for bugs.
28300         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
28301         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
28302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
28303         * modules/stdlib (Makefile.am): Update substitutions.
28304         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
28305         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
28306         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
28307         * modules/setenv-tests: New test.
28308         * modules/unsetenv-tests: Likewise.
28309         * tests/test-setenv.c: New file.
28310         * tests/test-unsetenv.c: Likewise.
28311
28312 2009-11-16  Jim Meyering  <meyering@redhat.com>
28313
28314         version-etc: relax license to LGPLv3+
28315         * modules/version-etc (License): Relax license.
28316
28317         better AC_REQUIRE expanded-before-required-warning avoidance
28318         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
28319         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
28320         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
28321         which is no longer needed.
28322
28323 2009-11-16  Eric Blake  <ebb9@byu.net>
28324
28325         test-freading: clean up temporary file
28326         * tests/test-freading.c (main): Remove file on success, and use
28327         ASSERT more liberally.
28328         Reported by Jim Meyering.
28329
28330 2009-11-16  Jim Meyering  <meyering@redhat.com>
28331
28332         avoid new AC_REQUIRE expanded-before-required warnings
28333         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
28334         merely using it.
28335         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
28336         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
28337
28338 2009-11-15  Simon Josefsson  <simon@josefsson.org>
28339
28340         * tests/test-xalloc-die.c: New file.
28341         * modules/xalloc-die-tests: New file.
28342         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
28343         XFAIL_TESTS so it can be appended by modules.
28344
28345 2009-11-15  Simon Josefsson  <simon@josefsson.org>
28346
28347         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
28348         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
28349
28350 2009-11-14  Eric Blake  <ebb9@byu.net>
28351
28352         fnmatch: avoid compiler warning
28353         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
28354         to silence compiler warning about mismatch signedness in ?:.
28355         Reported by Robert Millan.
28356
28357         intprops: add double-inclusion guard
28358         * lib/intprops.h: Allow idempotent includes.
28359         Suggested by Bruce Korb.
28360
28361         openat: detect Solaris fchownat bug
28362         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
28363         penalizing glibc chownat when only lchownat is broken.
28364         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
28365         trailing slash bugs.
28366         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
28367         * modules/openat-tests (Files): Include more files.
28368         (Depends-on): Add mgetgroups, sleep, stat-time.
28369         (configure.ac): Add additional checks.
28370         (Makefile.am): Build new test.
28371         * tests/test-fchownat.c: New file.
28372
28373         lchown: detect Solaris and FreeBSD bug
28374         * lib/lchown.c (rpl_lchown): Work around bug.
28375         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
28376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28377         * modules/unistd (Makefile.am): Populate it.
28378         * lib/unistd.in.h (lchown): Update declaration.
28379         * doc/posix-functions/lchown.texi (lchown): Document the bug.
28380         * modules/lchown-tests: New file.
28381         * tests/test-lchown.h (test_lchown): Likewise.
28382         * tests/test-lchown.c (main): Likewise.
28383
28384         chown: detect Solaris and FreeBSD bug
28385         * lib/chown.c (rpl_chown): Work around bug.
28386         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
28387         (gl_PREREQ_CHOWN): Delete.
28388         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28389         * modules/unistd (Makefile.am): Populate it.
28390         * lib/unistd.in.h (chown): Update declaration.
28391         * lib/lchown.c (chown): Update client.
28392         * modules/lchown (Depends-on): Add lstat.
28393         * doc/posix-functions/chown.texi (chown): Document the bug.
28394         * doc/posix-functions/getgroups.texi (getgroups): Document
28395         getgroups pitfall.
28396         * modules/chown-tests: New file.
28397         * tests/test-chown.h (test_chown): Likewise.
28398         * tests/test-chown.c (main): Likewise.
28399
28400 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
28401
28402         gnulib-tool: correctly detect absence of m4 directories
28403         * gnulib-tool: Avoid extra newline on data passed to wc -l.
28404
28405 2009-11-14  Jim Meyering  <meyering@redhat.com>
28406
28407         maint.mk: Prohibit inclusion of "xalloc.h" without use.
28408         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
28409
28410 2009-11-14  John W. Eaton  <jwe@gnu.org>
28411
28412         strftime.h: wrap funtion declaration in extern "C" block
28413         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
28414
28415 2009-11-13  Eric Blake  <ebb9@byu.net>
28416
28417         getgroups: avoid compiler warning
28418         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
28419
28420         getgroups: work around FreeBSD bug
28421         * lib/getgroups.c (rpl_getgroups): Work around the bug.
28422         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
28423         * doc/posix-functions/getgroups.texi (getgroups): Document it.
28424         * tests/test-getgroups.c (main): Fix buffer overrun.
28425
28426         getgroups: avoid compilation failure
28427         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
28428         * modules/getgroups (Depends-on): Add stdint.
28429
28430 2009-11-13  Jim Meyering  <meyering@redhat.com>
28431
28432         test-getgroups: avoid compilation failure
28433         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
28434
28435 2009-11-13  Eric Blake  <ebb9@byu.net>
28436
28437         mgetgroups: new module, taken from coreutils
28438         * modules/mgetgroups: New file.
28439         * lib/mgetgroups.h: Likewise.
28440         * lib/mgetgroups.c (mgetgroups): Likewise.
28441         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
28442         * MODULES.html.sh (Users and groups): Mention it.
28443
28444         getgroups: don't expose GETGROUPS_T to user
28445         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
28446         an element at a time if GETGROUPS_T is wrong size.
28447         * lib/getugroups.h (getugroups): Change signature.
28448         * lib/unistd.in.h (getgroups): Likewise.
28449         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
28450         signature needs fixing.
28451         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
28452         AC_TYPE_GETGROUPS.
28453         * modules/group-member (Depends-on): Add getgroups.
28454         * lib/group-member.c (group_info, get_group_info): Use gid_t.
28455         (group_member): Rely on getgroups replacement.
28456         * lib/getugroups.c (getugroups): Use gid_t.
28457         * tests/test-getgroups.c (main): Likewise.
28458         * NEWS: Mention the signature change.
28459         * doc/posix-functions/getgroups.texi (getgroups): Mention the
28460         problem with signature.
28461         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
28462         GETGROUPS_T is still useful for setgroups.
28463
28464         getgroups, getugroups: provide stubs for mingw
28465         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
28466         * lib/getugroups.c (getugroups): Likewise.
28467         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
28468         function.  Modernize replacement scheme.
28469         (gl_PREREQ_GETGROUPS): Delete.
28470         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
28471         * modules/getgroups (configure.ac): Declare witness.
28472         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
28473         * modules/unistd (Depends-on): Substitute witness.
28474         * lib/unistd.in.h (getgroups): Declare replacement.
28475
28476         getgroups: avoid calling exit
28477         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
28478         drop xalloc.
28479         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
28480         dependencies.
28481         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
28482         exiting, in the rare case of malloc failure.
28483
28484         getgroups: fix logic error
28485         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
28486         has more than 20 groups.
28487         * modules/getgroups-tests: New test.
28488         * tests/test-getgroups.c: New file.
28489
28490 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28491
28492         * tests/test-base64.c: Improve.
28493
28494 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28495
28496         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
28497         Blake <ebb9@byu.net>.
28498
28499 2009-11-13  Simon Josefsson  <simon@josefsson.org>
28500
28501         * tests/test-xvasprintf.c: Add %s%s related checks.
28502
28503 2009-11-12  Eric Blake  <ebb9@byu.net>
28504
28505         version-etc: match standards.texi style
28506         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
28507         and use <> only for URLs.
28508
28509 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
28510
28511         fts: do not fail on a submount during traversal
28512         * lib/fts.c (fts_build): Read the stat info again after opening
28513         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
28514         Original report at http://bugzilla.redhat.com/501848.
28515
28516 2009-11-12  Jim Meyering  <meyering@redhat.com>
28517
28518         bootstrap: sync from coreutils
28519         * build-aux/bootstrap (bootstrap_epilogue): New function.
28520         Use git_modules_config in one more place.  This make bootstrap's
28521         --gnulib-srcdir option more useful for testing.
28522
28523         bootstrap: generalize autoheader check
28524         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
28525         AC_CONFIG_HEADERS.
28526
28527 2009-11-11  Eric Blake  <ebb9@byu.net>
28528
28529         mkfifoat: use new modules for Solaris and BSD bugs
28530         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
28531         * lib/mkfifoat.c (mknodat): Split...
28532         * lib/mknodat.c (mknodat): ...into new file.
28533         * modules/mkfifoat (Files): Ship new file.
28534         (Depends-on): Add mkfifo, mknod.
28535         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
28536         (Depends-on): Add symlink.
28537         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
28538         redundant with test_mkfifo.h.
28539         (do_mkfifoat, do_mknodat): New helpers.
28540
28541         mknod: new module
28542         * modules/mknod: New file.
28543         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
28544         * lib/mknod.c (mknod): Likewise.
28545         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
28546         defaults.
28547         * modules/sys_stat (Makefile.am): Substitute them.
28548         * lib/sys_stat.in.h (mknod): Declare replacement.
28549         * MODULES.html.sh (Support for systems lacking POSIX:2008):
28550         Document it.
28551         * doc/posix-functions/mknod.texi (mknod): Likewise.
28552         * modules/mknod-tests: New test.
28553         * tests/test-mknod.c: Likewise.
28554
28555         mkfifo: new module
28556         * modules/mkfifo: New file.
28557         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
28558         * lib/mkfifo.c (mkfifo): Likewise.
28559         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
28560         defaults.
28561         * modules/sys_stat (Makefile.am): Substitute them.
28562         * lib/sys_stat.in.h (mkfifo): Declare replacement.
28563         * MODULES.html.sh (Support for systems lacking POSIX:2008):
28564         Document it.
28565         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
28566         * modules/mkfifo-tests: New test.
28567         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
28568         from test-mkfifoat.c.
28569         * tests/test-mkfifo.c: New file.
28570
28571         readlink: detect FreeBSD bug
28572         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
28573         slash on symlink.
28574         * doc/posix-functions/readlink.texi (readlink): Document the bug.
28575         * tests/test-readlink.h (test_readlink): Enhance test.
28576
28577         symlink: detect FreeBSD bug
28578         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
28579         slash on symlink.
28580         * doc/posix-functions/symlink.texi (symlink): Document the bug.
28581         * tests/test-symlink.h (test_symlink): Enhance test.
28582
28583 2009-11-10  Eric Blake  <ebb9@byu.net>
28584
28585         link: detect FreeBSD bug
28586         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
28587         symlink.
28588         * doc/posix-functions/link.texi (link): Document the bug.
28589         * tests/test-link.h (test_link): Enhance test.
28590         * tests/test-linkat.c (main): Update caller.
28591
28592         unlink, remove: detect FreeBSD bug
28593         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
28594         slash on symlink.
28595         * doc/posix-functions/unlink.texi (unlink): Document the bug.
28596         * doc/posix-functions/remove.texi (remove): Likewise.
28597         * tests/test-unlink.h (test_unlink): Enhance test.
28598         * tests/test-remove.c (main): Likewise.
28599
28600 2009-11-09  Eric Blake  <ebb9@byu.net>
28601
28602         rename: detect FreeBSD bug
28603         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
28604         slash on symlink.
28605         * modules/renameat-tests (Depends-on): Add filenamecat.
28606         * tests/test-rename.h (test_rename): Allow one more errno.
28607         * tests/test-renameat.c (main): Likewise.
28608         * doc/posix-functions/rename.texi (rename): Document the bug.
28609
28610         open: detect FreeBSD bug
28611         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
28612         symlink.
28613         * doc/posix-functions/open.texi (open): Document the bug.
28614         * doc/posix-functions/utimes.texi (utimes): Likewise.
28615         * tests/test-open.h (test_open): Add parameters, and test symlink
28616         handling.
28617         * tests/test-open.c (main): Adjust caller.
28618         * tests/test-fcntl-safer.c (main): Likewise.
28619         * modules/open-tests (Depends-on): Add stdbool, symlink.
28620         * modules/fcntl-safer-tests (Depends-on): Likewise.
28621         * tests/test-openat.c (main): Add test-open tests.
28622
28623         stat: detect FreeBSD bug
28624         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
28625         symlink.
28626         * doc/posix-functions/stat.texi (stat): Document the bug.
28627         * tests/test-stat.h (test_stat_func): Add argument.
28628         * tests/test-stat.c (main): Adjust caller.
28629         * tests/test-fstatat.c (main): Likewise.
28630         * modules/stat-tests (Depends-on): Add stdbool, symlink.
28631         Reported by Jim Meyering.
28632
28633 2009-11-09  James Youngman  <jay@gnu.org>
28634
28635         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
28636         * lib/strftime.c: Correct placement of #include "ignore-value.h".
28637
28638 2009-11-08  Jim Meyering  <meyering@redhat.com>
28639
28640         utimens: remove invalid futimesat call
28641         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
28642         It used the file descriptor of the target file as the DIR_FD
28643         parameter and NULL as the file name.  That caused failure with
28644         errno == EFAULT on FreeBSD-8.0-rc2
28645
28646 2009-11-07  Eric Blake  <ebb9@byu.net>
28647
28648         fflush, freadseek: use fseeko, not fseek
28649         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
28650         (clear_ungetc_buffer): Avoid potential problems on large files.
28651         * lib/freadseek.c (freadseek): Likewise.
28652         * modules/freadseek (Depends-on): Add fseeko.
28653         * modules/fseek (configure.ac): Set a witness.
28654         * tests/test-fflush.c (main): Use fseeko.
28655         * tests/test-fpurge.c (fseek): Disable link warning.
28656         * tests/test-freadable.c (fseek): Likewise.
28657         * tests/test-freading.c (fseek): Likewise.
28658         * tests/test-fseeko.c (fseek): Likewise.
28659         * tests/test-ftell.c (fseek): Likewise.
28660         * tests/test-ftello.c (fseek): Likewise.
28661         * tests/test-fwritable.c (fseek): Likewise.
28662         * tests/test-fwriting.c (fseek): Likewise.
28663
28664 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28665
28666         * modules/memchr (Depends-on): Drop getpagesize dependency.
28667
28668 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28669
28670         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
28671         Reported by Ludovic Courtès.
28672         * build-aux/pmccabe2html: Improve example usage.
28673         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
28674
28675 2009-11-06  Jim Meyering  <meyering@redhat.com>
28676
28677         do-release-commit-and-tag: New module.
28678         Automate the release-commit and tag process.
28679         * build-aux/do-release-commit-and-tag: New script, from coreutils.
28680         * modules/do-release-commit-and-tag: New file.
28681         * MODULES.html.sh (Support for maintaining and releasing): Add it.
28682
28683 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28684
28685         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
28686         because test-select.c uses inet_pton.
28687
28688 2009-11-06  Simon Josefsson  <simon@josefsson.org>
28689
28690         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
28691         GETADDRINFO_LIB.  Bump serial number.
28692         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
28693         Suggested by Eric Blake <ebb9@byu.net>.
28694
28695 2009-11-05  Eric Blake  <ebb9@byu.net>
28696
28697         strtod: detect darwin bug
28698         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
28699         Reported by Leo Davis.
28700
28701         freopen-safer: new module
28702         * modules/freopen-safer: New module.
28703         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
28704         * lib/freopen-safer.c (freopen_safer): New file.
28705         * lib/stdio-safer.h (freopen_safer): New declaration.
28706         * lib/stdio--.h (freopen): New override.
28707         * MODULES.html.sh (File stream based Input/Output): Mention it.
28708         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
28709         freopen-safer module.
28710         * doc/posix-functions/stderr.texi (stderr): Likewise.
28711         * doc/posix-functions/stdin.texi (stdin): Likewise.
28712         * doc/posix-functions/stdout.texi (stdout): Likewise.
28713         * modules/freopen-safer-tests: New test.
28714         * tests/test-reopen-safer.c: New file.
28715
28716 2009-11-05  Jim Meyering  <meyering@redhat.com>
28717
28718         maint.mk: Prohibit inclusion of "close-stream.h" without use.
28719         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
28720
28721 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28722
28723         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
28724
28725 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28726
28727         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
28728
28729 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28730
28731         Fix link error.
28732         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
28733         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28734
28735 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28736
28737         * tests/test-func.c: Also test value of __func__.
28738
28739 2009-11-05  Simon Josefsson  <simon@josefsson.org>
28740
28741         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
28742         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
28743
28744 2009-11-05  Bruno Haible  <bruno@clisp.org>
28745
28746         Fix link error.
28747         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
28748         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
28749         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
28750
28751 2009-11-05  Bruno Haible  <bruno@clisp.org>
28752
28753         Tests for module 'inet_pton'.
28754         * modules/inet_pton-tests: New file.
28755         * tests/test-inet_pton.c: New file.
28756
28757 2009-11-05  Bruno Haible  <bruno@clisp.org>
28758
28759         Tests for module 'inet_ntop'.
28760         * modules/inet_ntop-tests: New file.
28761         * tests/test-inet_ntop.c: New file.
28762
28763 2009-11-04  Eric Blake  <ebb9@byu.net>
28764
28765         stdlib-safer: wrap all mkstemp variants
28766         * modules/mkostemp (configure.ac): Set witness.
28767         * modules/mkostemps (configure.ac): Likewise.
28768         * modules/mkstemps (configure.ac): Likewise.
28769         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
28770         (mkstemps_safer): Wrap more functions.
28771         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
28772         wrapping.
28773         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
28774         (mkstemps_safer): Implement the wrappers.
28775
28776         mkstemps, mkostemps: new modules
28777         * modules/mkostemps: New module.
28778         * modules/mkstemps: Likewise.
28779         * lib/mkostemps.c (mkostemps): New file.
28780         * lib/mkstemps.c (mkstemps): Likewise.
28781         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
28782         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
28783         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
28784         * modules/stdlib (Makefile.am): Substitute them.
28785         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
28786         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
28787         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
28788         * doc/gnulib.texi (Glibc stdlib.h): Include them.
28789         * MODULES.html.sh (File system functions): Mention them.
28790
28791         tempname: resync from glibc
28792         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
28793         same values for __GT_FILE as glibc.  Abort even when assertions
28794         are disabled.
28795         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
28796         match its value otherwise.  Allow idempotent inclusion.
28797         * lib/mkdtemp.c (mkdtemp): Adjust caller.
28798         * lib/mkostemp.c (mkostemp): Likewise.
28799         * lib/mkstemp.c (mkstemp): Likewise.
28800         * lib/tmpfile.c (tmpfile): Likewise.
28801         * NEWS: Document this.
28802
28803         utimens: fix use of futimens on older Linux
28804         * lib/utimens.c (fdutimens): Use updated, rather than original,
28805         timespec to avoid bug in older Linux kernel.
28806         Reported by Simon Josefsson.
28807
28808 2009-11-04  Bruno Haible  <bruno@clisp.org>
28809
28810         Make num_processors more flexible and consistent.
28811         * lib/nproc.h (enum nproc_query): New type.
28812         (num_processors): Add a 'query' argument.
28813         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
28814         (num_processors): Add a 'query' argument. Test the value of the
28815         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
28816         mingw, count the number of CPUs available for the current process.
28817         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
28818         Check for sched_getaffinity and sched_getaffinity_np.
28819         * modules/nproc (Depends-on): Add c-ctype, extensions.
28820         * NEWS: Mention the change.
28821
28822 2009-11-03  Bruno Haible  <bruno@clisp.org>
28823
28824         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
28825
28826 2009-11-03  Jim Meyering  <meyering@redhat.com>
28827
28828         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
28829         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
28830         if it is defined.
28831
28832 2009-11-02  Eric Blake  <ebb9@byu.net>
28833
28834         mktime, timegm: share common declaration
28835         * lib/mktime-internal.h: New file.
28836         * lib/mktime.c: Use it rather than open-coding a declaration.
28837         * lib/timegm.c: Likewise.
28838         * modules/mktime (Files): Ship it.
28839         * modules/timegm (Files): Likewise.
28840         Suggested by Bruno Haible.
28841
28842         test-update-copyright: update test to match script changes
28843         * tests/test-update-copyright.sh: Avoid hard-coding perl
28844         location.  Don't update *.bak created by earlier runs.
28845
28846 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
28847             Simon Josefsson  <simon@josefsson.org>
28848             Bruno Haible  <bruno@clisp.org>
28849
28850         Fix link error on Solaris 8.
28851         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
28852         also in libnsl. Define also INET_PTON_LIB.
28853         * modules/inet_pton (Link): New section.
28854
28855 2009-11-02  Simon Josefsson  <simon@josefsson.org>
28856             Bruno Haible  <bruno@clisp.org>
28857
28858         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
28859         * modules/inet_ntop (Link): New section.
28860         Reported by Boyan Kasarov <bkasarov@gmail.com>.
28861
28862 2009-11-02  Eric Blake  <ebb9@byu.net>
28863
28864         maint: avoid compiler warnings in m4 macros
28865         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
28866         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
28867
28868 2009-11-02  Simon Josefsson  <simon@josefsson.org>
28869
28870         * m4/pmccabe2html.m4: Remove file.
28871         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
28872         function.  Change maintainer.
28873         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
28874         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
28875         Courtès).
28876
28877 2009-10-31  Eric Blake  <ebb9@byu.net>
28878
28879         fseeko: fix m4 regression
28880         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
28881         regression from 2009-10-27.
28882         Reported by Ralf Wildenhues.
28883
28884 2009-10-31  Jim Meyering  <meyering@redhat.com>
28885
28886         inttostr: aesthetics and improved (compile-time) safety
28887         Define inttype_is_signed rather than inttype_is_unsigned,
28888         since the sole use is via "#if inttype_is_signed".
28889         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
28890         inttype_is_unsigned.
28891         * lib/offtostr.c (inttype_is_signed): Likewise.
28892         * lib/uinttostr.c (inttype_is_signed): Likewise.
28893         * lib/umaxtostr.c (inttype_is_signed): Likewise.
28894         * lib/inttostr.c (inttostr): Use verify to cross-check the
28895         inttype_is_signed value and the signedness of the actual type.
28896         * modules/inttostr (Depends-on): Add verify.
28897
28898 2009-10-30  Eric Blake  <ebb9@byu.net>
28899
28900         build: avoid compiler warnings
28901         * lib/fchmodat.c (lchmod): Mark unused variables.
28902         * lib/getopt.c (_getopt_initialize): Likewise.
28903         * lib/mktime.c (__mktime_internal): Provide prototype.
28904         * lib/inttostr.c (inttostr): Avoid compiler warning even with
28905         older gcc that do not understand #pragma GCC diagnostic.
28906         * lib/uinttostr.c (inttype_is_unsigned): Define.
28907         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
28908
28909 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
28910
28911         stat: fix compilation on AIX
28912         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
28913         only see struct stat64.
28914
28915 2009-10-30  Eric Blake  <ebb9@byu.net>
28916
28917         exclude: make more robust
28918         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
28919         rather than masking a coding bug.
28920         Suggested by Bruno Haible.
28921
28922 2009-10-30  Jim Meyering  <meyering@redhat.com>
28923
28924         perl scripts: remove #!/usr/bin/perl in favor of more portable...
28925         Rather than putting #!/usr/bin/perl on the first line,
28926         start with a variant of what's recommended by "man perlrun" that
28927         invokes the first "perl" program from your shell's search path.
28928         * build-aux/gitlog-to-changelog: Replace #!... as above.
28929         Add a "Local Variables" perl mode setting.
28930         Prompted by a patch from Ludovic Courtès.
28931         Improved by Eric Blake.
28932         * build-aux/useless-if-before-free: Likewise.
28933         * build-aux/announce-gen: Likewise.
28934         * build-aux/update-copyright: Likewise.
28935
28936 2009-10-29  Eric Blake  <ebb9@byu.net>
28937
28938         filenamecat-lgpl: adjust clients
28939         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
28940         filenamecat.
28941         * modules/renameat (Depends-on): Likewise.
28942
28943         filenamecat: split into filenamecat-lgpl
28944         * modules/filenamecat-lgpl: New module.
28945         * modules/filenamecat (Files): Move library-safe files into
28946         filenamecat-lgpl.
28947         (Depends-on): Add filenamecat-lgpl.
28948         (configure.ac): Declare witness.
28949         * lib/filenamecat.h (file_name_concat): Only declare when using
28950         GPL module.
28951         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
28952         Move...
28953         * lib/filenamecat-lgpl.c: ...into new file.
28954         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
28955         (gl_FILE_NAME_CONCAT): Use it.
28956         * MODULES.html.sh (File system functions): Mention new module.
28957
28958         argp: avoid memory leak
28959         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
28960         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
28961         base_name, since the latter malloc()s and can call exit().
28962         Leak introduced 2006-07-03.
28963
28964         dirname-lgpl: adjust clients that don't need full dirname
28965         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
28966         * modules/filenamecat (Depends-on): Likewise.
28967         * modules/linkat (Depends-on): Likewise.
28968         * modules/mkancesdirs (Depends-on): Likewise.
28969         * modules/mkdir (Depends-on): Likewise.
28970         * modules/openat (Depends-on): Likewise.
28971         * modules/savewd (Depends-on): Likewise.
28972         * modules/rename (Depends-on): Likewise.
28973         (License): Relax license.
28974         * modules/mkdir-tests (Depends-on): Drop progname.
28975         (Makefile.am): Delete unneeded LDADD.
28976         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
28977
28978         dirname: split into dirname-lgpl
28979         * modules/dirname-lgpl: New module.
28980         * modules/dirname (Files): Move library-safe files into
28981         dirname-lgpl.
28982         (Depends-on): Add dirname-lgpl.
28983         (configure.ac): Declare witness.
28984         * modules/double-slash-root (License): Relax license.
28985         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
28986         module.
28987         * lib/dirname.c (dir_len, mdir_name): Move...
28988         * lib/dirname-lgpl.c: ...into new file.
28989         * lib/basename.c (last_component, base_len): Move...
28990         * lib/basename-lgpl.c: ...into new file.
28991         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
28992         (gl_DIRNAME): Use it.
28993         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
28994         Mention new module.
28995         * modules/dirname-tests (Depends-on): Add progname.
28996         * tests/test-dirname.c (program_name): Delete.
28997
28998         mkdir: make safe for libraries
28999         * modules/mkdir (Depends-on): Drop xalloc.
29000         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
29001         exit.
29002
29003         tests: avoid some compiler warnings
29004         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
29005         literals.
29006         * tests/test-memchr.c (main): Avoid type mismatch.
29007         * tests/test-arpa_inet.c (main): Avoid unused parameters.
29008         * tests/test-base64.c (main): Likewise.
29009         * tests/test-getdelim.c (main): Likewise.
29010         * tests/test-gethostname.c (main): Likewise.
29011         * tests/test-getline.c (main): Likewise.
29012         * tests/test-netinet_in.c (main): Likewise.
29013         * tests/test-select.c (open_server_socket, main): Likewise.
29014         * tests/test-select-stdin.c (main): Likewise.
29015         * tests/test-sockets.c (main): Likewise.
29016         * tests/test-strsignal.c (main): Likewise.
29017         * tests/test-sys_select.c (main): Likewise.
29018         * tests/test-sys_socket.c (main): Likewise.
29019         * tests/test-u64.c (main): Likewise.
29020         * tests/test-xfprintf-posix.c (main): Likewise.
29021         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
29022
29023         sockets: avoid compiler warning
29024         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
29025
29026         maint: detect usage(1) and other suspicious exits
29027         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
29028
29029 2009-10-29  Jim Meyering  <meyering@redhat.com>
29030
29031         timespec: long-to-int truncation could make timespec_cmp malfunction
29032         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
29033         a multiple of 2^32 nanoseconds as no difference.
29034
29035 2009-10-28  Jim Meyering  <meyering@redhat.com>
29036
29037         fprintftime: wrap macro code argument in "do {...} while(0)"
29038         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
29039         cpy macro must be a statement that can be followed by a semicolon.
29040         Now that the else clause contains a comment and is hence longer
29041         than one line, I require curly braces.  That in turn requires
29042         that we wrap this code block in the standard do...while(0).
29043
29044         fprintftime: remove stray semicolon from previous change
29045         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
29046
29047         fprintftime: avoid a warning about ignored fwrite return value
29048         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
29049         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
29050         that is unsafe.
29051         * modules/fprintftime (Depends-on): Add ignore-value.
29052
29053         exclude: avoid an unwarranted warning
29054         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
29055
29056 2009-10-27  Eric Blake  <ebb9@byu.net>
29057
29058         fseek: avoid compilation failure when fflush is replaced
29059         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
29060         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
29061         module is in use.
29062         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
29063         module is not in use; since REPLACE_FSEEK worked otherwise.
29064         (GNULIB_FTELLO): Likewise for ftell.
29065         Reported by Ian Beckwith and others.
29066
29067 2009-10-27  Bruno Haible  <bruno@clisp.org>
29068
29069         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
29070         Reported by Jim Meyering.
29071
29072 2009-10-27  Jim Meyering  <jim@meyering.net>
29073             Bruno Haible  <bruno@clisp.org>
29074
29075         Avoid warning despite dropping the return value of fwrite.
29076         * lib/unicodeio.c: Include ignore-value.h.
29077         (fwrite_success_callback): Explicitly ignore fwrite's return value.
29078         * modules/unicodeio (Depends-on): Add ignore-value.
29079
29080 2009-10-26  Eric Blake  <ebb9@byu.net>
29081
29082         areadlinkat: fix fallback path
29083         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
29084         pointer and zero.
29085
29086 2009-10-22  Pádraig Brady  <P@draigBrady.com>
29087
29088         Use a better IO block size for modern systems
29089         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
29090         * lib/md2.c: Likewise.
29091         * lib/md4.c: Likewise.
29092         * lib/md5.c: Likewise.
29093         * lib/sha1.c: Likewise.
29094         * lib/sha256.c: Likewise.
29095         * lib/sha512.c: Likewise.
29096
29097 2009-10-22  Eric Blake  <ebb9@byu.net>
29098
29099         tests: avoid several compiler warnings
29100         * tests/test-getcwd.c (main): Avoid buffer underflow.
29101         * tests/test-getdate.c (main): String literals are not safe with
29102         putenv, so use setenv.  Declare unused argument.
29103         * modules/getdate-tests (Depends-on): Add setenv.
29104         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
29105         problems with string literals in char *.
29106         * tests/test-hash.c (main): Avoid shadowing declaration.
29107         (insert_new): Treat string literals as char const *.
29108         * tests/test-getopt.h (test_getopt): Likewise.
29109         (getopt_loop): Alter types to minimize casting elsewhere.
29110         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
29111         (test_getopt_long_posix): Likewise.
29112         (do_getopt_long): Add wrapper to minimize casting.
29113         * tests/test-atexit.c (clear_temp_file): Use void.
29114         * tests/test-areadlink-with-size.c (main): Declare unused
29115         arguments.
29116         * tests/test-areadlink.c (main): Likewise.
29117         * tests/test-areadlinkat-with-size.c (main): Likewise.
29118         * tests/test-areadlinkat.c (main): Likewise.
29119         * tests/test-canonicalize-lgpl.c (main): Likewise.
29120         * tests/test-canonicalize.c (main): Likewise.
29121         * tests/test-dirent-safer.c (main): Likewise.
29122         * tests/test-dirname.c (main): Likewise.
29123         * tests/test-dup2.c (main): Likewise.
29124         * tests/test-fchdir.c (main): Likewise.
29125         * tests/test-fcntl-h.c (main): Likewise.
29126         * tests/test-fcntl-safer.c (main): Likewise.
29127         * tests/test-fdopendir.c (main): Likewise.
29128         * tests/test-fdutimensat.c (main): Likewise.
29129         * tests/test-fflush.c (main): Likewise.
29130         * tests/test-filenamecat.c (main): Likewise.
29131         * tests/test-filevercmp.c (main): Likewise.
29132         * tests/test-fopen-safer.c (main): Likewise.
29133         * tests/test-fopen.c (main): Likewise.
29134         * tests/test-fpending.c (main): Likewise.
29135         * tests/test-fpurge.c (main): Likewise.
29136         * tests/test-freading.c (main): Likewise.
29137         * tests/test-fstatat.c (main): Likewise.
29138         * tests/test-fsync.c (main): Likewise.
29139         * tests/test-futimens.c (main): Likewise.
29140         * tests/test-getndelim2.c (main): Likewise.
29141         * tests/test-gettimeofday.c (main): Likewise.
29142         * tests/test-getopt.c (main): Likewise.
29143         * tests/test-i-ring.c (main): Likewise.
29144         * tests/test-inttypes.c (main): Likewise.
29145         * tests/test-link.c (main): Likewise.
29146         * tests/test-lstat.c (main): Likewise.
29147         * tests/test-math.c (main): Likewise.
29148         * tests/test-md5.c (main): Likewise.
29149         * tests/test-memchr2.c (main): Likewise.
29150         * tests/test-memrchr.c (main): Likewise.
29151         * tests/test-mkdir.c (main): Likewise.
29152         * tests/test-mkdirat.c (main): Likewise.
29153         * tests/test-mkfifoat.c (main): Likewise.
29154         * tests/test-open.c (main): Likewise.
29155         * tests/test-openat-safer.c (main): Likewise.
29156         * tests/test-openat.c (main): Likewise.
29157         * tests/test-quotearg.c (main): Likewise.
29158         * tests/test-rawmemchr.c (main): Likewise.
29159         * tests/test-readlink.c (main): Likewise.
29160         * tests/test-remove.c (main): Likewise.
29161         * tests/test-rename.c (main): Likewise.
29162         * tests/test-renameat.c (main): Likewise.
29163         * tests/test-rmdir.c (main): Likewise.
29164         * tests/test-sha1.c (main): Likewise.
29165         * tests/test-signal.c (main): Likewise.
29166         * tests/test-sigaction.c (main): Likewise.
29167         * tests/test-stat.c (main): Likewise.
29168         * tests/test-stat-time.c (main): Likewise.
29169         * tests/test-stddef.c (main): Likewise.
29170         * tests/test-stdint.c (main): Likewise.
29171         * tests/test-stdio.c (main): Likewise.
29172         * tests/test-stdlib.c (main): Likewise.
29173         * tests/test-strchrnul.c (main): Likewise.
29174         * tests/test-strerror.c (main): Likewise.
29175         * tests/test-string.c (main): Likewise.
29176         * tests/test-strtod.c (main): Likewise.
29177         * tests/test-strverscmp.c (main): Likewise.
29178         * tests/test-symlink.c (main): Likewise.
29179         * tests/test-symlinkat.c (main): Likewise.
29180         * tests/test-sys_stat.c (main): Likewise.
29181         * tests/test-sys_time.c (main): Likewise.
29182         * tests/test-time.c (main): Likewise.
29183         * tests/test-unistd.c (main): Likewise.
29184         * tests/test-unlink.c (main): Likewise.
29185         * tests/test-unlinkat.c (main): Likewise.
29186         * tests/test-utimens.c (main): Likewise.
29187         * tests/test-utimensat.c (main): Likewise.
29188         * tests/test-version-etc.c (main): Likewise.
29189         * tests/test-wchar.c (main): Likewise.
29190         * tests/test-wctype.c (main): Likewise.
29191         * tests/test-xprintf-posix.c (main): Likewise.
29192         * tests/test-posixtm.c (main): Likewise.
29193         (STREQ): Delete unused macro.
29194         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
29195         shadowed variables.
29196         * tests/test-memchr.c (main): Likewise.
29197
29198 2009-10-21  Eric Blake  <ebb9@byu.net>
29199
29200         areadlinkat: avoid failure on older glibc
29201         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
29202         rather than mis-comparing 0 against FUNC_RESULT of char*.
29203
29204 2009-10-21  Bruno Haible  <bruno@clisp.org>
29205
29206         * modules/stpncpy (License): Relicense under LGPLv2+.
29207         Reported by David Lutterkort <lutter@redhat.com>.
29208
29209 2009-10-20  Eric Blake  <ebb9@byu.net>
29210
29211         utimensat: work around Solaris 9 bug
29212         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
29213         has trailing slash bugs.
29214         * tests/test-lutimens.h (test_lutimens): Enhance test.
29215         * tests/test-utimens.h (test_utimens): Likewise.
29216         * doc/posix-functions/utime.texi (utime): Enhance documentation.
29217         * doc/posix-functions/utimes.texi (utimes): Likewise.
29218         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
29219         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
29220         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
29221         * doc/posix-functions/futimens.texi (futimens): Likewise.
29222
29223         fdutimensat: new module
29224         * modules/fdutimensat: New file.
29225         * lib/fdutimensat.c (fdutimensat): Likewise.
29226         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
29227         * MODULES.html.sh (File system functions): Mention module.
29228         * modules/fdutimensat-tests: New test.
29229         * tests/test-fdutimensat.c: Likewise.
29230
29231         doc: regenerate INSTALL
29232         * doc/INSTALL: Reflect recent autoconf update.
29233         * doc/INSTALL.ISO: Likewise.
29234         * doc/INSTALL.UTF-8: Likewise.
29235
29236 2009-10-20  Pádraig Brady  <P@draigBrady.com>
29237
29238         acl: warn if ACL support is not detected
29239         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
29240
29241 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
29242
29243         * lib/nproc.h: Add extern "C" block for C++.
29244
29245 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
29246             Bruno Haible  <bruno@clisp.org>
29247
29248         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
29249         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
29250         * doc/posix-functions/isalpha.texi: Likewise.
29251         * doc/posix-functions/isblank.texi: Likewise.
29252         * doc/posix-functions/iscntrl.texi: Likewise.
29253         * doc/posix-functions/isdigit.texi: Likewise.
29254         * doc/posix-functions/isgraph.texi: Likewise.
29255         * doc/posix-functions/islower.texi: Likewise.
29256         * doc/posix-functions/isprint.texi: Likewise.
29257         * doc/posix-functions/ispunct.texi: Likewise.
29258         * doc/posix-functions/isspace.texi: Likewise.
29259         * doc/posix-functions/isupper.texi: Likewise.
29260         * doc/posix-functions/isxdigit.texi: Likewise.
29261
29262 2009-10-18  Bruno Haible  <bruno@clisp.org>
29263
29264         Tests for module 'isblank'.
29265         * modules/isblank-tests: New file.
29266         * tests/test-isblank.c: New file.
29267
29268         New module 'isblank'.
29269         * lib/isblank.c: New file.
29270         * m4/isblank.m4: New file.
29271         * modules/isblank: New file.
29272         * doc/posix-functions/isblank.texi: Mention the new module.
29273
29274 2009-10-18  Bruno Haible  <bruno@clisp.org>
29275
29276         New module 'ctype'.
29277         * lib/ctype.in.h: New file.
29278         * m4/ctype.m4: New file.
29279         * modules/ctype: New file.
29280         * doc/posix-headers/ctype.texi: Mention the new module.
29281
29282 2009-10-18  Jim Meyering  <meyering@redhat.com>
29283
29284         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
29285         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
29286         right after its initialization, rather than farther down.
29287         Keeping these in close proximity makes it easier to ensure
29288         that each such variable is initialized.  E.g.,
29289
29290             LIB_CLOCK_GETTIME=
29291             AC_SUBST([LIB_CLOCK_GETTIME])
29292
29293         This change also increments these serial numbers.
29294         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
29295         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
29296         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
29297
29298 2009-10-18  Bruno Haible  <bruno@clisp.org>
29299
29300         Don't let environment variables perturb build.
29301         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
29302         (gl_PREREQ_GETHRXTIME): ... not here.
29303
29304 2009-10-18  Bruno Haible  <bruno@clisp.org>
29305
29306         Avoid symlink attack in localcharset module.
29307         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
29308         (O_NOFOLLOW): Define fallback.
29309         (get_charset_aliases): Don't open the file if it is a symbolic link.
29310         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
29311         gl_FCNTL_H.
29312         (gl_FCNTL_H): Require it.
29313         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
29314         * modules/localcharset (Files): Add m4/fcntl_h.m4.
29315         Reported by Fergal Glynn <fglynn@veracode.com>.
29316
29317 2009-10-18  Bruno Haible  <bruno@clisp.org>
29318
29319         Implement nproc for mingw.
29320         * lib/nproc.c: Include <windows.h>
29321         (num_processors): On native Windows platforms, try GetSystemInfo.
29322
29323 2009-10-18  Bruno Haible  <bruno@clisp.org>
29324
29325         Implement nproc for IRIX.
29326         * lib/nproc.c: Include <sys/sysmp.h>.
29327         (num_processors): On IRIX systems, try sysmp.
29328         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
29329
29330 2009-10-18  Bruno Haible  <bruno@clisp.org>
29331
29332         Implement nproc for HP-UX.
29333         * lib/nproc.c: Include <sys/pstat.h>
29334         (num_processors): On HP-UX systems, try pstat_getdynamic.
29335         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
29336         pstat_getdynamic.
29337
29338 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
29339             Bruno Haible  <bruno@clisp.org>
29340
29341         Implement nproc for NetBSD, OpenBSD.
29342         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
29343         (ARRAY_SIZE): New macro.
29344         (num_processors): On BSD systems, try sysctl of HW_NCPU.
29345         * m4/nproc.m4: New file.
29346         * modules/nproc (Files): Add m4/nproc.m4.
29347         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
29348         (Makefile.am): Instead, augment lib_SOURCES.
29349
29350 2009-10-18  Bruno Haible  <bruno@clisp.org>
29351
29352         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
29353         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
29354         sys/param.h.
29355
29356 2009-10-16  Eric Blake  <ebb9@byu.net>
29357
29358         utimensat: new module
29359         * modules/utimensat: New file.
29360         * lib/utimensat.c (utimensat): Likewise.
29361         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
29362         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
29363         so we can work around Linux bugs.
29364         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
29365         * modules/sys_stat (Makefile.am): Substitute them.
29366         * lib/sys_stat.in.h (utimensat): Declare it.
29367         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29368         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
29369         * modules/utimensat-tests: New test.
29370         * tests/test-utimensat.c: Likewise.
29371
29372         utimens: let lutimens work on non-symlinks
29373         * lib/utimens.c (lutimens): Fall back to utimens rather than
29374         failing with ENOSYS, when file is not a symlink.
29375         (utimens): Reduce redirection.
29376         * tests/test-lutimens.h (test_lutimens): Update test to cover
29377         non-symlinks.
29378         * tests/test-utimens.h (test_utimens): Update test to cover
29379         symlinks.
29380         * tests/test-utimens.c (main): Update caller.
29381
29382         utimens: cache whether utimensat syscall works
29383         * lib/utimens.c (utimensat_works_really): New cache variable.
29384         (fdutimens, lutimens): Use it to avoid failing syscall.
29385
29386         test-stat-time, test-utimens: improve portability
29387         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
29388         ext4 on alpha, and for cygwin.
29389         * tests/test-utimens-common.h: New file.
29390         (nap): Factor delays into single function.
29391         * tests/test-lutimens.h (test_lutimens): Use new header.
29392         * tests/test-futimens.h (test_futimens): Likewise.
29393         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
29394         timestamps to occur from same machine, as was done previously for
29395         test_utimens.
29396         * modules/utimens-tests (Files): Ship new file.
29397         * modules/futimens-tests (Files): Likewise.
29398         Reported in part by Jim Meyering.
29399
29400         sys_stat: sort replacement declarations
29401         * lib/sys_stat.in.h: Sort declarations.
29402         * lib/futimens.c (futimens): Fix typo.
29403
29404 2009-10-15  Jim Meyering  <meyering@redhat.com>
29405
29406         don't let environment settings perturb build
29407         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
29408         could cause a configure-time and/or build-time malfunction.
29409         Typically, a configure-time function-in-library test is performed
29410         via code like this:
29411
29412           LIB_VAR=
29413           AC_SUBST([LIB_VAR])
29414           prefix_saved_LIBS=$LIBS
29415             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
29416                        [test "$ac_cv_search_FUNC" = "none required" ||
29417                         LIB_VAR=$ac_cv_search_FUNC])
29418           LIBS=$prefix_saved_LIBS
29419
29420         However, in each of the files affected by this change, the LIB_VAR=
29421         initialization was omitted.  Thus, when set in the environment, its
29422         value would propagate into generated Makefiles when FUNC is not found
29423         in LIB_NAME.
29424         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
29425         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
29426         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
29427
29428 2009-10-14  Eric Blake  <ebb9@byu.net>
29429
29430         fchdir: avoid infinite recursion in mingw
29431         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
29432         recursing.
29433
29434         test-stat-time: port to mingw
29435         * tests/test-stat-time.c (force_unlink): Return a value.
29436         (test_ctime) [W32]: Fix compilation error.
29437         (nap): Don't call usleep with too large an argument.  Use
29438         force_unlink.
29439         * doc/pastposix-functions/usleep.texi (usleep): Document the
29440         portability issue.
29441
29442 2009-10-13  Jim Meyering  <meyering@redhat.com>
29443
29444         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
29445         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
29446         * modules/pipe-filter-ii: Likewise.
29447         * modules/sys_socket-tests: Likewise.
29448         * modules/tsearch-tests: Likewise.
29449         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
29450         (check): Depend on it.
29451
29452 2009-10-12  Eric Blake  <ebb9@byu.net>
29453
29454         utimens-tests: port to NFS file systems
29455         * tests/test-utimens.h (test_utimens): Refactor utimecmp
29456         comparisons to avoid spurious failures from timestamp drift
29457         between NFS machines.
29458
29459 2009-10-12  Eric Blake  <ebb9@byu.net>
29460
29461         stat-time-tests: minor cleanups
29462         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
29463         * tests/test-stat-time.c (nap): Separate assignment from call.
29464         Suggested by Paolo Bonzini and Bruno Haible.
29465
29466         sys_stat: guarantee struct timespec
29467         * lib/sys_stat.in.h (includes): Always include <time.h>
29468         * modules/sys_stat (Depends-on): Add time.
29469         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
29470         mode_t permission values.
29471         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
29472         get at subsecond timestamps.
29473
29474 2009-10-10  Eric Blake  <ebb9@byu.net>
29475
29476         futimens: new module
29477         * modules/futimens: New file.
29478         * lib/futimens.c (futimens): Likewise.
29479         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
29480         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
29481         we can work around Linux bugs.
29482         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
29483         * modules/sys_stat (Makefile.am): Substitute them.
29484         * lib/sys_stat.in.h (futimens): Declare it.
29485         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29486         * doc/posix-functions/futimens.texi (futimens): Likewise.
29487         * modules/futimens-tests: New test.
29488         * tests/test-futimens.c: Likewise.
29489
29490         utimens: introduce fdutimens
29491         * lib/utimens.h (fdutimens): New prototype.
29492         * lib/utimens.c (gl_futimens): Move guts...
29493         (fdutimens): ...to new interface.
29494         * tests/test-utimens.c (do_fdutimens): Use it.
29495
29496         utimens: add UTIME_NOW and UTIME_OMIT support
29497         * lib/utimens.c (validate_timespec, update_timespec): New helper
29498         functions.
29499         (gl_futimens, lutimens): Use them.
29500         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
29501         stdbool, sys_stat.
29502         (Link): Mention resulting library dependency.
29503         * modules/utimecmp (Link): Likewise.
29504         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
29505         (Makefile.am): Pick up library dependency.
29506         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
29507         definition.
29508         * tests/test-sys_stat.c: Test the definitions.
29509         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
29510         * NEWS: Document library dependency.
29511
29512         utimecmp: support symlink timestamps
29513         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
29514         hashing when possible.  Use pathconf when available.
29515         (SYSCALL_RESOLUTION): Recognize tighter resolution.
29516         * modules/utimecmp (Depends-on): Add lstat.
29517
29518         utimens: add lutimens interface
29519         * lib/utimens.c (lutimens): New function.
29520         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
29521         * lib/utimens.h (lutimens): Declare new interface.
29522         * tests/test-utimens.c (main): Enhance test.
29523         * tests/test-lutimens.h (test_lutimens): New file.
29524         * modules/utimens-tests (Files): Distribute it.
29525         (Depends-on): Add symlink.
29526         (configure.ac): Check for usleep.
29527
29528         utimens: validate futimens usage
29529         * lib/utimens.c (gl_futimens): Require valid fd up front, using
29530         fewer syscalls on failure later on.  Avoid compiler warning on
29531         mingw.
29532         * modules/utimens (Depends-on): Add dup2.
29533
29534         utimens: add test
29535         * modules/utimens-tests: New test.
29536         * tests/test-utimens.h: New file.
29537         * tests/test-futimens.h: Likewise.
29538         * tests/test-utimens.c: Likewise.
29539
29540         doc: mention timestamp portability issues
29541         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
29542         instead.
29543         * doc/posix-functions/utime.texi (utime): Likewise.
29544         * doc/posix-functions/utimes.texi (utimes): Likewise.
29545         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
29546         instead.
29547         * doc/posix-functions/futimens.texi (futimens): Mention utimens
29548         module.
29549         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
29550         Mention weakness with symlink timestamps.
29551         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
29552         to utimensat/futimens instead.
29553         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
29554
29555         test-dup2: enhance test
29556         * tests/test-dup2.c (main): Also check AT_FDCWD.
29557
29558         test-stat-time: avoid more spurious failures
29559         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
29560         xfs; and avoid race if the two timestamps cross quantization edge.
29561
29562         relocatable: prefer 'file system' over 'filesystem'
29563         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
29564         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
29565         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
29566         * doc/relocatable.texi (Enabling Relocatability): Likewise.
29567         * lib/relocatable.c (compute_curr_prefix): Likewise.
29568
29569 2009-10-10  Jim Meyering  <meyering@redhat.com>
29570
29571         stat-time-tests: check for the usleep function
29572         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
29573
29574 2009-10-10  Bruno Haible  <bruno@clisp.org>
29575
29576         * modules/xnanosleep: Put the Link section after the Include section.
29577
29578 2009-10-09  Eric Blake  <ebb9@byu.net>
29579
29580         dup2: work around FreeBSD 6.1 bug
29581         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
29582         * doc/posix-functions/dup2.texi (dup2): Document it.
29583         Reported by Nelson H. F. Beebe and Jim Meyering.
29584
29585         test-stat-time: port to buggy NFS clients
29586         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
29587         (test_ctime): Also skip test if mtime and ctime are skewed.
29588
29589         maint: prefer 'file system' over 'filesystem'
29590         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
29591         * doc/posix-functions/lstat.texi (lstat): Likewise.
29592         * lib/file-has-acl.c (file_has_acl): Likewise.
29593         * lib/fwriteerror.c [TEST]: Likewise.
29594         * tests/test-areadlink.h (test_areadlink): Likewise.
29595         * tests/test-areadlinkat-with-size.c (main): Likewise.
29596         * tests/test-areadlinkat.c (main): Likewise.
29597         * tests/test-canonicalize-lgpl.c (main): Likewise.
29598         * tests/test-canonicalize.c (main): Likewise.
29599         * tests/test-fstatat.c (main): Likewise.
29600         * tests/test-linkat.c (main): Likewise.
29601         * tests/test-lstat.h (test_lstat_func): Likewise.
29602         * tests/test-mkdir.h (test_mkdir): Likewise.
29603         * tests/test-readlink.h (test_readlink): Likewise.
29604         * tests/test-remove.c (main): Likewise.
29605         * tests/test-rename.h (test_rename): Likewise.
29606         * tests/test-renameat.c (main): Likewise.
29607         * tests/test-rmdir.h (test_rmdir_func): Likewise.
29608         * tests/test-symlink.h (test_symlink): Likewise.
29609         * tests/test-symlinkat.c (main): Likewise.
29610         * tests/test-unlink.h (test_unlink_func): Likewise.
29611         * tests/test-unlinkat.c (main): Likewise.
29612
29613         maint: make realtime library usage explicit
29614         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
29615         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
29616         * modules/settime (Link): Likewise.
29617         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
29618
29619         test-stat-time: speed up execution
29620         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
29621         warning on mingw.
29622         (nap): New helper function.
29623         (prepare_test): Use it to reduce sleep time.
29624         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
29625         execution.
29626         * modules/stat-time-tests (configure.ac): Check for usleep.
29627
29628 2009-10-09  Jim Meyering  <meyering@redhat.com>
29629
29630         selinux-h: always use getfilecon wrappers
29631         * lib/getfilecon.c: New file.
29632         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
29633         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
29634         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
29635         (fgetfilecon): Provide a stub.
29636         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
29637         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
29638         file unconditionally.
29639         When <selinux/selinux.h> is found, arrange to use wrappers.
29640         * modules/selinux-h (Files): Add getfilecon.c.
29641         (Makefile.am): Substitute include-next-related bits
29642         into the now-always-generated selinux/selinux.h file.
29643         * doc/glibc-functions/lgetfilecon.texi: New file.
29644         * doc/glibc-functions/fgetfilecon.texi: New file.
29645         * doc/glibc-functions/getfilecon.texi: New file.
29646         * doc/glibc-functions/getfilecon-desc.texi: New file.
29647         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
29648         which to pull in the new files.
29649         * MODULES.html.sh (Misc): Add selinux-h.
29650
29651 2009-10-08  Jim Meyering  <meyering@redhat.com>
29652
29653         unistd: fix comment typo
29654         * lib/unistd.in.h (euidaccess): Fix a comment typo.
29655
29656 2009-10-08  Eric Blake  <ebb9@byu.net>
29657
29658         areadlink: use SIZE_MAX consistently
29659         * modules/areadlink (Depends-on): Add stdint.
29660         * modules/areadlink-with-size (Depends-on): Likewise.
29661         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
29662         gives NULL; drop sys/types, since unistd gives size_t; and add
29663         stdint for SIZE_MAX.
29664         (SIZE_MAX): Rely on headers.
29665         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
29666         and add stdint.
29667         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
29668         (SIZE_MAX): Likewise.
29669         (INITIAL_BUF_SIZE): Turn into enum.
29670         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
29671
29672 2009-10-08  Jim Meyering  <meyering@redhat.com>
29673
29674         areadlinkat: avoid compilation failure
29675         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
29676         Fix typo in comment.
29677
29678 2009-10-07  Eric Blake  <ebb9@byu.net>
29679
29680         areadlinkat-with-size: new module
29681         * modules/areadlinkat-with-size: New module.
29682         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
29683         * lib/areadlink.h (areadlinkat): Declare it.
29684         * MODULES.html.sh (File system functions): Mention it.
29685         * modules/areadlinkat-with-size-tests: New test.
29686         * tests/test-areadlinkat-with-size.c: New file.
29687
29688         xreadlinkat: new module
29689         * modules/xreadlinkat: New module.
29690         * lib/xreadlinkat.c (xreadlinkat): New file.
29691         * lib/xreadlink.h (xreadlinkat): Declare it.
29692         * MODULES.html.sh (File system functions): Mention it.
29693
29694         areadlinkat: new module
29695         * lib/at-func.c (FUNC_FAIL): New define.
29696         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
29697         * modules/areadlinkat: New module.
29698         * lib/linkat.c (areadlinkat): Move...
29699         * lib/areadlinkat.c (areadlinkat): ...to new file.
29700         * lib/areadlink.h (areadlinkat): Declare it.
29701         * modules/linkat (Depends-on): Add areadlinkat.
29702         * MODULES.html.sh (File system functions): Mention it.
29703         * modules/areadlinkat-tests: New test.
29704         * tests/test-areadlinkat.c: New file.
29705
29706         areadlink, areadlink-with-size: add tests
29707         * modules/areadlink-tests: New test.
29708         * modules/areadlink-with-size-tests: Likewise.
29709         * tests/test-areadlink.h: New file.
29710         * tests/test-areadlink.c: Likewise.
29711         * tests/test-areadlink-with-size.c: Likewise.
29712
29713         maint: minor cleanups
29714         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
29715         _UNUSED_PARAMETER_ instead.
29716         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
29717         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
29718         * modules/linkat-tests (Files): Distribute test-link.h.
29719
29720         openat, utimens: whitespace cleanup
29721         * lib/openat.c: Prefer space throughout, rather than mix of 8
29722         spaces vs. tabs.
29723         * lib/at-func.c: Likewise.
29724         * lib/utimens.c: Likewise.
29725
29726         openat: avoid using wrong fd
29727         * lib/openat.c (openat_permissive): Reject user's fd if saving the
29728         working directory chooses same fd.
29729         * lib/at-func.c (AT_FUNC_NAME): Likewise.
29730
29731         mkdir, mkdirat: fix cygwin 1.5.x bug
29732         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
29733         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
29734         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
29735         bug.
29736         (gl_PREREQ_MKDIR): Delete unused macro.
29737         * modules/mkdir (Files): Track file rename.
29738         (configure.ac): Update macro name.
29739         * modules/openat (Depends-on): Add mkdir.
29740         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
29741
29742         mkdir, mkdirat: add tests
29743         * modules/mkdir-tests: New test.
29744         * tests/test-mkdir.h: New file.
29745         * tests/test-mkdir.c: Likewise.
29746         * tests/test-mkdirat.c: Likewise.
29747         * modules/openat-tests (Files): Add new files.
29748         (Makefile.am): Run new test.
29749
29750 2009-10-06  Eric Blake  <ebb9@byu.net>
29751
29752         doc: tweak *at function documentation
29753         * doc/posix-functions/faccessat.texi (faccessat): Mention
29754         known issue with replacement.
29755         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
29756         * doc/posix-functions/linkat.texi (linkat): Likewise.
29757         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
29758         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
29759         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
29760         * doc/posix-functions/renameat.texi (renameat): Likewise.
29761         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
29762
29763         openat: fix GNU/Hurd bug in unlinkat
29764         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
29765         broken.
29766         * doc/posix-functions/unlink.texi (unlink): Document this.
29767         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
29768
29769         fdopendir: fix GNU/Hurd bug
29770         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
29771         allowing non-directory fds.
29772         * lib/fdopendir.c (rpl_fdopendir): Work around it.
29773         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29774         * modules/dirent (Makefile.am): Substitute it.
29775         * lib/dirent.in.h (fdopendir): Declare replacement.
29776         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
29777         * tests/test-fdopendir.c (main): Test something other than
29778         /dev/null, since on Hurd that behaves like a directory.
29779
29780         test-symlink: port to GNU/Hurd
29781         * tests/test-symlink.h (test_symlink): Relax expected errno.
29782
29783         doc: tweak more cygwin information
29784         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
29785         now compatible with glibc.
29786         * doc/posix-functions/getopt.texi (getopt): Likewise.
29787
29788         getopt-gnu: add another test
29789         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
29790         guarantee behavior relied on by m4.
29791         * tests/test-getopt.c (main): Use it.
29792         * modules/getopt-posix-tests (Depends-on): Add setenv.
29793         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
29794
29795         getopt: fix compilation on darwin
29796         * lib/getopt.in.h (includes): Leave breadcrumbs during system
29797         include.
29798         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
29799         Reported by Ludovic Courtès.
29800
29801 2009-10-06  Bruno Haible  <bruno@clisp.org>
29802
29803         * modules/size_max (Description): Discourage its use.
29804         Reported by Simon Josefsson.
29805
29806 2009-10-06  Jim Meyering  <meyering@redhat.com>
29807
29808         linkat: avoid compilation failure
29809         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
29810
29811 2009-10-05  Eric Blake  <ebb9@byu.net>
29812
29813         linkat: support Linux 2.6.17
29814         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
29815         linkat on Linux, but allow cache variable override.
29816         * lib/linkat.c (rpl_linkat): Define override.
29817         * modules/linkat (Depends-on): Add symlinkat.
29818         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
29819         * modules/unistd (Makefile.am): Substitute it.
29820         * lib/unistd.in.h (linkat): Declare replacement.
29821         Reported by Pádraig Brady.
29822
29823         quotearg: port test to systems with C.UTF-8 locale
29824         * tests/test-quotearg.c (struct result_strings): Add another
29825         member, differentiating between C.ASCII and C.UTF-8 handling.
29826         (compare_strings): Add parameter.
29827         (main): Adjust all callers.
29828
29829         getopt: avoid clash with FreeBSD _getopt_internal
29830         * lib/getopt.in.h (_getopt_internal): Override the name.
29831         * lib/getopt_int.h (includes): Pick up any overrides.
29832         Reported by Reuben Thomas.
29833
29834         hash: allow C89 compilation
29835         * lib/hash.c (check_tuning): Move declaration before statement.
29836         Reported by Reuben Thomas.
29837
29838 2009-10-05  Karl Berry  <karl@gnu.org>
29839
29840         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
29841
29842 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
29843             Bruno Haible  <bruno@clisp.org>
29844
29845         * lib/uname.c (uname): Use a table-driven algorithm to compute
29846         Windows NT versions.
29847
29848 2009-10-04  Bruno Haible  <bruno@clisp.org>
29849
29850         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
29851         program_invocation_short_name.
29852         * modules/progname (configure.ac): Test for presence of
29853         program_invocation_short_name.
29854         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
29855
29856 2009-10-04  Bruno Haible  <bruno@clisp.org>
29857
29858         * lib/progname.c (set_program_name): Fix comment.
29859         Reported by Jim Meyering.
29860
29861 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
29862             Bruno Haible  <bruno@clisp.org>
29863
29864         * lib/uname.c: Include <string.h>.
29865         (uname): Do only one call to GetVersionEx in the common case.
29866
29867 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
29868             Bruno Haible  <bruno@clisp.org>
29869
29870         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
29871         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
29872         (uname): Add support for Windows CE and various non-x86 CPU types.
29873
29874 2009-10-03  Bruno Haible  <bruno@clisp.org>
29875
29876         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
29877         invocation to tests/configure.ac.
29878         Reported by Ian Beckwith <ianb@erislabs.net>.
29879
29880 2009-10-02  Eric Blake  <ebb9@byu.net>
29881
29882         fchdir: avoid compiler warning
29883         * lib/fchdir.c (canonicalize_file_name)
29884         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
29885
29886         test-open: support mingw errno values
29887         * tests/test-open.h (test_open): Relax test.
29888         * tests/test-fopen.h (test_fopen): Likewise.
29889         * tests/test-openat-safer.c (main): Likewise.
29890
29891         open: fix opening directory on mingw
29892         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
29893
29894         test-open: on GNU/Hurd, /dev/null is a directory
29895         * tests/test-fopen.h (main): Rename...
29896         (test_fopen): ...to this.  Use a guaranteed non-directory when
29897         confirming open behavior on trailing slash.
29898         * tests/test-openat-safer.c (main): Likewise.
29899         * tests/test-open.h (main): Likewise....
29900         (test_open): ...to this.
29901         * tests/test-fopen.c (main): Adjust caller.
29902         * tests/test-fopen-safer.c (main): Likewise.
29903         * tests/test-open.c (main): Likewise.
29904         * tests/test-fcntl-safer.c (main): Likewise.
29905         Reported by Samuel Thibault.
29906
29907         rename, fchdir: don't ignore chdir failure
29908         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
29909         * lib/rename.c (rpl_rename) [W32]: Likewise.
29910         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
29911         an empty destination directory if source cannot be renamed,
29912         although there is still possibility for failure.
29913         * doc/posix-functions/rename.texi (rename): Document the race.
29914         Reported by Jim Meyering.
29915
29916         maint: cleanup whitespace in recent commits
29917         * lib/rename.c (rpl_rename): Remove tabs.
29918         * tests/test-link.h (test_link): Likewise.
29919         * lib/fchdir.c (get_name): Likewise.
29920         Reported by Jim Meyering.
29921
29922 2009-10-02  Ben Pfaff  <blp@gnu.org>
29923
29924         relocatable-prog-wrapper: Add missing dependency on
29925         double-slash-root.
29926         * modules/relocatable-prog-wrapper: Add dependency.
29927         Reported by Ian Beckwith <ianb@erislabs.net>.
29928
29929 2009-10-02  Eric Blake  <ebb9@byu.net>
29930
29931         renameat: fix Solaris bugs
29932         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
29933         needed fixing.
29934         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
29935         * modules/stdio (Makefile.am): Substitute it.
29936         * lib/stdio.in.h (renameat): Declare replacement.
29937         * lib/renameat.c (rpl_renameat): Implement fix.
29938
29939         renameat: new module
29940         * modules/renameat: New file.
29941         * lib/renameat.c (renameat): Likewise.
29942         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
29943         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
29944         * modules/stdio (Makefile.am): Substitute them.
29945         * lib/stdio.in.h (renameat): Declare it.
29946         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
29947         * doc/posix-functions/renameat.texi (renameat): Likewise.
29948         * modules/renameat-tests: New test.
29949         * tests/test-renameat.c: Likewise.
29950
29951         rename: fix mingw bugs
29952         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
29953         directory overwrite bugs.
29954
29955         rename: fix another cygwin 1.5 bug
29956         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
29957         checks.
29958         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
29959         unnecessary cygwin workarounds.  Also work around bug with moving
29960         full directory onto an empty one.
29961         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
29962
29963         rename-dest-slash: merge into rename module
29964         * modules/rename-dest-slash (Status): Mark obsolete.
29965         (Depends-on): Add rename.
29966         (Files): Let rename do it all.
29967         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
29968         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
29969         * m4/rename-dest-slash.m4: ...so this file can be deleted.
29970         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
29971         * lib/rename.c (rpl_rename): Update comments.
29972
29973         rename: fix cygwin 1.5.x bugs
29974         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
29975         * lib/rename.c (rpl_rename): Work around them.
29976         * modules/rename (Depends-on): Add same-inode.
29977
29978         rename: fix Solaris 10 bug
29979         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
29980         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
29981         was the only bug.
29982
29983         rename: fix Solaris 9 bug
29984         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
29985         on non-directory.  Avoid calling exit.
29986         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
29987         strdup.
29988         * modules/rename-tests (Depends-on): Drop lstat.
29989         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
29990         (gl_PREREQ_RENAME): Delete unused macro.
29991
29992         rename-dest-slash: fix NetBSD bug
29993         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
29994         links.
29995         * modules/rename-dest-slash (Depends-on): Add same-inode.
29996
29997         rename-tests: new test, exposes several platform bugs
29998         * modules/rename-tests: New file.
29999         * tests/test-rename.h: Likewise.
30000         * tests/test-rename.c: Likewise.
30001         * doc/posix-functions/rename.texi (rename): Improve documentation,
30002         including bugs that will eventually be fixed in gnulib.
30003
30004 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
30005
30006         * lib/uname.c: Include <stdlib.h>
30007         (uname): Assume version info is available.
30008
30009 2009-10-02  Jim Meyering  <meyering@redhat.com>
30010
30011         gnu-web-doc-update: correct --help output
30012         * build-aux/gnu-web-doc-update: Make --help output relevant.
30013
30014         gnu-web-doc-update: add standard options
30015         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
30016
30017         gnu-web-doc-update: New module.
30018         Use this script to automatically update the on-line web documentation
30019         for your GNU project at http://www.gnu.org/software/$pkg/manual/
30020         * modules/gnu-web-doc-update: New file, from coreutils.
30021         * build-aux/gnu-web-doc-update: New script.
30022
30023 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
30024
30025         link: LoadLibrary is not needed.
30026         * lib/link.c: Use GetModuleHandle.
30027
30028 2009-10-01  Eric Blake  <ebb9@byu.net>
30029
30030         getopt: bump serial number
30031         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
30032         change.
30033
30034         tests: tighten link, rmdir, and remove tests
30035         * tests/test-link.h (includes): No need to use <config.h> here.
30036         Clean up if directory hard link was created, otherwise test for
30037         trailing '.'.
30038         * tests/test-linkat.c (main): Simplify.
30039         * tests/test-remove.c (main): Enhance test for trailing '.'.
30040         * tests/test-rmdir.h (test_rmdir_func): Likewise.
30041
30042 2009-10-01  Jim Meyering  <meyering@redhat.com>
30043
30044         maint.mk: requiring "make major" was annoying, for a "minor" release.
30045         What is intended is "stable", to contrast with alpha and beta,
30046         so require "make stable", not "make major".
30047         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
30048         (get_tool_versions): Likewise.
30049         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
30050
30051 2009-09-30  Ben Pfaff  <blp@gnu.org>
30052
30053         Fix broken build of replacement for Windows tmpfile().
30054         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
30055         flags argument added along with the 'mkostemp' module.
30056
30057 2009-09-28  Bruno Haible  <bruno@clisp.org>
30058
30059         Avoid identifier clash with POSIX function 'remove' defined as a macro.
30060         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
30061         to 'remove_elt'.
30062         (gl_list_remove): Update.
30063         * lib/gl_list.c (gl_list_remove): Update.
30064         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
30065         to 'remove_elt'.
30066         (gl_oset_remove): Update.
30067         * lib/gl_list.c (gl_oset_remove): Update.
30068         Reported by Eric Blake.
30069
30070 2009-09-28  Eric Blake  <ebb9@byu.net>
30071
30072         doc: mention yet more cygwin 1.7 status
30073         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
30074         cygwin.
30075         * doc/glibc-functions/execvpe.texi (execvpe): New file.
30076         * doc/gnulib.texi (Glibc unistd.h): Mention it.
30077
30078         argp: fix test failure
30079         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
30080         that are not upper-case.  Pass correct range to tolower.
30081
30082 2009-09-27  Jim Meyering  <meyering@redhat.com>
30083
30084         test-yesno: work around sparc-dash here-document infelicity
30085         Without this change, the literal \177 byte in a here document
30086         would make dash 0.5.5.1-3 access uninitialized memory.
30087         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
30088         Instead, use a marker, "@", and filter through tr to create the desired
30089         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
30090
30091 2009-09-27  Bruno Haible  <bruno@clisp.org>
30092
30093         Disable untested support for new flavours of ACLs on AIX.
30094         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
30095         progress.
30096         * lib/set-mode-acl.c (qset_acl): Likewise.
30097
30098 2008-12-07  Bruno Haible  <bruno@clisp.org>
30099
30100         Add support for new flavours of ACLs on AIX. (Untested.)
30101         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
30102         (file_has_acl): Add support for newer AIX.
30103         * lib/set-mode-acl.c (qset_acl): Likewise.
30104         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
30105         Rainer Tammer <tammer@tammer.net>.
30106
30107 2009-09-26  Eric Blake  <ebb9@byu.net>
30108
30109         argp: fix compilation of getopt
30110         * lib/getopt.in.h (includes): Use different guard than glibc.
30111         Reported by Sergey Poznyakoff.
30112
30113         doc: mention more cygwin 1.7 status
30114         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
30115         bug.
30116         * doc/posix-functions/execl.texi (execl): Likewise.
30117         * doc/posix-functions/execle.texi (execle): Likewise.
30118         * doc/posix-functions/execlp.texi (execlp): Likewise.
30119         * doc/posix-functions/execv.texi (execv): Likewise.
30120         * doc/posix-functions/execve.texi (execve): Likewise.
30121         * doc/posix-functions/execvp.texi (execvp): Likewise.
30122         * doc/glibc-functions/canonicalize_file_name.texi
30123         (canonicalize_file_name): Cygwin 1.7 now provides this.
30124         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
30125         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
30126         on AT_SYMLINK_NOFOLLOW.
30127
30128 2009-09-24  Eric Blake  <ebb9@byu.net>
30129
30130         test-linkat: make test more robust
30131         * tests/test-linkat.c (main): Avoid collision with EEXIST.
30132
30133         getopt: fix inclusion guards for cygwin
30134         * modules/getopt-posix (Depends-on): Add include-next.
30135         (Makefile.am): Substitute more items in replacement header.
30136         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
30137         <getopt.h>.
30138         * lib/getopt.in.h (includes): Use split inclusion guard, and
30139         prefer <getopt.h> over include <unistd.h> when one is present.
30140         (option): Also override name of 'struct option'.
30141
30142         same-inode: revert prior change; it is not yet ready
30143         * NEWS: Undo mention of this change.
30144         * lib/same-inode.h (same-inode.h): Undo tri-state change.
30145         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
30146         * lib/cycle-check.c (cycle_check): Likewise.
30147         * lib/same.c (same_name): Likewise.
30148         * lib/at-func2.c (at_func2): Likewise.
30149
30150 2009-09-23  Eric Blake  <ebb9@byu.net>
30151
30152         linkat: new module
30153         * modules/linkat: New file.
30154         * lib/at-func2.c (at_func2): Likewise.
30155         * lib/linkat.c (linkat): Likewise.
30156         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
30157         * lib/openat-priv.h (at_func2): Add declaration.
30158         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
30159         * modules/unistd (Makefile.am): Substitute them.
30160         * lib/unistd.in.h (linkat): Declare it.
30161         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30162         * doc/posix-functions/linkat.texi (linkat): Likewise.
30163         * doc/posix-functions/link.texi (link): Tweak wording.
30164         * tests/test-link.c (main): Move guts...
30165         * tests/test-link.h (test_link): ...into new file.
30166         * modules/linkat-tests: New test.
30167         * tests/test-linkat.c: Likewise.
30168         * modules/link-tests (Files): Ship new file.
30169         (Depends-on): Add stdbool.
30170
30171         dirname: add library-safe mdir_name
30172         * lib/dirname.h (mdir_name): New prototype.
30173         * lib/dirname.c (dir_name): Move guts...
30174         (mdir_name): ...to new function that avoids xalloc_die.
30175
30176         fchdir: another mingw fix
30177         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
30178         * lib/fchdir.c (get_name): New helper method; skips canonicalize
30179         on mingw (where it has not yet been ported), and make it optional
30180         elsewhere.
30181         (_gl_register_fd): Use it.
30182
30183         same-inode: make SAME_INODE tri-state, to port to mingw
30184         * NEWS: Mention this change.
30185         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
30186         st_ino always being 0.
30187         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
30188         * lib/cycle-check.c (cycle_check): Likewise.
30189         * lib/same.c (same_name): Likewise.
30190
30191         lstat: avoid mingw compilation error
30192         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
30193         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
30194         lstat ourselves.
30195         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
30196         was adequate.
30197         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
30198         the checks for lstat.
30199         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
30200
30201         link: fix test failure on Solaris 9
30202         * lib/link.c (rpl_link): Don't assume link will catch bogus
30203         trailing slash on source.
30204
30205         test-symlinkat: enhance test
30206         * tests/test-readlink.c (main): Move guts...
30207         * tests/test-readlink.h (test_readlink): ...into new file.
30208         * tests/test-symlink.c (main): Move guts...
30209         * tests/test-symlink.h (test_symlink): ...into new file.
30210         * tests/test-symlinkat.c (main): Use new files for further
30211         coverage.
30212         (do_symlink, do_readlink): New helper functions.
30213         * modules/symlink-tests (Files): Ship new file.
30214         (Depends-on): Add stdbool.
30215         * modules/readlink-tests (Files): Ship new file.
30216         (Depends-on): Add stdbool.
30217         * modules/symlinkat-tests (Files): Use new files.
30218
30219 2009-09-23  Eric Blake  <ebb9@byu.net>
30220
30221         readlink: document portability issue with symlink length
30222         * doc/posix-functions/lstat.texi (lstat): Mention that some file
30223         systems have bogus st_size on symlinks, and mention the
30224         areadlink-with-size module.
30225         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
30226         * doc/posix-functions/readlink.texi (readlink): Mention the
30227         areadlink module, and ERANGE failure.
30228         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30229         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
30230
30231         readlink: fix Solaris 9 bug with trailing slash
30232         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
30233         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
30234         * doc/posix-functions/readlink.texi (readlink): Document this.
30235         * modules/readlink-tests: New test.
30236         * tests/test-readlink.c: Likewise.
30237
30238         readlink: fix cygwin 1.5.x bug with return type
30239         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
30240         * lib/unistd.in.h (readlink): Use ssize_t.
30241         * lib/readlink.c (readlink): Likewise.
30242         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30243         * modules/unistd (Makefile.am): Substitute it.
30244         * lib/unistd.in.h (readlink): Declare replacement.
30245         * doc/posix-functions/readlink.texi (readlink): Document this.
30246
30247         symlink: use throughout gnulib
30248         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
30249         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
30250         symlink is not used.
30251         * modules/symlinkat (Depends-on): Add symlink.
30252         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
30253         * modules/canonicalize-tests (Depends-on): Likewise.
30254         * modules/lstat-tests (Depends-on): Likewise.
30255         * modules/openat-tests (Depends-on): Likewise.
30256         * modules/remove-tests (Depends-on): Likewise.
30257         * modules/rmdir-tests (Depends-on): Likewise.
30258         * modules/unlink-tests (Depends-on): Likewise.
30259         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
30260         * tests/test-canonicalize.c (symlink): Likewise.
30261         * tests/test-fstatat.c (symlink): Likewise.
30262         * tests/test-lstat.c (symlink): Likewise.
30263         * tests/test-remove.c (symlink): Likewise.
30264         * tests/test-rmdir.c (symlink): Likewise.
30265         * tests/test-unlink.c (symlink): Likewise.
30266         * tests/test-unlinkat.c (symlink): Likewise.
30267
30268         symlink: new module, for Solaris 9 bug
30269         * modules/symlink: New file.
30270         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
30271         * lib/symlink.c: Likewise.
30272         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
30273         * modules/unistd (Makefile.am): Substitute them.
30274         * lib/unistd.in.h (symlink): Declare replacement.
30275         * MODULES.html.sh (File system functions): Mention it.
30276         * doc/posix-functions/symlink.texi (symlink): Likewise.
30277         * modules/symlink-tests: New test.
30278         * tests/test-symlink.c: Likewise.
30279
30280 2009-09-23  Bruno Haible  <bruno@clisp.org>
30281
30282         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
30283         when needed.
30284         Test case: gnulib-tool --import --with-tests atexit inttypes.
30285         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
30286
30287 2009-09-23  Bruno Haible  <bruno@clisp.org>
30288
30289         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
30290         subcommand, not in a subshell.
30291
30292 2009-09-22  Eric Blake  <ebb9@byu.net>
30293
30294         unistd: sort replacement declarations
30295         * lib/unistd.in.h: Sort declarations.
30296
30297         open, openat: minor optimization
30298         * lib/open.c (open): If open succeeded, len is non-zero.
30299         * lib/openat.c (rpl_openat): Likewise.
30300
30301         link-follow: ensure correct result
30302         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
30303         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
30304         distinguish between possible failures.
30305
30306 2009-09-21  Eric Blake  <ebb9@byu.net>
30307
30308         fts: avoid compiler warning
30309         * lib/fts.c (dirent_inode_sort_may_be_useful)
30310         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
30311
30312 2009-09-19  Bruno Haible  <bruno@clisp.org>
30313
30314         * lib/progreloc.c (canonicalize_file_name): New declaration.
30315
30316 2009-09-19  Eric Blake  <ebb9@byu.net>
30317
30318         link: fix quoting
30319         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
30320
30321         openat: fix openat bugs on Solaris 9
30322         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
30323         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
30324         * modules/openat (Depends-on): Add open.
30325         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
30326         * modules/fcntl-h (Makefile.am): Substitute it.
30327         * lib/fcntl.in.h (openat): Declare replacement.
30328         * doc/posix-functions/openat.texi (openat): Document this.
30329
30330         openat: move fstatat and unlinkat into correct files
30331         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
30332         compiled.
30333         * lib/openat.c (fstatat, unlinkat): Move...
30334         * lib/fstatat.c (fstatat): ...into correct files.
30335         * lib/unlinkat.c (unlinkat): Likewise.
30336
30337         openat: fix unlinkat bugs on Solaris 9
30338         * lib/unlinkat.c (unlinkat): New file.
30339         * modules/openat (Depends-on): Add unlink.
30340         (Files): Distribute it.
30341         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
30342         trailing slash behavior is broken.
30343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
30344         * modules/unistd (Makefile.am): Substitute it.
30345         * lib/unistd.in.h (unlinkat): Declare replacement.
30346         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
30347
30348         openat: fix fstatat bugs on Solaris 9
30349         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
30350         stat.
30351         * doc/posix-functions/fstatat.texi (fstatat): Document this.
30352
30353         test-unlinkat: enhance test, to expose Solaris 9 bug
30354         * tests/test-unlink.c (main): Factor guts...
30355         * tests/test-unlink.h (test_rmdir_func): ...into new file.
30356         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
30357         * tests/test-rmdir.c (main): Adjust caller.
30358         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
30359         (unlinker): New helper function.
30360         (rmdirat): Enhance check.
30361         * modules/rmdir-tests (Depends-on): Add stdbool.
30362         * modules/unlink-tests (Depends-on): Likewise.
30363         (Files): Add test-unlink.h.
30364         * modules/openat-tests (Files): Likewise.
30365         (Depends-on): Add unlinkdir.
30366
30367         test-fstatat: new test, to expose Solaris 9 bugs
30368         * tests/test-stat.c (main): Factor guts...
30369         * tests/test-stat.h (test_stat_func): ...into new file.
30370         * tests/test-lstat.c (main): Factor guts...
30371         * tests/test-lstat.h (test_lstat_func): ...into new file.
30372         * tests/test-fstatat.c: New file.
30373         * modules/stat-tests (Files): Add test-stat.h.
30374         * modules/lstat-tests (Files): Add test-lstat.h.
30375         (Depends-on): Add stdbool.
30376         * modules/openat-tests (Depends-on): Add pathmax.
30377         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
30378         (Makefile.am): Run new test.
30379
30380         remove: new module, for mingw and Solaris 9 bugs
30381         * modules/remove: New file.
30382         * lib/remove.c: Likewise.
30383         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
30384         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
30385         * modules/stdio (Makefile.am): Use them.
30386         * lib/stdio.in.h (remove): Declare replacement.
30387         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30388         * doc/posix-functions/remove.texi (remove): Likewise.
30389         * modules/remove-tests: New test.
30390         * tests/test-remove.c: Likewise.
30391
30392         unlink: new module, for Solaris 9 bug
30393         * modules/unlink: New file.
30394         * lib/unlink.c: Likewise.
30395         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
30396         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
30397         * modules/unistd (Makefile.am): Use them.
30398         * lib/unistd.in.h (stat): Declare replacement.
30399         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30400         * doc/posix-functions/unlink.texi (unlink): Likewise.
30401         * modules/unlink-tests: New test.
30402         * tests/test-unlink.c: Likewise.
30403
30404         lstat: fix Solaris 9 bug
30405         * lib/lstat.c (lstat): Also check for trailing slash on
30406         non-symlink, non-directories.  Use stat module to simplify logic.
30407         * doc/posix-functions/lstat.texi (lstat): Document it.
30408         * modules/lstat-tests (Depends-on): Add errno, same-inode.
30409         (configure.ac): Check for symlink.
30410         * tests/test-lstat.c (main): Add more tests.
30411
30412         stat: add as dependency to other modules
30413         * modules/chown (Depends-on): Add stat.
30414         * modules/euidaccess (Depends-on): Likewise.
30415         * modules/fchdir (Depends-on): Likewise.
30416         * modules/isdir (Depends-on): Likewise.
30417         * modules/link (Depends-on): Likewise.
30418         * modules/lstat (Depends-on): Likewise.
30419         * modules/mkdir-p (Depends-on): Likewise.
30420         * modules/modechange (Depends-on): Likewise.
30421         * modules/open (Depends-on): Likewise.
30422         * modules/readlink (Depends-on): Likewise.
30423         * modules/same (Depends-on): Likewise.
30424
30425         stat: fix Solaris 9 bug
30426         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
30427         slash.
30428         * lib/stat.c (rpl_stat): Work around it.
30429         * doc/posix-functions/stat.texi (stat): Update documentation.
30430
30431         stat: new module, for mingw bug
30432         * modules/stat: New file.
30433         * lib/stat.c: Likewise.
30434         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
30435         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
30436         * modules/sys_stat (Makefile.am): Use them.
30437         * lib/sys_stat.in.h (stat): Declare replacement.
30438         * lib/openat.c (fstatat): Deal with lstat and stat being function
30439         macros.
30440         * modules/openat (Depends-on): Add inline.
30441         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
30442         * doc/posix-functions/stat.texi (stat): Likewise.
30443         * modules/stat-tests: New test.
30444         * tests/test-stat.c: Likewise.
30445
30446 2009-09-19  Jim Meyering  <meyering@redhat.com>
30447
30448         syntax-check: detect unnecessary inclusion of canonicalize.h
30449         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
30450
30451 2009-09-19  Eric Blake  <ebb9@byu.net>
30452
30453         canonicalize-lgpl: adjust clients to use correct header
30454         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
30455         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
30456         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
30457         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
30458         * lib/progreloc.c (includes): Likewise.
30459
30460 2009-09-19  Jim Meyering  <meyering@redhat.com>
30461
30462         test-posixtm.c: correct a comment
30463         * tests/test-posixtm.c: Correct first-line comment.
30464         Spotted by Eric Blake.
30465
30466 2009-09-16  Jim Meyering  <meyering@redhat.com>
30467
30468         posixtm-tests: make T const-correct; add a test case
30469         * tests/test-posixtm.c (T): Declare const.
30470         Add a test for -(2^31+1).
30471         Remove useless can-succeed-only-in-2002 test.
30472
30473         posixtm-tests: adjust the sole failing test
30474         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
30475         expected output matches what mktime now produces.  Cross-checked via
30476         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
30477
30478         posixtm: move #ifdef'd tests into a new module
30479         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
30480         * tests/test-posixtm.c: ... this new file.
30481         * modules/posixtm-tests: New module.
30482
30483 2009-09-19  Eric Blake  <ebb9@byu.net>
30484
30485         openat: simplify use of at-func.c
30486         * lib/at-func.c (includes): Include prerequisites here, to
30487         simplify requirements on client files.
30488         * lib/openat-priv.h: Add double-inclusion guard.
30489         * lib/faccessat.c (includes): Simplify.
30490         * lib/fchmodat.c (includes): Likewise.
30491         * lib/fchownat.c (includes): Likewise.
30492         * lib/mkdirat.c (includes): Likewise.
30493         * lib/mkfifoat.c (includes): Likewise.
30494         * lib/symlinkat.c (includes): Likewise.
30495
30496         openat: allow return of fd 0
30497         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
30498         * modules/save-cwd (Depends-on): Replace fcntl-safer with
30499         unistd-safer.
30500         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
30501         <fcntl.h>; this module does not leak fds.
30502         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
30503         must be allowed to return 0, leaving openat_safer to add the
30504         safety.
30505         (openat_permissive): Avoid writing to just-opened fd 2 if
30506         restoring the current directory fails.
30507         * lib/openat-die.c (openat_restore_fail): Add comment.
30508         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
30509         (save_cwd): Guarantee safe fd, but without use of open_safer.
30510         * tests/test-openat.c: New test.
30511         * modules/openat-tests (Files, Makefile.am): Distribute and build
30512         new file.
30513
30514         relocatable-prog-wrapper: fix build
30515         * modules/relocatable-prog-wrapper (Files): Update name of
30516         canonicalize m4 file, broken on 2009-09-17.
30517         Reported by emad hajjar <aleppos@hotmail.com>.
30518
30519 2009-09-19  Bruno Haible  <bruno@clisp.org>
30520
30521         * lib/safe-alloc.h: Use the standard header with GPL copyright.
30522         * lib/safe-alloc.c: Likewise.
30523         Reported by Ian Beckwith <ianb@erislabs.net>.
30524
30525 2009-09-18  Bruno Haible  <bruno@clisp.org>
30526
30527         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
30528         Reported by <erobles@sensacd.com.mx>.
30529
30530 2009-09-17  Eric Blake  <ebb9@byu.net>
30531
30532         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
30533         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
30534         slashes when checking if last component is missing.
30535         * tests/test-canonicalize.c (main): Test this.
30536
30537         canonicalize, canonicalize-lgpl: honor // if distinct from /
30538         * modules/canonicalize (Files): Add double-slash-root.m4.
30539         * modules/canonicalize-lgpl (Files): Likewise.
30540         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
30541         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
30542         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
30543         fallback definition.
30544         (canonicalize_filename_mode): Use it to protect //.
30545         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
30546         (__realpath): Likewise.
30547         * tests/test-canonicalize.c (main): Test this.
30548         * tests/test-canonicalize-lgpl.c (main): Likewise.
30549         * modules/canonicalize-tests (Depends-on): Add same-inode.
30550         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
30551
30552         canonicalize-lgpl: fix glibc bug with trailing slash
30553         * m4/canonicalize-lgpl.m4: Move contents...
30554         * m4/canonicalize.m4: ...here.
30555         (gl_CANONICALIZE_LGPL): Factor realpath check...
30556         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
30557         glibc 2.3.5 bug, fixed 2005-04-27.
30558         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
30559         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
30560         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
30561         * modules/canonicalize-lgpl (Files): Manage file rename.
30562         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
30563         * modules/stdlib (Makefile.am): Substitute witness.
30564         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
30565         is needed.
30566         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
30567         replacement is required.
30568         * lib/canonicalize.c (canonicalize_file_name): Likewise.
30569         * doc/glibc-functions/canonicalize_file_name.texi
30570         (canonicalize_file_name): Document this.
30571         * doc/posix-functions/realpath.texi (realpath): Likewise.
30572
30573         canonicalize-lgpl: reject non-directory with trailing slash
30574         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
30575         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
30576         catches failures in glibc 2.3.5.
30577         * tests/test-canonicalize.c (main): Likewise.
30578
30579         canonicalize-lgpl: use native realpath if it works
30580         * lib/canonicalize-lgpl.c (realpath): Guard with
30581         FUNC_REALPATH_WORKS.
30582         * lib/stdlib.in.h (realpath): Make declaration optional based on
30583         HAVE_REALPATH.
30584         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
30585         native realpath works.
30586         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
30587         * modules/stdlib (Makefile.am): Substitute witness.
30588
30589         canonicalize, canonicalize-lgpl: use <stdlib.h>
30590         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
30591         (Include): Mention <stdlib.h>.
30592         (configure.ac): Mention functions we provide.
30593         * modules/canonicalize (configure.ac): Likewise.
30594         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
30595         realpath if canonicalize_file_name is missing.
30596         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
30597         * modules/stdlib (Makefile.am): Substitute witnesses.
30598         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
30599         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
30600         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
30601         * NEWS: Document this.
30602         * doc/glibc-functions/canonicalize_file_name.texi
30603         (canonicalize_file_name): Likewise.
30604         * doc/posix-functions/realpath.texi (realpath): Likewise.
30605         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
30606
30607         test-canonicalize: consolidate into single C program
30608         * tests/test-canonicalize.sh: Delete; move setup into...
30609         * tests/test-canonicalize.c (main): ...the program, making it
30610         easier to run in debugger.  Add some tests.
30611         * modules/canonicalize-tests (Files): Remove unused file.
30612         (Depends-on): Add progname.
30613         (configure.ac, Makefile.am): Simplify.
30614
30615         test-canonicalize-lgpl: consolidate into single C program
30616         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
30617         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
30618         easier to run in debugger.  Add some tests.
30619         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
30620         (configure.ac, Makefile.am): Simplify.
30621
30622         canonicalize: avoid resolvepath
30623         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
30624         unnecessary checks.
30625         * lib/canonicalize.c (includes): Simplify.
30626         (canonicalize_file_name): Drop resolvepath implementation.
30627         * modules/canonicalize (Depends-on): Drop filenamecat.
30628
30629         canonicalize: don't lose errno
30630         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
30631         over calls to free.
30632
30633         canonicalize: simplify errno handling
30634         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
30635         assignment.
30636
30637         canonicalize, canonicalize-lgpl: update module dependencies
30638         * modules/canonicalize (Depends-on): Add extensions, lstat,
30639         pathmax, stdlib.
30640         (Files): Drop pathmax.h.
30641         (configure.ac): Adjust macro name.
30642         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
30643         lstat, stdlib, sys_stat.
30644         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
30645         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
30646         extensions.
30647         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
30648         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
30649         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
30650         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
30651         declaration, if available.
30652         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
30653         we can rely on the readlink module.
30654         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
30655         (includes): Use <unistd.h> unconditionally.
30656
30657 2009-09-17  Eric Blake  <ebb9@byu.net>
30658
30659         maint: make Include sections of modules consistent
30660         * modules/alloca: Use only header name; no need to list #include.
30661         * modules/alloca-opt: Likewise.
30662         * modules/arpa_inet: Likewise.
30663         * modules/canon-host: Likewise.
30664         * modules/configmake: Likewise.
30665         * modules/dirent: Likewise.
30666         * modules/eealloc: Likewise.
30667         * modules/environ: Likewise.
30668         * modules/fchdir: Likewise.
30669         * modules/fcntl: Likewise.
30670         * modules/fcntl-h: Likewise.
30671         * modules/gethrxtime: Likewise.
30672         * modules/gettime: Likewise.
30673         * modules/ignore-value: Likewise.
30674         * modules/inet_ntop: Likewise.
30675         * modules/inet_pton: Likewise.
30676         * modules/inttypes: Likewise.
30677         * modules/isnand-nolibm: Likewise.
30678         * modules/isnanf-nolibm: Likewise.
30679         * modules/mbchar: Likewise.
30680         * modules/mbfile: Likewise.
30681         * modules/mbiter: Likewise.
30682         * modules/mbuiter: Likewise.
30683         * modules/netdb: Likewise.
30684         * modules/netinet_in: Likewise.
30685         * modules/nproc: Likewise.
30686         * modules/pagealign_alloc: Likewise.
30687         * modules/poll: Likewise.
30688         * modules/printf-frexp: Likewise.
30689         * modules/pthread: Likewise.
30690         * modules/putenv: Likewise.
30691         * modules/random_r: Likewise.
30692         * modules/relocatable-prog: Likewise.
30693         * modules/search: Likewise.
30694         * modules/select: Likewise.
30695         * modules/selinux-h: Likewise.
30696         * modules/settime: Likewise.
30697         * modules/signal: Likewise.
30698         * modules/size_max: Likewise.
30699         * modules/socklen: Likewise.
30700         * modules/ssize_t: Likewise.
30701         * modules/stdarg: Likewise.
30702         * modules/stdbool: Likewise.
30703         * modules/stddef: Likewise.
30704         * modules/stdint: Likewise.
30705         * modules/stdio: Likewise.
30706         * modules/stdlib: Likewise.
30707         * modules/string: Likewise.
30708         * modules/strings: Likewise.
30709         * modules/sys_file: Likewise.
30710         * modules/sys_ioctl: Likewise.
30711         * modules/sys_select: Likewise.
30712         * modules/sys_socket: Likewise.
30713         * modules/sys_stat: Likewise.
30714         * modules/sys_time: Likewise.
30715         * modules/sys_times: Likewise.
30716         * modules/sys_utsname: Likewise.
30717         * modules/sys_wait: Likewise.
30718         * modules/sysexits: Likewise.
30719         * modules/time: Likewise.
30720         * modules/times: Likewise.
30721         * modules/tmpfile: Likewise.
30722         * modules/trim: Likewise.
30723         * modules/unistd: Likewise.
30724         * modules/wchar: Likewise.
30725         * modules/wctype: Likewise.
30726
30727 2009-09-17  Bruno Haible  <bruno@clisp.org>
30728
30729         Make getdate.y compile on QNX and NetBSD 5 / i386.
30730         * m4/getdate.m4 (gl_GETDATE): Conditionally define
30731         TIME_T_FITS_IN_LONG_INT.
30732         * lib/getdate.y (long_time_t): New type.
30733         (relative_time): Change type of 'seconds' field to long_time_t.
30734         (get_date): Update types of local variables. Check against overflow
30735         during conversion from long_time_t to time_t.
30736         Reported by Matt Kraai <kraai@ftbfs.org>
30737         and Hasso Tepper <hasso@netbsd.org>.
30738
30739 2009-09-17  Bruno Haible  <bruno@clisp.org>
30740
30741         * modules/COPYING: Update copyright years.
30742         * modules/README: Likeiwse.
30743         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
30744         Reported by Ian Beckwith <ianb@erislabs.net>.
30745
30746 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
30747
30748         * users.txt: Update references for gnuit package.
30749
30750 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
30751
30752         * m4/getdelim.m4: Fix typo in copyright line.
30753
30754 2009-09-17  Bruno Haible  <bruno@clisp.org>
30755
30756         * lib/atoll.c: Use the standard header with GPL copyright.
30757         * lib/argz.in.h: Likewise.
30758         * lib/glob.c: Likewise.
30759         * lib/glob-libc.h: Likewise.
30760         * lib/random_r.c: Likewise.
30761         * lib/siglist.h: Likewise.
30762         * lib/strsignal.c: Likewise.
30763         Reported by Ian Beckwith <ianb@erislabs.net>.
30764
30765 2009-09-17  Eric Blake  <ebb9@byu.net>
30766
30767         rmdir: ensure correct dependency order
30768         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
30769
30770 2009-09-17  Bruno Haible  <bruno@clisp.org>
30771
30772         Disable assertion that fails on NetBSD 5 / i386.
30773         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
30774         Reported by Sam Steingold <sds@gnu.org>
30775         and Hasso Tepper <hasso@netbsd.org>.
30776
30777 2009-09-16  Eric Blake  <ebb9@byu.net>
30778
30779         unlinkdir: port to mingw
30780         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
30781         on which no one can unlink a directory.
30782
30783         stdlib: sort witness names
30784         * modules/stdlib (Makefile.am): Sort replacements.
30785         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
30786         * lib/stdlib.in.h: Likewise.
30787
30788         parse-duration-tests: avoid link failure
30789         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
30790         LIBINTL.
30791         Reported by Tom G. Christensen.
30792
30793         openat-tests: ensure unlinkat behaves like rmdir
30794         * tests/test-rmdir.c (main): Factor guts...
30795         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
30796         * modules/rmdir-tests (Files): Ship new file.
30797         * modules/openat-tests: New test.
30798         * tests/test-unlinkat.c: Likewise.
30799
30800         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
30801         * modules/rmdir-errno (Status, Notice): Now obsolete.
30802
30803         rmdir: work around cygwin 1.5.x and mingw bugs
30804         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
30805         * lib/rmdir.c (rmdir): Work around it.
30806         * modules/rmdir (Status, Notice): No longer obsolete.
30807         (Files): Add dos.m4.
30808         (Depends-on): Add unistd.
30809         (configure.ac): Set witnesses.
30810         (License): Relax to LGPLv2+.
30811         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
30812         * modules/unistd (Makefile.am): Substitute witnesses.
30813         * lib/unistd.in.h (rmdir): Declare replacement.
30814         * doc/posix-functions/rmdir.texi (rmdir): Document this.
30815         * modules/rmdir-tests: New tests.
30816         * tests/test-rmdir.c: Likewise.
30817
30818 2009-09-15  Eric Blake  <ebb9@byu.net>
30819
30820         fchdir: improve use of replacement functions
30821         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
30822         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
30823         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
30824         REPLACE_CLOSEDIR.
30825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
30826         * modules/sys_stat (Makefile.am): Substitute correct witness.
30827         * modules/dirent (Makefile.am): Likewise.
30828         * modules/unistd (Makefile.am): Likewise.
30829         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
30830         * lib/unistd.in.h (dup): Likewise.
30831         * lib/sys_stat.in.h (fstat): Likewise.
30832
30833         maint: ignore gnulib-tool temp files
30834         * .gitignore: Ignore files created during gnulib-tool --test.
30835
30836 2009-09-13  Jim Meyering  <meyering@redhat.com>
30837
30838         posixtm: don't reject a time that specify "60" as the number of seconds
30839         * lib/posixtm.c (posixtime): The code to reject invalid dates
30840         would also reject a time specified with the .60 suffix.
30841         But POSIX allows that, in order to accommodate leap seconds.
30842         So don't reject it.
30843         (main): Adjust tests accordingly.
30844         * modules/posixtm (Depends-on): Add stpcpy.
30845
30846 2009-09-11  Jim Meyering  <meyering@redhat.com>
30847
30848         announce-gen: include [$release_type] in emitted Subject:
30849         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
30850         e.g., [stable] in the emitted Subject: line.
30851
30852 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30853
30854         Remove obsolete macros from several modules.
30855         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
30856         obsolete Autoconf macros with their modern counterparts.
30857         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
30858         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
30859         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
30860         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
30861         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
30862         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
30863         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
30864         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
30865         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
30866         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
30867         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
30868         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
30869         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
30870         * m4/sockets.m4 (gl_SOCKETS): Likewise.
30871         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
30872         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
30873         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
30874         * m4/time_r.m4 (gl_TIME_R): Likewise.
30875         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
30876         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
30877         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
30878
30879         Fix copyright header in build-aux scripts.
30880         * build-aux/git-version-gen: Fix copyright header to match GPLv3
30881         recommendation.
30882         * build-aux/ncftpput-ftp: Likewise.
30883         * build-aux/update-copyright: Likewise.
30884
30885 2009-09-09  Eric Blake  <ebb9@byu.net>
30886
30887         test-link: allow Linux choice of errno
30888         * tests/test-link.c (main): Relax test for alternate error.
30889
30890         strndup: fix improper m4 caching
30891         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
30892         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
30893         (gl_PREREQ_STRNDUP): Delete.
30894         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
30895         * modules/string (Makefile.am): Substitute it.
30896         * lib/string.in.h (strndup): Modernize prototype.
30897
30898         getcwd: port to mingw
30899         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
30900         different from the POSIX assumptions made throughout the getcwd
30901         module; fortunately, the mingw getcwd does not need replacement.
30902         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
30903         * modules/getcwd-tests: New test.
30904         * tests/test-getcwd.c: Likewise.
30905
30906         link: fix platform bugs
30907         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
30908         * lib/link.c (link): Work around them.  Fix related mingw bug.
30909         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
30910         * modules/unistd (Makefile.am): Substitute it.
30911         * lib/unistd.in.h (link): Declare replacement.
30912         * doc/posix-functions/link.texi (link): Document this.
30913         * modules/link (Depends-on): Add strdup-posix, sys_stat.
30914
30915         test-link: consolidate into single C program, test more cases
30916         * tests/test-link.sh: Delete.
30917         * tests/test-link.c: Test more error conditions.  Exposes bugs on
30918         at least Cygwin and Solaris.
30919         * modules/link-tests (Files): Remove unused file.
30920         (Depends-on): Add errno, sys_stat.
30921         (Makefile.am): Simplify.
30922
30923 2009-09-08  Bruno Haible  <bruno@clisp.org>
30924
30925         Work around towlower, towupper bug on mingw.
30926         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
30927         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
30928         * doc/posix-functions/towlower.texi: Mention the mingw bug.
30929         * doc/posix-functions/towupper.texi: Likewise.
30930         Reported by Eric Blake.
30931
30932 2009-09-08  Jim Meyering  <meyering@redhat.com>
30933
30934         build: don't try to run autoheader if we don't use it
30935         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
30936         is not used in configure.ac.
30937
30938 2009-09-08  Eric Blake  <ebb9@byu.net>
30939
30940         euidaccess: fix compilation error
30941         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
30942
30943         rawmemchr: relax license
30944         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
30945         okay.
30946         Reported by Jim Meyering.
30947
30948         mkfifoat: new module
30949         * modules/mkfifoat: New file.
30950         * lib/mkfifoat.c: Likewise.
30951         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
30952         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
30953         * modules/sys_stat (Makefile.am): Use them.
30954         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
30955         * MODULES.html.sh (File system functions): Mention module.
30956         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
30957         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
30958         * modules/mkfifoat-tests: New test.
30959         * tests/test-mkfifoat.c: Likewise.
30960
30961         strchrnul: relax license
30962         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
30963         okay.
30964         Reported by Jim Meyering.
30965
30966 2009-09-08  Eric Blake  <ebb9@byu.net>
30967
30968         fstatat: fix compilation on Solaris
30969         * lib/fstatat.c (includes): Add fcntl.h.
30970         Reported by Pádraig Brady.
30971
30972 2009-09-07  Eric Blake  <ebb9@byu.net>
30973
30974         rename: modernize replacement
30975         * modules/rename (Depends-on): Add stdio.
30976         (configure.ac): Declare witness.
30977         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
30978         stdio take care of replacement.
30979         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
30980         * modules/stdio (Makefile.am): Substitute them.
30981         * lib/stdio.in.h (rename): Declare replacement.
30982         * lib/rename.c (includes): Allow cross-compilation to non-windows
30983         machines.
30984         * doc/posix-functions/rename.texi (rename): Improve
30985         documentation.
30986
30987         stdio: sort witness names
30988         * modules/stdio (Makefile.am): Sort replacements.
30989         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
30990         * lib/stdio.in.h: Likewise.
30991
30992         getcwd: minor cleanups
30993         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
30994         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
30995
30996         openat: provide more convenience names
30997         * modules/faccessat (configure.ac): Add C witness.
30998         * lib/unistd.in.h (readlinkat): Fix typo.
30999         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
31000         convenience wrappers.
31001         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
31002         wrappers in syntax checks.
31003
31004 2009-09-06  Eric Blake  <ebb9@byu.net>
31005
31006         doc: fix comments in recent patches
31007         * lib/faccessat.c: Mention correct function.
31008         * lib/fchmodat.c: Likewise.
31009         * lib/fchownat.c: Likewise.
31010         * lib/symlinkat.c: Likewise.
31011         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
31012         constants.
31013
31014         faccessat, symlinkat: continue cleanup of previous patch
31015         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
31016         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
31017         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
31018         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
31019         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
31020         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
31021         set.
31022
31023 2009-09-06  Bruno Haible  <bruno@clisp.org>
31024
31025         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
31026         (fstatat): Declare if GNULIB_FSTATAT is set.
31027         (mkdirat): Declare if GNULIB_MKDIRAT is set.
31028         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
31029         (unlinkat): Declare if GNULIB_UNLINKAT is set.
31030         * modules/fcntl-h (Files): Remove m4/openat.m4.
31031         * modules/sys_stat (Files): Remove m4/openat.m4.
31032         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
31033         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
31034         * modules/unistd (Files): Remove m4/openat.m4.
31035         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
31036         GNULIB_OPENAT.
31037         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
31038         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
31039         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
31040         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
31041         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
31042         gl_OPENAT_DEFAULTS.
31043         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
31044         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
31045         Don't require gl_OPENAT_DEFAULTS.
31046         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
31047         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
31048         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
31049         (gl_OPENAT_DEFAULTS): Remove macro.
31050
31051 2009-09-06  Bruno Haible  <bruno@clisp.org>
31052
31053         * modules/openat (configure.ac): Remove unneeded witness.
31054
31055 2009-09-06  Bruno Haible  <bruno@clisp.org>
31056
31057         Set errno to ENOSYS when a function is entirely unsupported.
31058         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
31059         EOPNOTSUPP.
31060         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
31061         * modules/chown (Depends-on): Remove errno.
31062
31063 2009-09-06  Bruno Haible  <bruno@clisp.org>
31064
31065         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
31066
31067 2009-09-06  Bruno Haible  <bruno@clisp.org>
31068
31069         * lib/sys_stat.in.h: Fix preprocessor command indentation.
31070
31071 2009-09-06  Ben Pfaff  <blp@gnu.org>
31072             Bruno Haible  <bruno@clisp.org>
31073
31074         Work around a glibc bug in strtok_r.
31075         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
31076         Undefine if UNDEFINE_STRTOK_R is set.
31077         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
31078         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31079         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
31080         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
31081         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
31082         UNDEFINE_STRTOK_R.
31083         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
31084
31085 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
31086
31087         exclude: minor fix
31088         * lib/exclude.c: Include wctype.h
31089
31090 2009-09-06  Akim Demaille  <demaille@gostai.com>
31091
31092         bootstrap: improve error message
31093         * build-aux/bootstrap (find_tool): Upon failure, report the list
31094         of candidates.
31095         Honor the initial value of the envvar.
31096
31097 2009-09-05  Eric Blake  <ebb9@byu.net>
31098
31099         symlinkat: new module
31100         * modules/symlinkat: New file.
31101         * lib/symlinkat.c: Likewise.
31102         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
31103         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
31104         * modules/unistd (Makefile.am): Use them.
31105         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
31106         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
31107         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
31108         * MODULES.html.sh (File system functions): Mention module.
31109         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
31110         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31111         * modules/symlinkat-tests: New test.
31112         * tests/test-symlinkat.c: Likewise.
31113
31114         test-openat-safer: add more checks
31115         * tests/test-openat-safer.c (main): Check more code paths.
31116
31117 2009-09-05  Jim Meyering  <meyering@redhat.com>
31118
31119         syntax-check: detect unnecessary inclusion of openat.h
31120         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
31121
31122 2009-09-05  Bruno Haible  <bruno@clisp.org>
31123
31124         Support towlower, towupper.
31125         * doc/posix-functions/towlower.texi: Mention module wctype.
31126         * doc/posix-functions/towupper.texi: Likewise.
31127         * lib/wctype.in.h (towlower, towupper): New functions.
31128         * tests/test-wctype.c: Include stdio.h, stdlib.h.
31129         (ASSERT): New macro.
31130         (e): New variable.
31131         (main): Test also towlower, towupper. Test WEOF argument.
31132         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
31133
31134 2009-09-05  Bruno Haible  <bruno@clisp.org>
31135
31136         Fix conversion behaviour when the input is invalid.
31137         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
31138         mark occurring in first pass of indirect conversion.
31139         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
31140         input.
31141         Found by clang's static analyzer.
31142
31143 2009-09-05  Bruno Haible  <bruno@clisp.org>
31144
31145         * tests/test-striconveh.c (main): Test indirect conversion on platforms
31146         where direct conversion is possible.
31147
31148 2009-09-04  Eric Blake  <ebb9@byu.net>
31149
31150         openat: fail with ENOENT on empty name
31151         * lib/openat-proc.c (openat_proc_name): Special-case the empty
31152         buffer.
31153
31154         link-follow: fix logic bug in prior patch
31155         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
31156         reversed sense of yes and no in prior patch.  Avoid confusing
31157         compilation failure with desired semantics.
31158
31159         link-follow: accomodate mingw and cross-compilation
31160         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
31161         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
31162         cross-compilation results to -1, to make linkat easier to
31163         implement when cross-compiling.  Trivially support mingw.
31164         * modules/link-follow (configure.ac): Call new name.
31165         * NEWS: Mention this.
31166
31167 2009-09-03  Eric Blake  <ebb9@byu.net>
31168
31169         faccessat: compile replacement
31170         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
31171         needed.
31172
31173         fts: fix compilation error
31174         * lib/fts.c (includes): Re-add "openat.h", for
31175         openat_needs_fchdir.
31176
31177         faccessat: new module
31178         * modules/faccessat: New file.
31179         * lib/faccessat.c: Likewise.
31180         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
31181         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
31182         * modules/unistd (Makefile.am): Use it.
31183         * lib/unistd.in.h (faccessat): Declare it.
31184         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
31185         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
31186         * MODULES.html.sh (File system functions): Mention it.
31187         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
31188         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
31189
31190         euidaccess: prefer POSIX over non-standard implementation
31191         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
31192         * lib/euidaccess.c (euidaccess): Use it if available.
31193
31194         openat: make template easier to use
31195         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
31196         AT_FUNC_F2 to be undefined.
31197         (VALIDATE_FLAG): New macro; use it to reject bad flags.
31198         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
31199         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
31200         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
31201         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
31202         Likewise.
31203         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
31204         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
31205         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
31206         Likewise.
31207
31208         openat: declare in POSIX headers
31209         * NEWS: Mention this.
31210         * modules/openat (configure.ac): Declare witnesses.
31211         (Depends-on): Add fcntl-h, sys_stat, unistd.
31212         (Include): Mention correct headers.
31213         * modules/fcntl-h (Depends-on): Add link-warning.
31214         (Files): Add openat.m4.
31215         (Makefile.am): Substitute witnesses.
31216         * modules/sys_stat (Files, Makefile.am): Likewise.
31217         * modules/unistd (Files, Makefile.am): Likewise.
31218         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
31219         (gl_OPENAT_DEFAULTS): New macro.
31220         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
31221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
31222         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
31223         (SYS_STAT_H): Remove unused variable.
31224         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
31225         * lib/fcntl--.h (includes): Remove unneeded header.
31226         * lib/openat-safer.c (includes): Likewise.
31227         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
31228         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
31229         appropriate headers.
31230         (__OPENAT_PREFIX): Delete.
31231         * lib/fcntl.in.h (openat): Provide declaration.
31232         (AT_FDCWD): Fix Solaris bug.
31233         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
31234         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
31235         * lib/fchmodat.c (includes):  Adjust to find declaration.
31236         * lib/fchownat.c (includes): Likewise.
31237         * lib/mkdirat.c (includes): Likewise.
31238         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
31239         still visible.
31240
31241 2009-09-02  Eric Blake  <ebb9@byu.net>
31242
31243         errno: use consistently
31244         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
31245         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
31246         * lib/canonicalize.c (ELOOP): Likewise.
31247         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
31248         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
31249         * lib/lchown.c (EOPNOTSUPP): Likewise.
31250         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
31251         * lib/savewd.c (ESTALE): Likewise.
31252         * lib/settime.c (ENOSYS): Likewise.
31253         * lib/utimens.c (ENOSYS): Likewise.
31254         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
31255         * lib/chdir-safer.c (ELOOP): Likewise.
31256         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
31257         * modules/c-stack (Depends-on): Add errno.
31258         * modules/canonicalize (Depends-on): Likewise.
31259         * modules/chdir-safer (Depends-on): Likewise.
31260         * modules/fdopendir (Depends-on): Likewise.
31261         * modules/inet_ntop (Depends-on): Likewise.
31262         * modules/inet_pton (Depends-on): Likewise.
31263         * modules/lchown (Depends-on): Likewise.
31264         * modules/openat (Depends-on): Likewise.
31265         * modules/savewd (Depends-on): Likewise.
31266         * modules/settime (Depends-on): Likewise.
31267         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
31268
31269         fts: avoid leaking fds
31270         * modules/fts (Depends-on): Add cloexec.
31271         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
31272         flag.
31273
31274         fts: make directory fds more robust
31275         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
31276         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
31277
31278         backupfile, chdir-long, fts, savedir: make safer
31279         * lib/backupfile.c (includes): Use "dirent--.h", since
31280         numbered_backup can write to stderr during readdir.
31281         * lib/savedir.c (includes): Likewise.
31282         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
31283         emulation can write to stderr on failure.
31284         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
31285         * lib/getcwd.c: Document why opendir_safer is unused.
31286         * lib/glob.c: Likewise.
31287         * lib/scandir.c: Likewise.
31288         * lib/openat-proc.c: Likewise, for open_safer.
31289         * modules/backupfile (Depends-on): Add dirent-safer.
31290         * modules/savedir (Depends-on): Likewise.
31291         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
31292         * modules/chdir-long (Depends-on): Add openat-safer.
31293
31294         openat-safer: new module
31295         * modules/openat-safer: New file.
31296         * lib/openat-safer.c: Likewise.
31297         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
31298         * lib/fcntl-safer.h (openat_safer): Declare.
31299         * lib/fcntl--.h (openat): Override.
31300         * MODULES.html.sh (File descriptor based I/O): Mention it.
31301         * lib/openat.h: Add double-inclusion guards.
31302         * lib/openat.c (includes): Only include "fcntl-safer.h", not
31303         "fcntl--.h", so we can implement openat.
31304         * modules/openat-safer-tests: New test.
31305         * tests/test-openat-safer.c: New file.
31306
31307         dirent-safer: new module
31308         * modules/dirent-safer: New file.
31309         * lib/dirent--.h: Likewise.
31310         * lib/dirent-safer.h: Likewise.
31311         * lib/opendir-safer.c: Likewise.
31312         * m4/dirent-safer.m4: Likewise.
31313         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
31314         * modules/dirent-safer-tests: New test.
31315         * tests/test-dirent-safer.c: New file.
31316         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
31317
31318         fdopendir: optimize on mingw
31319         * lib/unistd.in.h (_gl_directory_name): New prototype.
31320         * lib/fchdir.c (_gl_directory_name): Implement it.
31321         (fchdir): Use it to simplify implementation.
31322         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
31323         fchdir, when available, to avoid calling [f]chdir().
31324
31325         fdopendir: split into its own module
31326         * lib/openat.c (fdopendir): Move...
31327         * lib/fdopendir.c: ...into new file.
31328         * modules/fdopendir: New module.
31329         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
31330         * modules/openat (Depends-on): Add fdopendir.
31331         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
31332         fdopendir here.
31333         * modules/savedir (Depends-on): Only need fdopendir, not full
31334         openat.
31335         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
31336         * lib/openat.h (fdopendir): Drop prototype.
31337         * lib/dirent.in.h (fdopendir): Provide prototype.
31338         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
31339         * modules/dirent (Makefile.am): Substitute them.
31340         * MODULES.html.sh (File system functions): Mention it.
31341         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
31342         * modules/fdopendir-tests: New file.
31343         * tests/test-fdopendir.c: Likewise.
31344
31345         fchdir: use more consistent macro convention
31346         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
31347         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
31348         REPLACE_FCHDIR, rather than relying on config.h macros.
31349         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
31350         inside a single make-time REPLACE_FCHDIR block, rather than using
31351         the config.h FCHDIR_REPLACEMENT.
31352         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
31353         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
31354         Manage fstat replacement.
31355         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
31356         REPLACE_FCHDIR.
31357         * modules/sys_stat (Files): Add m4/unistd_h.m4.
31358         (Makefile.am): Substitute REPLACE_FCHDIR.
31359         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
31360         FCHDIR_REPLACEMENT.
31361         * lib/dup-safer.c (dup_safer): Likewise.
31362         * lib/dup2.c (rpl_dup2): Likewise.
31363         * lib/dup3.c (rpl_dup3): Likewise.
31364         * lib/open.c (rpl_open): Likewise.
31365
31366         fchdir: simplify error handling, and support dup3
31367         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
31368         stdbool, malloc-posix, realloc-posix.
31369         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
31370         (ensure_dirs_slot): Return false on allocation failure.
31371         (rpl_dup2): Delete.
31372         (_gl_register_dup): New function.
31373         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
31374         (_gl_register_fd): Close fd on allocation failure.
31375         * lib/fcntl.in.h (_gl_register_fd): Update signature.
31376         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
31377         prototype.
31378         (rpl_dup2_fchdir): Delete prototype.
31379         * lib/open.c (open): Update caller.
31380         * lib/dup2.c (dup2): Track fchdir metadata.
31381         * lib/dup3.c (dup3): Likewise.
31382         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
31383         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
31384
31385 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31386
31387         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
31388         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
31389         don't pass arguments to AC_OUTPUT.
31390
31391 2009-09-02  Bruno Haible  <bruno@clisp.org>
31392
31393         * modules/mkdtemp (License): Relicense under LGPLv2+.
31394         Reported by Paolo Bonzini.
31395
31396 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31397
31398         Replace uses of obsolete autoconf macros in Jim's modules.
31399         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
31400         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
31401         can evoke a warning from autoconf when run with -Wobsolete
31402         enabled.  They were declared obsolete for good reasons (see
31403         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
31404         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
31405         should not continue using the deprecated macros.
31406         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
31407         obsolete Autoconf macros with modern counterparts.
31408         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
31409         * m4/dos.m4 (gl_AC_DOS): Likewise.
31410         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
31411         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
31412         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
31413         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
31414         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
31415         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
31416         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
31417         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
31418         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
31419         Likewise.
31420         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
31421         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
31422         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
31423         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
31424         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
31425         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
31426
31427 2009-09-01  Eric Blake  <ebb9@byu.net>
31428
31429         fchdir: fix off-by-one bug in previous patch
31430         * lib/fchdir.c (rpl_fstat): Use correct bounds.
31431         (_gl_unregister_fd): Delete useless if.
31432
31433 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
31434
31435         maint.mk: sort the list of syntax-check rules
31436         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
31437         easier to get a sense of progress when the rules are run sequentially
31438         and take a long time.
31439
31440 2009-09-01  Simon Josefsson  <simon@josefsson.org>
31441
31442         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
31443         * modules/netinet_in: Likewise.
31444         * modules/sys_file: Likewise.
31445         * modules/sys_ioctl: Likewise.
31446         * modules/sys_select: Likewise.
31447         * modules/sys_socket: Likewise.
31448         * modules/sys_stat: Likewise.
31449         * modules/sys_time: Likewise.
31450         * modules/sys_times: Likewise.
31451         * modules/sys_utsname: Likewise.
31452         * modules/sys_wait: Likewise.
31453
31454 2009-09-01  Jim Meyering  <meyering@redhat.com>
31455
31456         fts: help ensure that return values are not ignored
31457         * lib/fts_.h (__GNUC_PREREQ): Define.
31458         (__attribute_warn_unused_result__): Define.
31459         (fts_children, fts_close, fts_open, fts_read): Declare with
31460         __attribute_warn_unused_result__.
31461
31462         fts: fts_close now fails also when closing a dir file descriptor fails
31463         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
31464         and propagate to caller, along with errno.
31465
31466         announce-gen: correct formatting in --help output
31467         * build-aux/announce-gen (usage): Move the one-line description in
31468         --help output "up", to where it belongs, just after Usage:.
31469
31470 2009-08-31  Eric Blake  <ebb9@byu.net>
31471
31472         fchdir: port to mingw
31473         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
31474         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
31475         opened, then use a substitute.
31476         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
31477         replacement.
31478         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
31479         (_gl_register_fd): No need to check stat if open already filters
31480         all directories.
31481         (fchdir): Fix error condition to match POSIX.
31482         * modules/fchdir (Depends-on): Add sys_stat.
31483         * doc/posix-functions/open.texi (open): Document the limitation.
31484         * modules/fchdir-tests: New file.
31485         * tests/test-fchdir.c: Likewise.
31486
31487         canonicalize: allow cross-testing from cygwin to mingw
31488         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
31489         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
31490         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
31491         Likewise.
31492         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
31493         target does not support symlinks.
31494         * tests/test-canonicalize-lgpl.sh: Likewise.
31495
31496         chown: avoid compilation warning on mingw
31497         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
31498         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
31499         mingw.
31500         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
31501         * modules/chown (Depends-on): Add errno.
31502
31503 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
31504
31505         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
31506         command.
31507
31508 2009-08-31  Jim Meyering  <meyering@redhat.com>
31509
31510         canonicalize: remove useless initialization
31511         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
31512         initialization of local, "end".
31513
31514 2009-08-30  Bruno Haible  <bruno@clisp.org>
31515
31516         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
31517         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
31518         ENOSYS.
31519
31520 2009-08-30  Bruno Haible  <bruno@clisp.org>
31521
31522         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
31523         /usr/xpg4/bin/tr when it exists.
31524         * tests/test-pipe-filter-gi1.sh: Likewise.
31525
31526 2009-08-30  Bruno Haible  <bruno@clisp.org>
31527
31528         Work around deficient /usr/bin/id program on Solaris.
31529         * tests/test-file-has-acl.sh (ID): New variable.
31530         * tests/test-set-mode-acl.sh (ID): Likewise.
31531         * tests/test-copy-acl.sh (ID): Likewise.
31532         * tests/test-copy-file.sh (ID): Likewise.
31533
31534 2009-08-30  Bruno Haible  <bruno@clisp.org>
31535
31536         New module 'xstriconveh'.
31537         * lib/xstriconveh.h: New file.
31538         * lib/xstriconveh.c: New file.
31539         * modules/xstriconveh: New file.
31540
31541 2009-08-30  Bruno Haible  <bruno@clisp.org>
31542
31543         Make it easier to use mem_cd_iconveh.
31544         * lib/striconveh.h (iconveh_t): New type.
31545         (iconveh_open, iconveh_close): New declarations.
31546         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
31547         with a single 'const iconveh_t *' argument.
31548         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
31549         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
31550         with a single 'const iconveh_t *' argument.
31551         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
31552         * tests/test-striconveh.c (main): Update.
31553         * NEWS: Mention the change.
31554
31555 2009-08-30  Bruno Haible  <bruno@clisp.org>
31556
31557         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
31558         problem.
31559
31560 2009-08-30  Bruno Haible  <bruno@clisp.org>
31561
31562         Work around iconv_open problem on Solaris.
31563         * lib/iconv_open-solaris.gperf: New file.
31564         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
31565         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
31566         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
31567         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
31568         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
31569         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
31570
31571 2009-08-29  Jim Meyering  <meyering@redhat.com>
31572
31573         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
31574         * top/maint.mk (cvs-check): Remove target; it was just an alias
31575         to the better-named vc-diff-check.
31576         (maintainer-distcheck): Remove rule.  It was used only from
31577         the (alpha/beta/major) target, and all of its commands but one
31578         were coreutils-specific.
31579         (vc-dist): Remove rule.
31580         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
31581         Run vc-diff-check, not vc-dist.
31582         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
31583
31584 2009-08-27  Bruno Haible  <bruno@clisp.org>
31585
31586         * tests/test-bitrotate.c (main): Remove test that uses a shift count
31587         of 0.
31588
31589 2009-08-27  Bruno Haible  <bruno@clisp.org>
31590
31591         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
31592         compilers.
31593         * doc/func.texi: Document the SunPRO C bug.
31594
31595 2009-08-27  Bruno Haible  <bruno@clisp.org>
31596
31597         Fix link error on Solaris.
31598         * tests/test-parse-duration.c (xstrdup): Remove function.
31599
31600 2009-08-26  Pádraig Brady  <P@draigbrady.com>
31601
31602         ignore-value: handle pointer types, too
31603         * lib/ignore-value.h (__attribute__): Remove definition.
31604         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
31605         of a more concise and more-often effective "(void) i" statement.
31606         (ignore_ptr): New function to suppress warnings from functions that
31607         return pointers, and to make it explicit that one function doesn't
31608         handle all cases.
31609
31610 2009-08-25  Bruno Haible  <bruno@clisp.org>
31611
31612         dup2: work around a Linux bug.
31613         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
31614         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
31615         * doc/posix-functions/dup2.texi: Mention the Linux bug.
31616         Reported by Simon Josefsson.
31617
31618 2009-08-25  Jim Meyering  <meyering@redhat.com>
31619
31620         libguestfs uses gnulib
31621         * users.txt: Add libguestfs.
31622
31623 2009-08-24  Eric Blake  <ebb9@byu.net>
31624
31625         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
31626         * lib/pipe2.c (includes): Add binary-io.h.
31627         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
31628
31629 2009-08-24  Bruno Haible  <bruno@clisp.org>
31630
31631         Tolerate declared but missing accept4 syscall.
31632         * lib/accept4.c (accept4): Invoke original accept4 function first, if
31633         available.
31634         * lib/sys_socket.in.h (accept4): If the function is already present,
31635         override it.
31636         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
31637         * modules/accept4 (Makefile.am): Compile accept4.c always.
31638         Reported by Paolo Bonzini and Eric Blake.
31639
31640 2009-08-23  Bruno Haible  <bruno@clisp.org>
31641
31642         New module 'accept4'.
31643         * lib/sys_socket.in.h (accept4): New declaration.
31644         * lib/accept4.c: New file.
31645         * m4/accept4.m4: New file.
31646         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
31647         GNULIB_ACCEPT4, HAVE_ACCEPT4.
31648         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
31649         HAVE_ACCEPT4.
31650         * modules/accept4: New file.
31651         * doc/glibc-functions/accept4.texi: Mention the new module.
31652
31653 2009-08-24  Jim Meyering  <meyering@redhat.com>
31654
31655         progname: also set global program_invocation_name, when possible
31656         Before this change, a libtool-enabled program that calls glibc's
31657         error function would report the program name as
31658         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
31659         * modules/progname (configure.ac): Check for a declaration of
31660         program_invocation_name.
31661         * lib/progname.c:  Include <errno.h>.
31662         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
31663         Set program_invocation_name.
31664
31665 2009-08-23  Bruno Haible  <bruno@clisp.org>
31666
31667         * lib/dup3.c: Include <string.h>.
31668
31669 2009-08-23  Bruno Haible  <bruno@clisp.org>
31670
31671         * lib/dup3.c (dup3): Test only once whether the system actually exists.
31672         * lib/pipe2.c (pipe2): Likewise.
31673         Suggested by Eric Blake.
31674
31675 2009-08-23  Bruno Haible  <bruno@clisp.org>
31676
31677         Tolerate declared but missing dup3 syscall.
31678         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
31679         * lib/unistd.in.h (dup3): If the function is already present,
31680         override it.
31681         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
31682         * modules/dup3 (Makefile.am): Compile dup3.c always.
31683         Reported by Paolo Bonzini.
31684
31685 2009-08-23  Bruno Haible  <bruno@clisp.org>
31686
31687         Tolerate declared but missing pipe2 syscall.
31688         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
31689         available.
31690         * lib/unistd.in.h (pipe2): If the function is already present,
31691         override it.
31692         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
31693         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
31694         Reported by Paolo Bonzini.
31695
31696 2009-08-23  Bruno Haible  <bruno@clisp.org>
31697
31698         * lib/pipe2.c (pipe2): Move #ifs inside function.
31699
31700 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
31701
31702         quotearg: document limitations of quote_these_too
31703         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
31704         those limitations are created.
31705         * lib/quotearg.h (set_char_quoting): Document that digits and
31706         letters that are special after backslash are not permitted.
31707         (quotearg_char): Cross-reference set_char_quoting documentation.
31708
31709 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
31710
31711         quotearg: implement custom_quoting_style
31712         * lib/quotearg.c: (struct quoting_options): Add left_quote and
31713         right_quote fields.
31714         (set_custom_quoting): New public function.
31715         (quotearg_buffer_restyled): Add left_quote and right_quote
31716         arguments, handle them very much like locale quoting, and update
31717         all uses.
31718         (quotearg_n_custom): New public function.
31719         (quotearg_n_custom_mem): New public function.
31720         (quotearg_custom): New public function.
31721         (quotearg_custom_mem): New public function.
31722         * lib/quotearg.h: Prototype and document new public functions.
31723         (enum quoting_style): For escape_quoting_style and
31724         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
31725         ignored even though they're otherwise like c_quoting_style.
31726         Add custom_quoting_style member and document with comparison to
31727         clocale_quoting_style.
31728         * tests/test-quotearg.c (custom_quotes): New array.
31729         (custom_results): New array.
31730         (main): Extend to test custom quoting.
31731
31732 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
31733
31734         quotearg: fix right quote escaping when it's in quote_these_too
31735         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
31736         quote, be sure to prepend only one backslash.
31737         * tests/test-quotearg.c (use_quote_double_quotes): New function.
31738         (main): Test it.
31739
31740 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
31741
31742         quotearg-tests: test escaping of embedded locale quotes
31743         * tests/test-quotearg.c (struct result_strings): Add member for
31744         new input.
31745         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
31746         (inputs): Add new input.
31747         (results_g): Add expected results.
31748         (flag_results): Likewise.
31749         (locale_results): Likewise.
31750         (compare_strings): Check those.
31751
31752 2009-08-23  Bruno Haible  <bruno@clisp.org>
31753
31754         Tests for module 'dup3'.
31755         * modules/dup3-tests: New file.
31756         * tests/test-dup3.c: New file.
31757
31758         New module 'dup3'.
31759         * lib/unistd.in.h (dup3): New declaration.
31760         * lib/dup3.c: New file.
31761         * m4/dup3.m4: New file.
31762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
31763         HAVE_DUP3.
31764         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
31765         * modules/dup3: New file.
31766         * doc/glibc-functions/dup3.texi: Mention the new module.
31767
31768 2009-08-23  Bruno Haible  <bruno@clisp.org>
31769
31770         Tweak the dup2 test.
31771         * tests/test-dup2.c (main): Create the test file empty. Verify that an
31772         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
31773         the test file is still empty. Fix argument order of lseek.
31774
31775 2009-08-23  Bruno Haible  <bruno@clisp.org>
31776
31777         Avoid test link errors when the modules getopt-gnu, gettext are used.
31778         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
31779         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31780
31781 2009-08-23  Bruno Haible  <bruno@clisp.org>
31782
31783         Fix getdtablesize() on mingw.
31784         * lib/getdtablesize.c (getdtablesize): Implement differently.
31785         * lib/unistd.in.h (getdtablesize): Improve comment.
31786
31787 2009-08-23  Bruno Haible  <bruno@clisp.org>
31788
31789         New module 'mkostemp'.
31790         Based on Ulrich Drepper's 2007-08-10 change in glibc.
31791         * lib/stdlib.in.h (mksotemp): New declaration.
31792         * lib/mkostemp.c: New file, from glibc with modifications.
31793         * lib/tempname.h (GT_FILE): Remove outdated comment.
31794         (gen_tempname): Add flags argument.
31795         * lib/tempname.c (__GT_BIGFILE): Remove macro.
31796         (__GT_FILE): Map to 1.
31797         (small_open, large_open): Remove macros.
31798         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
31799         * lib/mkstemp.c (mkstemp): Update.
31800         * lib/mkdtemp.c (mkdtemp): Likewise.
31801         * m4/mkostemp.m4: New file.
31802         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
31803         HAVE_MKOSTEMP.
31804         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
31805         HAVE_MKOSTEMP.
31806         * modules/mkostemp: New file, based on modules/mkstemp.
31807         * doc/glibc-functions/mkostemp.texi: Mention the new module.
31808         * NEWS: Mention the change.
31809
31810 2009-08-23  Bruno Haible  <bruno@clisp.org>
31811
31812         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
31813         Reported by Eric Blake.
31814
31815 2009-08-23  Bruno Haible  <bruno@clisp.org>
31816
31817         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
31818         Reported by Eric Blake.
31819
31820 2009-08-23  Bruno Haible  <bruno@clisp.org>
31821
31822         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
31823         * modules/pipe2 (Depends-on): Likewise.
31824
31825 2009-08-23  Eric Blake  <ebb9@byu.net>
31826
31827         fcntl-h: add O_TTY_INIT support
31828         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
31829         * tests/test-fcntl-h.c (o): Test it.
31830         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31831
31832         fcntl-h: rename from fcntl, in preparation for fcntl(2)
31833         * modules/fcntl: Move <fcntl.h> header replacement...
31834         * modules/fcntl-h: ...to new name, so as not to collide with
31835         like-named function.
31836         * tests/test-fcntl.c: Rename...
31837         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
31838         * modules/fcntl-tests: Rename...
31839         * modules/fcntl-h-tests: ...to this.  Update test file name.
31840         * modules/chdir-long (Depends-on): Update clients.
31841         * modules/chdir-safer (Depends-on): Likewise.
31842         * modules/fcntl-safer (Depends-on): Likewise.
31843         * modules/fts (Depends-on): Likewise.
31844         * modules/mkancesdirs (Depends-on): Likewise.
31845         * modules/mkdir-p (Depends-on): Likewise.
31846         * modules/open (Depends-on): Likewise.
31847         * modules/savewd (Depends-on): Likewise.
31848         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
31849         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
31850
31851 2009-08-22  Bruno Haible  <bruno@clisp.org>
31852
31853         * modules/binary-io (License): Relicense under LGPL.
31854         * modules/pipe2 (License): Likewise.
31855
31856 2009-08-22  Bruno Haible  <bruno@clisp.org>
31857
31858         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
31859         return value.
31860         * lib/pipe-filter-gi.c (filter_init): Likewise.
31861         Reported by Eric Blake.
31862
31863 2009-08-22  Bruno Haible  <bruno@clisp.org>
31864
31865         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
31866         * modules/pipe (Depends-on): Add pipe2.
31867
31868 2009-08-22  Bruno Haible  <bruno@clisp.org>
31869
31870         Tests for module 'pipe2'.
31871         * modules/pipe2-tests: New file.
31872         * tests/test-pipe2.c: New file.
31873
31874         New module 'pipe2'.
31875         * lib/unistd.in.h (pipe2): New declaration.
31876         * lib/pipe2.c: New file.
31877         * m4/pipe2.m4: New file.
31878         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
31879         HAVE_PIPE2.
31880         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
31881         * modules/pipe2: New file.
31882         * doc/glibc-functions/pipe2.texi: Mention the new module.
31883
31884 2009-08-22  Bruno Haible  <bruno@clisp.org>
31885
31886         Reference some new glibc functions.
31887         * doc/glibc-functions/accept4.texi: New file.
31888         * doc/glibc-functions/dup3.texi: New file.
31889         * doc/glibc-functions/mkostemp.texi: New file.
31890         * doc/glibc-functions/pipe2.texi: New file.
31891         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
31892         (Glibc sys/socket.h): Refer to accept4.
31893         (Glibc unistd.h): Refer to dup3, pipe2.
31894         Reported by Eric Blake.
31895
31896 2009-08-22  Jim Meyering  <meyering@redhat.com>
31897             Bruno Haible  <bruno@clisp.org>
31898
31899         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
31900         This makes it so packages using automake-1.11's silent-rules option
31901         can print e.g., a single "GEN    configmake.h" line, rather than
31902         the 30+ statements that perform the job.  If you want to see the
31903         actual commands, you can still run "make V=1".
31904         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
31905         so that make output is abbreviated when those variables are defined
31906         appropriately.
31907         * modules/argz: Likewise.
31908         * modules/arpa_inet: Likewise.
31909         * modules/byteswap: Likewise.
31910         * modules/configmake: Likewise.
31911         * modules/dirent: Likewise.
31912         * modules/errno: Likewise.
31913         * modules/fcntl: Likewise.
31914         * modules/float: Likewise.
31915         * modules/fnmatch: Likewise.
31916         * modules/getopt-posix: Likewise.
31917         * modules/glob: Likewise.
31918         * modules/iconv_open: Likewise.
31919         * modules/inttypes: Likewise.
31920         * modules/localcharset: Likewise.
31921         * modules/locale: Likewise.
31922         * modules/math: Likewise.
31923         * modules/netdb: Likewise.
31924         * modules/netinet_in: Likewise.
31925         * modules/poll: Likewise.
31926         * modules/posix_spawnp-tests: Likewise.
31927         * modules/sched: Likewise.
31928         * modules/search: Likewise.
31929         * modules/selinux-h: Likewise.
31930         * modules/signal: Likewise.
31931         * modules/spawn: Likewise.
31932         * modules/stdarg: Likewise.
31933         * modules/stdbool: Likewise.
31934         * modules/stddef: Likewise.
31935         * modules/stdint: Likewise.
31936         * modules/stdio: Likewise.
31937         * modules/stdlib: Likewise.
31938         * modules/string: Likewise.
31939         * modules/strings: Likewise.
31940         * modules/sys_file: Likewise.
31941         * modules/sys_ioctl: Likewise.
31942         * modules/sys_select: Likewise.
31943         * modules/sys_socket: Likewise.
31944         * modules/sys_stat: Likewise.
31945         * modules/sys_time: Likewise.
31946         * modules/sys_times: Likewise.
31947         * modules/sys_utsname: Likewise.
31948         * modules/sys_wait: Likewise.
31949         * modules/sysexits: Likewise.
31950         * modules/time: Likewise.
31951         * modules/unistd: Likewise.
31952         * modules/wchar: Likewise.
31953         * modules/wctype: Likewise.
31954
31955 2009-08-22  Jim Meyering  <meyering@redhat.com>
31956
31957         announce-gen: detect write failure
31958         * build-aux/announce-gen: Add Coda at end.
31959         Remove equivalent-but-more-verbose block at top.
31960
31961 2009-08-19  Akim Demaille  <demaille@gostai.com>
31962
31963         bootstrap: --help to stdout.
31964         * bootstrap (usage): Don't send --help to stderr.
31965         Use a here doc instead of a long string.
31966
31967 2009-08-21  Eric Blake  <ebb9@byu.net>
31968
31969         test-popen-safer: split from test-popen
31970         * tests/test-popen.c (main): Move...
31971         * tests/test-popen.h: ...into new file.
31972         * tests/test-popen-safer2.c: New file.
31973         * modules/popen-tests (Files): Add test-popen.h.
31974         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
31975         Suggested by Bruno Haible.
31976
31977         test-fcntl-safer: split from test-open
31978         * tests/test-open.c (main): Move...
31979         * tests/test-open.h: ...into new file.
31980         * tests/test-fcntl-safer.c: New file.
31981         * modules/open-tests (Files): Add test-open.h.
31982         * modules/fcntl-safer-tests: New file.
31983         Suggested by Bruno Haible.
31984
31985         test-fopen-safer: split from test-fopen
31986         * tests/test-fopen.c (main): Move...
31987         * tests/test-fopen.h: ...into new file.
31988         * tests/test-fopen-safer.c: New file.
31989         * modules/fopen-tests (Files): Add test-fopen.h.
31990         * modules/fopen-safer-tests: New file.
31991         Suggested by Bruno Haible.
31992
31993 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
31994
31995         popen-safer: test O_CLOEXEC at run-time.
31996         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
31997
31998 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
31999
32000         fcntl: move more flags to the header
32001         * lib/cloexec.c: Do not define FD_CLOEXEC here.
32002         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
32003         * lib/fcntl.in.h: Do both things here.
32004
32005 2009-08-21  Jim Meyering  <meyering@redhat.com>
32006
32007         consistently remove $@-t before redirecting to it
32008         * modules/argz: Remove $@-t and $@ before redirecting to the former.
32009         * modules/alloca-opt: Likewise.
32010         * modules/byteswap: Likewise.
32011         * modules/fnmatch: Likewise.
32012         * modules/getopt-posix: Likewise.
32013         * modules/glob: Likewise.
32014         * modules/poll: Likewise.
32015         * modules/posix_spawnp-tests: Likewise.
32016         * modules/sys_socket: Likewise.
32017         * modules/sysexits: Likewise.
32018
32019 2009-08-21  Eric Blake  <ebb9@byu.net>
32020
32021         popen: simplify access to original popen
32022         * lib/popen.c (rpl_popen): No need to worry about popen being a
32023         macro.
32024         Reported by Bruno Haible.
32025
32026 2009-08-20  Eric Blake  <ebb9@byu.net>
32027
32028         build: avoid some compiler warnings
32029         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
32030         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
32031         type.
32032         (new_exclude_segment, excluded_file_pattern_p)
32033         (excluded_file_name_p): Reduce scope.
32034         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
32035         old-style declaration.
32036
32037 2009-08-20  Simon Josefsson  <simon@josefsson.org>
32038
32039         * tests/test-exclude1.sh: Handle Windows EOL.
32040         * tests/test-exclude2.sh: Likewise.
32041         * tests/test-exclude3.sh: Likewise.
32042         * tests/test-exclude4.sh: Likewise.
32043         * tests/test-exclude5.sh: Likewise.
32044         * tests/test-exclude6.sh: Likewise.
32045         * tests/test-exclude7.sh: Likewise.
32046
32047 2009-08-19  Akim Demaille  <demaille@gostai.com>
32048
32049         bootstrap: find sha1sum when named gsha1sum.
32050         * bootstrap (find_tool): New.
32051         ($SHA1SUM): New.
32052         Use it.
32053
32054 2009-08-20  Jim Meyering  <meyering@redhat.com>
32055
32056         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
32057         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
32058         expression that converts "." in a file name to "\." in the resulting
32059         regexp.  Start with a dummy statement, so that prior shell variable
32060         definitions are expanded portably.  Reported by Simon Josefsson.
32061
32062 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
32063
32064         Fix polling for writeability of a screen buffer.
32065         * lib/poll.c: Distinguish input and screen buffers for the
32066         Win32 implementation.
32067         * lib/select.c: Likewise.
32068
32069 2009-08-19  Eric Blake  <ebb9@byu.net>
32070
32071         popen-safer: prevent popen from clobbering std descriptors
32072         * modules/popen-safer: New file.
32073         * lib/popen-safer.c: Likewise.
32074         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
32075         * lib/stdio--.h (popen): Provide override.
32076         * lib/stdio-safer.h (popen_safer): Provide declaration.
32077         * tests/test-popen.c (includes): Partially test this.
32078         * modules/popen-safer-tests: New file, for more tests.
32079         * tests/test-popen-safer.c: Likewise.
32080         * MODULES.html.sh (file stream based Input/Output): Mention it.
32081
32082         tests: test some of the *-safer modules
32083         * modules/fopen-safer (Depends-on): Add fopen.
32084         * modules/fcntl-safer (Depends-on): Add fcntl.
32085         * modules/stdlib-safer (Depends-on): Add stdlib.
32086         (configure.ac): Set indicator.
32087         * modules/unistd-safer (configure.ac): Likewise.
32088         * modules/tmpfile-safer (configure.ac): Likewise.
32089         (Depends-on): Add tmpfile.
32090         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
32091         active.
32092         * tests/test-fopen.c (includes): Test safer versions when they are
32093         in use.
32094         * tests/test-open.c (includes): Likewise.
32095
32096         popen: fix cygwin 1.5 bug when stdin closed
32097         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
32098         * modules/popen: New file.
32099         * modules/popen-tests: Likewise.
32100         * tests/test-popen.c: Likewise.
32101         * m4/popen.m4: Likewise.
32102         * lib/popen.c: Likewise.
32103         * lib/stdio.in.h (popen): New declaration.
32104         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
32105         * modules/stdio (Makefile.am): Likewise.
32106         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
32107
32108 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
32109
32110         maint.mk: give full control over update-copyright exclusions
32111         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
32112         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
32113         (update-copyright): Don't force inclusion of top-level
32114         ChangeLog.  Don't force exclusion of all COPYING files, but make
32115         them the default exclusion instead.
32116
32117 2009-08-16  Bruno Haible  <bruno@clisp.org>
32118
32119         Fix test failures on Solaris 10.
32120         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
32121         tests when Solaris iconv() is used.
32122         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
32123         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
32124         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
32125         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
32126         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
32127
32128 2009-08-16  Bruno Haible  <bruno@clisp.org>
32129
32130         Fix test failures on Solaris 10.
32131         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
32132         'tr' program and pass it as first argument.
32133         * tests/test-pipe-filter-gi1.sh: Likewise.
32134         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
32135         program as first argument.
32136         * tests/test-pipe-filter-gi1.c (main): Likewise.
32137
32138 2009-08-16  Eric Blake  <ebb9@byu.net>
32139
32140         fpurge: fix previous commits
32141         * modules/fpurge (Makefile.am): Make replacement conditional,
32142         partially reverting 2007-04-29 change; missed in previous
32143         attempt.
32144         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
32145         is missing.
32146
32147 2009-08-16  Bruno Haible  <bruno@clisp.org>
32148
32149         Clarify fpurge's effect on the file position.
32150         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
32151         * tests/test-fpurge.c (main): Make a second pass for checking the file
32152         position.
32153
32154 2009-08-16  Bruno Haible  <bruno@clisp.org>
32155
32156         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
32157         declaration of fpurge is missing.
32158         * tests/test-fpurge.c (main): Check that the file has not more contents
32159         than expected. Close the file before removing it.
32160
32161 2009-08-15  Eric Blake  <ebb9@byu.net>
32162
32163         fpurge: don't wrap working cygwin implementation
32164         * lib/fpurge.c (fpurge): Fix comment typo.
32165         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
32166         1.7 to avoid replacement.
32167         * tests/test-fpurge.c (main): Enhance test.
32168
32169 2009-08-15  Eric Blake  <ebb9@byu.net>
32170         and Jim Meyering  <meyering@redhat.com>
32171
32172         test-update-copyright: skip if perl is insufficient
32173         * tests/test-update-copyright.sh: Failure to run maintainer tool
32174         should not cause testsuite failure on cygwin 1.5.
32175
32176 2009-08-14  Eric Blake  <ebb9@byu.net>
32177
32178         doc: mention more functions added in cygwin 1.7.0
32179         * doc/posix-headers/limits.texi (limits.h): Update for recent
32180         cygwin additions.
32181         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
32182         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
32183         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
32184         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
32185         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
32186
32187 2009-08-14  Eric Blake  <ebb9@byu.net>
32188
32189         maint.mk: simplify update-copyright rule
32190         * top/maint.mk (update-copyright-local): Delete, and document how
32191         to do it in cfg.mk instead.
32192         (update-copyright-exclude-regexp): Delete, and document how to do
32193         it in .x-update-copyright instead.
32194         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
32195         exclude ChangeLog.
32196
32197 2009-08-14  Bruno Haible  <bruno@clisp.org>
32198
32199         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
32200
32201 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
32202
32203         maint.mk: support update-copyright-env
32204         * top/maint.mk (update-copyright-env): Define place-holder.
32205         (update-copyright): Expand $(update-copyright-env) before
32206         invoking update-copyright.
32207
32208 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
32209
32210         update-copyright: implement forced reformatting
32211         * build-aux/update-copyright: Implement and document
32212         UPDATE_COPYRIGHT_FORCE.
32213         * tests/test-update-copyright.sh: Test it.
32214
32215 2009-08-14  Eric Blake  <ebb9@byu.net>
32216         and Bruno Haible  <bruno@clisp.org>
32217
32218         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
32219         * tests/test-locale.c: Revert previous patch related to NULL.
32220         * tests/test-stdio.c: Likewise.
32221         * tests/test-stdlib.c: Likewise.
32222         * tests/test-string.c: Likewise.
32223         * tests/test-unistd.c: Likewise.
32224         * modules/time-tests (Depends-on): Add verify.
32225         * modules/wchar-tests (Depends-on): Likewise.
32226         * tests/test-time.c: Test for NULL compliance.
32227         * tests/test-wchar.c: Likewise.
32228         * modules/locale (Depends-on): Add stddef.
32229         * modules/stdio (Depends-on): Likewise.
32230         * modules/stdlib (Depends-on): Likewise.
32231         * modules/string (Depends-on): Likewise.
32232         * modules/time (Depends-on): Likewise.
32233         * modules/unistd (Depends-on): Likewise.
32234         * modules/wchar (Depends-on): Likewise.
32235         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
32236         * lib/stdlib.in.h (includes): Likewise.
32237         * lib/string.in.h (includes): Likewise.
32238         * lib/time.in.h (includes): Likewise.
32239         * lib/unistd.in.h (includes): Likewise.
32240         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
32241         replaced.
32242         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
32243         * m4/stddef_h.m4: New file.
32244         * modules/stddef: Likewise.
32245         * lib/stddef.in.h: Likewise.
32246         * modules/stddef-tests: Likewise.
32247         * tests/test-stddef.c: Likewise.
32248         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
32249         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
32250         * doc/posix-headers/locale.texi (locale.h): Likewise.
32251         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
32252         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
32253         * doc/posix-headers/string.texi (string.h): Likewise.
32254         * doc/posix-headers/time.texi (time.h): Likewise.
32255         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
32256         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
32257
32258 2009-08-14  Eric Blake  <ebb9@byu.net>
32259
32260         doc: improve git diff of texinfo files
32261         * .gitattributes: Add rule for *.texi files, with hint on how to
32262         use it.
32263         Copied from m4, and based on a report by Bruno Haible.
32264
32265 2009-08-14  Bruno Haible  <bruno@clisp.org>
32266
32267         Disable multithread support by default on Cygwin 1.5.x for real.
32268         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
32269
32270 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
32271
32272         update-copyright: much ado about intervals
32273         * build-aux/update-copyright: Implement and document
32274         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
32275         of copyright year intervals.
32276         Also, document UPDATE_COPYRIGHT_YEAR.
32277         * tests/test-update-copyright.sh: Test it.
32278
32279         update-copyright: convert 2-digit to 4-digit years
32280         * build-aux/update-copyright: Implement and document.
32281         * tests/test-update-copyright.sh: Update.
32282
32283 2009-08-14  Jim Meyering  <meyering@redhat.com>
32284
32285         test-exclude: avoid coreutils "make check" failure
32286         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
32287         just as in test-argmatch.c.
32288
32289 2009-08-13  Eric Blake  <ebb9@byu.net>
32290
32291         test-dup2: fix bad assumption
32292         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
32293         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
32294
32295         test-version-etc: fix CRLF portability issue
32296         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
32297         recognize \r.
32298         * tests/test-argp-version-etc-1.sh: Likewise.
32299
32300         getopt: update client modules
32301         * modules/argp (Depends-on): Use getopt-gnu.
32302         * modules/git-merge-changelog (Depends-on): Likewise.
32303         * modules/long-options (Depends-on): Likewise.
32304         * modules/xstrtol (Depends-on): Likewise.
32305
32306 2009-08-13  Simon Josefsson  <simon@josefsson.org>
32307
32308         * tests/test-version-etc.sh: Don't fail on different
32309         project/version.  Don't fail on CRLF differences.  Rewrite to use
32310         multiple -e instead of multiple sed forks, suggested by Eric Blake
32311         <ebb9@byu.net>.
32312         * tests/test-argp-version-etc-1.sh: Likewise.
32313
32314 2009-08-13  Simon Josefsson  <simon@josefsson.org>
32315
32316         * tests/test-version-etc.sh: Don't fail on different
32317         project/version.
32318
32319 2009-08-12  Bruno Haible  <bruno@clisp.org>
32320
32321         Tests for modules 'getopt-posix', 'getopt-gnu'.
32322         * modules/getopt-posix-tests: New file.
32323         * tests/test-getopt.c: New file.
32324         * tests/test-getopt.h: New file.
32325         * tests/test-getopt_long.h: New file.
32326
32327         New modules 'getopt-posix', 'getopt-gnu'.
32328         * modules/getopt-gnu: New file, renamed from modules/getopt.
32329         * modules/getopt-posix: New file.
32330         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
32331         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
32332         (gl_GETOPT): Remove macro.
32333         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
32334         Disable the test against BSD systems that declare optreset. Test
32335         against mingw bug. Test against lack of support of optional arguments
32336         on many platforms.
32337         * doc/glibc-headers/getopt.texi: Update module name and list of
32338         relevant platforms.
32339         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
32340         'getopt-gnu' and more portability problems.
32341         * NEWS: Mention the changes.
32342
32343 2009-08-12  Bruno Haible  <bruno@clisp.org>
32344
32345         Ensure that optarg etc. get declared by <unistd.h>.
32346         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
32347         AC_USE_SYSTEM_EXTENSIONS.
32348         * modules/getopt (Depends-on): Add 'extensions'.
32349
32350 2009-08-12  Bruno Haible  <bruno@clisp.org>
32351
32352         Avoid test link errors.
32353         * modules/pipe-filter-ii-tests (Makefile.am): Define
32354         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
32355         * modules/pipe-filter-gi-tests (Makefile.am): Define
32356         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
32357         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32358
32359 2009-08-12  Bruno Haible  <bruno@clisp.org>
32360
32361         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
32362         gl_GETOPT_SUBSTITUTE before.
32363         (gl_GETOPT): Use it.
32364         * m4/argp.m4 (gl_ARGP): Update.
32365         Reported by Sergey Poznyakoff.
32366
32367         * m4/getopt.m4: Reorder macros.
32368         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
32369         (gl_GETOPT_SUBSTITUTE): Remove macro.
32370
32371 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32372
32373         Minor improvement in gitlog-to-changelog
32374
32375         * build-aux/gitlog-to-changelog: New option `--format' makes
32376         output format string configurable.
32377
32378 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32379
32380         Optimize exclude: use hash tables for non-wildcard patterns.
32381
32382         * lib/exclude.c: Include hash.h and mbuiter.h
32383         (struct exclude_pattern, exclude_segment): New data types.
32384         (struct exclude): Rewrite.
32385         (fnmatch_pattern_has_wildcards): New function.
32386         (new_exclude_segment, free_exclude_segment): New functions.
32387         (excluded_file_pattern_p, excluded_file_name_p): New functions.
32388         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
32389         * lib/exclude.h (is_fnmatch_pattern): New prototype.
32390         * modules/exclude: Depend on hash and mbuiter.
32391
32392         * modules/exclude-tests: New file.
32393         * tests/test-exclude.c: New file.
32394         * tests/test-exclude1.sh: New file.
32395         * tests/test-exclude2.sh: New file.
32396         * tests/test-exclude3.sh: New file.
32397         * tests/test-exclude4.sh: New file.
32398         * tests/test-exclude5.sh: New file.
32399         * tests/test-exclude6.sh: New file.
32400         * tests/test-exclude7.sh: New file.
32401
32402 2009-08-12  Bruno Haible  <bruno@clisp.org>
32403
32404         Ensure that getopt() gets declared by <unistd.h>.
32405         * lib/unistd.in.h: Conditionally include getopt.h.
32406         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
32407         Set GNULIB_UNISTD_H_GETOPT.
32408         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32409         GNULIB_UNISTD_H_GETOPT.
32410         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
32411
32412 2009-08-12  Bruno Haible  <bruno@clisp.org>
32413
32414         Clarify logic.
32415         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
32416         gl_replace_getopt instead of GETOPT_H.
32417
32418 2009-08-12  Bruno Haible  <bruno@clisp.org>
32419
32420         * m4/getopt.m4: Add comments.
32421
32422 2009-08-12  Bruno Haible  <bruno@clisp.org>
32423
32424         Disable multithread support by default on Cygwin 1.5.x.
32425         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
32426         set gl_use_threads=no if not specified otherwise.
32427
32428 2009-08-11  Bruno Haible  <bruno@clisp.org>
32429
32430         Avoid compilation error on NetBSD 5.0.
32431         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
32432         * tests/test-stdio.c: Likewise.
32433         * tests/test-stdlib.c: Likewise.
32434         * tests/test-string.c: Likewise.
32435         * tests/test-unistd.c: Likewise.
32436         Reported by Greg Troxel <gdt@ir.bbn.com>
32437         at <https://savannah.gnu.org/support/?106973>.
32438
32439 2009-08-11  Bruno Haible  <bruno@clisp.org>
32440
32441         * modules/dup2-tests (Depends-on): Remove close.
32442
32443         Undo 2009-07-19 commit.
32444         * modules/acl-tests (Depends-on): Remove close.
32445         * modules/binary-io-tests (Depends-on): Likewise.
32446         * modules/closein-tests (Depends-on): Likewise.
32447         * modules/flock-tests (Depends-on): Likewise.
32448         * modules/fsync-tests (Depends-on): Likewise.
32449         * modules/lseek-tests (Depends-on): Likewise.
32450         * modules/pipe-tests (Depends-on): Likewise.
32451         * modules/posix_spawn-tests (Depends-on): Likewise.
32452         * modules/posix_spawnp-tests (Depends-on): Likewise.
32453         * modules/stat-time-tests (Depends-on): Likewise.
32454         * modules/yesno-tests (Depends-on): Likewise.
32455
32456 2009-08-10  Bruno Haible  <bruno@clisp.org>
32457
32458         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
32459
32460 2009-08-10  Bruno Haible  <bruno@clisp.org>
32461
32462         Fix a gcc warning.
32463         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
32464
32465 2009-08-10  Bruno Haible  <bruno@clisp.org>
32466
32467         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
32468         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
32469         not only the first time.
32470         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
32471         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
32472         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
32473         is 1, not only the the first time.
32474
32475 2009-08-10  Bruno Haible  <bruno@clisp.org>
32476
32477         Make it possible to use module 'gethostname' without module 'close'.
32478         * lib/unistd.in.h (close): Evoke a link error only if
32479         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
32480         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32481         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32482         * modules/unistd (Makefile.am): Substitute
32483         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32484         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
32485         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
32486         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
32487         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32488         * modules/sys_ioctl (Makefile.am): Substitute
32489         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32490         * modules/socket (configure.ac): On native Windows, set
32491         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
32492         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
32493         Reported by Sam Steingold <sds@gnu.org>.
32494
32495 2009-08-10  Bruno Haible  <bruno@clisp.org>
32496
32497         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
32498         * modules/ioctl (configure.ac): Likewise.
32499
32500 2009-08-10  Bruno Haible  <bruno@clisp.org>
32501
32502         Avoid collision between gnulib wrapper and libintl wrapper.
32503         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
32504         already defined in intl/printf.c.
32505         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
32506         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
32507
32508 2009-08-09  Bruno Haible  <bruno@clisp.org>
32509
32510         Make <sys/select.h> really self-contained, also on Solaris 10.
32511         * lib/sys_select.in.h: Include <string.h>.
32512         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
32513         Solaris 10 problem.
32514         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
32515         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
32516         Reported by Jim Meyering.
32517
32518 2009-08-09  Bruno Haible  <bruno@clisp.org>
32519
32520         Avoid warnings from 'aclocal' that are due to a use of macro name
32521         AM_XGETTEXT_OPTION that is not defined in automake.
32522         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
32523         automake.
32524         * modules/error (configure.ac): Likewise.
32525         * modules/propername (configure.ac): Likewise.
32526         * modules/vasprintf (configure.ac): Likewise.
32527         * modules/verror (configure.ac): Likewise.
32528         * modules/xprintf (configure.ac): Likewise.
32529         * modules/xvasprintf (configure.ac): Likewise.
32530
32531 2009-08-08  Bruno Haible  <bruno@clisp.org>
32532
32533         Avoid compilation error in C++ mode.
32534         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
32535         Reported by Sam Steingold <sds@gnu.org>.
32536
32537 2009-08-08  Bruno Haible  <bruno@clisp.org>
32538
32539         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
32540         for the various Unix platforms.
32541         * doc/posix-headers/limits.texi: Update platforms list regarding
32542         HOST_NAME_MAX.
32543         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32544
32545 2009-08-07  Jim Meyering  <meyering@redhat.com>
32546
32547         selinux-at: fix typo in a comment
32548         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
32549         Spotted by Paolo Bonzini.
32550
32551         selinux-at: remove redundant m4 code, add documentation
32552         * modules/selinux-at (configure.ac): Remove redundant code.
32553         LIB_SELINUX is already set via the dependent module, selinux-h.
32554         (Include): Add quotes around selinux-at.h.
32555         * lib/selinux-at.h: Add documentation.
32556         Reported by Bruno Haible in
32557         http://marc.info/?l=gnulib-bug&m=124958988300749
32558
32559 2009-08-07  Bruno Haible  <bruno@clisp.org>
32560
32561         Avoid link error on MacOS X 10.3 and 10.4.
32562         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
32563         on non-ELF systems.
32564         * lib/argp-pv.c (argp_program_version): Likewise.
32565         Reported by Simon Josefsson.
32566
32567 2009-08-07  Simon Josefsson  <simon@josefsson.org>
32568
32569         * tests/test-version-etc.sh: Use $EXEEXT.
32570
32571 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
32572
32573         update-copyright: update documentation to point to maint.mk
32574         * build-aux/update-copyright: Here.
32575
32576 2009-08-06  Jim Meyering  <meyering@redhat.com>
32577
32578         maint.mk: support update-copyright-local
32579         * top/maint.mk (update-copyright-local): Define place-holder.
32580         (update-copyright): Depend on $(update-copyright-local).
32581
32582 2009-08-06  Jim Meyering  <meyering@redhat.com>
32583
32584         selinux-at: new module
32585         Initially written for coreutils, this module will soon be
32586         used by findutils, too.
32587         * MODULES.html.sh [Misc]: Add selinux-at.
32588         * lib/selinux-at.h: New file, from coreutils.
32589         * lib/selinux-at.c: Likewise.
32590         * modules/selinux-at: Likewise.
32591         (License): Change from LGPL to GPL, since it depends
32592         on the GPL'd openat module.
32593
32594         doc: update README
32595         * README: Remove references to cogito.
32596         Remove cvs-repo-updating instructions from 2007.
32597         Don't imply that CVS is better if you have limited disk space.
32598
32599 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32600
32601         update-copyright: support C-style comments
32602         * build-aux/update-copyright: Implement and document.
32603         * tests/test-update-copyright.sh: Test.
32604
32605 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32606
32607         update-copyright: support omitted "(C)"
32608         * build-aux/update-copyright: Implement and document.  Also,
32609         allow variable whitespace before "(C)".
32610         * tests/test-update-copyright.sh: Test.
32611
32612 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32613
32614         update-copyright: don't trip on non-FSF copyright statements
32615         * build-aux/update-copyright: Fix so that the first correctly
32616         formatted FSF copyright statement is recognized no matter what
32617         appears before it.  Update documentation.
32618         * tests/test-update-copyright.sh: Test that.
32619
32620 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32621
32622         update-copyright: clean up code a little
32623         * build-aux/update-copyright: Append "_re" to the name of any
32624         variable holding a regular expression.
32625         Replace "old" and "new" with "stmt" in variable names.
32626         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
32627         handled correctly.
32628         Format code more consistently.
32629
32630 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
32631
32632         update-copyright-tests: improve portability
32633         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
32634         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
32635
32636 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
32637
32638         update-copyright: support @copyright{} and &copy;
32639         * build-aux/update-copyright: Implement and document.
32640         * tests/test-update-copyright.sh: Test.
32641
32642 2009-08-04  Jim Meyering  <meyering@redhat.com>
32643
32644         update-copyright-tests: correctly test EOL=\r\n handling
32645         * tests/test-update-copyright.sh: Put \r at the end of some lines
32646         for the dos-eol tests.  Based on a patch by Joel E. Denny.
32647
32648         maint.mk: make update-copyright exclusion list more configurable
32649         * top/maint.mk (update-copyright): Default to excluding COPYING,
32650         but allow an override, in case someone does want to update that file.
32651
32652         maint.mk: don't update copyright date in COPYING
32653         * top/maint.mk (update-copyright): Exclude COPYING.
32654
32655         maint.mk: add a copyright-updating rule
32656         * top/maint.mk (update-copyright): New rule.
32657         Derived from coreutils/Makefile.am.
32658
32659         update-copyright: rename some variables
32660         * build-aux/update-copyright: Rename a few variables for clarity.
32661         Tweak syntax.  List Joel E. Denny as coauthor.
32662
32663 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
32664
32665         update-copyright: fix bug for 2-digit last year and add tests
32666         * build-aux/update-copyright: Fix bug.
32667         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
32668         specified.
32669         * modules/update-copyright-tests: New
32670         * tests/test-update-copyright.sh: New.
32671
32672 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
32673
32674         update-copyright: handle leading tabs in line prefix
32675         * build-aux/update-copyright: Count leading tabs as 8 spaces
32676         when computing margin.  This helps with the formatting of
32677         ChangeLogs, for example.
32678         Fix documentation a little.
32679
32680 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
32681
32682         update-copyright: support EOL=\r\n
32683         * build-aux/update-copyright: Implement that.
32684
32685 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
32686
32687         update-copyright: automatically format copyright statements
32688         * build-aux/update-copyright: Implement that.
32689         Also, be a little more predictable and safer by always failing
32690         when the full copyright format is not perfectly recognized as an
32691         unbroken whole.  Discussed at
32692         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
32693         Rewrite documentation.
32694
32695 2009-08-03  Bruno Haible  <bruno@clisp.org>
32696
32697         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
32698
32699 2009-08-02  Bruno Haible  <bruno@clisp.org>
32700
32701         Tests for module 'uname'.
32702         * modules/uname-tests: New file.
32703         * tests/test-uname.c: New file.
32704
32705         New module 'uname'.
32706         * lib/uname.c: New file.
32707         * m4/uname.m4: New file.
32708         * modules/uname: New file.
32709         * doc/posix-functions/uname.texi: Mention the new module.
32710
32711 2009-08-02  Bruno Haible  <bruno@clisp.org>
32712
32713         Tests for module 'sys_utsname'.
32714         * modules/sys_utsname-tests: New file.
32715         * tests/test-sys_utsname.c: New file.
32716
32717         New module 'sys_utsname'.
32718         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
32719         * m4/sys_utsname_h.m4: New file.
32720         * modules/sys_utsname: New file.
32721         * doc/posix-headers/sys_utsname.texi: Mention the new module.
32722
32723 2009-08-02  Bruno Haible  <bruno@clisp.org>
32724
32725         Implicitly initialize the sockets library.
32726         * lib/gethostname.c: Include sockets.h.
32727         (rpl_gethostname): Invoke gl_sockets_startup.
32728         * lib/socket.c: Include sockets.h.
32729         (rpl_socket): Invoke gl_sockets_startup.
32730         * modules/gethostname (Depends-on): Add sockets.
32731         * modules/socket (Depends-on): Likewise.
32732         * tests/test-poll.c: Don't include sockets.h.
32733         (main): Don't invoke gl_sockets_startup.
32734         * tests/test-select.c: Don't include sockets.h.
32735         (main): Don't invoke gl_sockets_startup.
32736
32737 2009-08-02  Bruno Haible  <bruno@clisp.org>
32738
32739         Allow multiple calls to gl_sockets_startup.
32740         * lib/sockets.c (initialized_sockets_version): New variable.
32741         (gl_sockets_startup): Do nothing if already called for this or a higher
32742         version.
32743         (gl_sockets_cleanup): Reset initialized_sockets_version.
32744
32745 2009-08-03  Simon Josefsson  <simon@josefsson.org>
32746
32747         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
32748         different project/version.
32749
32750 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
32751             Bruno Haible  <bruno@clisp.org>
32752
32753         Tests for module 'pipe-filter-gi'.
32754         * modules/pipe-filter-gi-tests: New file.
32755         * tests/test-pipe-filter-gi1.sh: New file.
32756         * tests/test-pipe-filter-gi1.c: New file.
32757         * tests/test-pipe-filter-gi2.sh: New file.
32758         * tests/test-pipe-filter-gi2-main.c: New file.
32759         * tests/test-pipe-filter-gi2-child.c: New file.
32760
32761         New module 'pipe-filter-gi'.
32762         * lib/pipe-filter-gi.c: New file.
32763         * modules/pipe-filter-gi: New file.
32764
32765 2009-08-02  Bruno Haible  <bruno@clisp.org>
32766             Paolo Bonzini  <bonzini@gnu.org>
32767
32768         Tests for module 'pipe-filter-ii'.
32769         * modules/pipe-filter-ii-tests: New file.
32770         * tests/test-pipe-filter-ii1.sh: New file.
32771         * tests/test-pipe-filter-ii1.c: New file.
32772         * tests/test-pipe-filter-ii2.sh: New file.
32773         * tests/test-pipe-filter-ii2-main.c: New file.
32774         * tests/test-pipe-filter-ii2-child.c: New file.
32775
32776         New module 'pipe-filter-ii'.
32777         * lib/pipe-filter.h: New file.
32778         * lib/pipe-filter-ii.c: New file.
32779         * lib/pipe-filter-aux.h: New file.
32780         * modules/pipe-filter-ii: New file.
32781
32782 2009-08-02  Simon Josefsson  <simon@josefsson.org>
32783
32784         * lib/gc-libgcrypt.c: Change copyright to FSF.
32785         * lib/gc-gnulib.c: Likewise.
32786
32787 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
32788
32789         * lib/gethostname.c: Include limits.h.
32790
32791 2009-08-02  Simon Josefsson  <simon@josefsson.org>
32792             Bruno Haible  <bruno@clisp.org>
32793
32794         Ensure HOST_NAME_MAX as part of the gethostname module.
32795         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
32796         define also HOST_NAME_MAX.
32797         * tests/test-gethostname.c: Include <limits.h>.
32798         (main): Check also HOST_NAME_MAX.
32799         * doc/posix-headers/limits.texi: Document the mingw problem.
32800
32801 2009-08-02  Bruno Haible  <bruno@clisp.org>
32802
32803         * lib/gethostname.c (gethostname): Fix handling of large len argument.
32804         Add comments.
32805
32806 2009-03-31  Simon Josefsson  <simon@josefsson.org>
32807
32808         * lib/gethostname.c: Add Windows wrapper.
32809         * m4/gethostname.m4: Look for gethostname in -lws2_32.
32810         * modules/gethostname: Depend on sys_socket & errno, for also
32811         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
32812         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
32813
32814 2009-07-31  Jim Meyering  <meyering@redhat.com>
32815
32816         getloadavg: fix symbol name in comment
32817         * lib/getloadavg.c: Correct a typo I introduced when adding
32818         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
32819         Matt Kraai spotted the problem.
32820
32821 2009-07-29  Matt Kraai  <mkraai@beckman.com>
32822
32823         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
32824         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
32825         code also if ! defined N_NAME_POINTER.
32826         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
32827         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
32828         but the n_name member is a 12-byte array.
32829
32830 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
32831
32832         update-copyright: generalize comment handling
32833         * build-aux/update-copyright: Handle copyright statements
32834         within more comment styles.
32835         Document usage.
32836         Report any file with an external copyright holder or parse failure.
32837
32838 2009-07-29  Jim Meyering  <meyering@redhat.com>
32839
32840         mktime: correct setting of REPLACE_MKTIME
32841         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
32842
32843         update-copyright: new module
32844         * modules/update-copyright: New file.
32845         * build-aux/update-copyright: New file.
32846         * MODULES.html.sh (maint+release support): Add update-copyright.
32847
32848 2009-07-27  Bruno Haible  <bruno@clisp.org>
32849
32850         Fix compilation error when <ctime> is used and mktime is replaced.
32851         * lib/time.in.h (mktime): New declaration.
32852         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
32853         REPLACE_MKTIME instead of defining mktime in config.h.
32854         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
32855         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
32856         Reported by Ross McFarland <rwmcfa1@neces.com>.
32857
32858 2009-07-27  Bruno Haible  <bruno@clisp.org>
32859
32860         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
32861         Reported by Matt Kraai <mkraai@beckman.com>.
32862
32863 2009-07-25  Jim Meyering  <meyering@redhat.com>
32864
32865         maint.mk: avoid warnings about missing files
32866         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
32867         diagnostic when .prev-version does not exist.
32868         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
32869         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
32870         nonexistent cfg.mk.
32871         Suggestions from Simon Josefsson.
32872
32873 2009-07-25  Bruno Haible  <bruno@clisp.org>
32874
32875         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
32876         defined as macros. Needed on QNX 6.4.1.
32877         Reported by Matt Kraai <mkraai@beckman.com>.
32878
32879 2009-07-23  Jim Meyering  <meyering@redhat.com>
32880
32881         maint.mk: invoke "make dist" with a working value of XZ_OPT
32882         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
32883
32884 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
32885
32886         Make fseeko.c compile on QNX.
32887         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
32888
32889 2009-07-22  Peter Simons  <simons@cryp.to>
32890
32891         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
32892         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
32893         * lib/md4.h: Likewise.
32894         * lib/md5.h: Likewise.
32895         * lib/sha1.h: Likewise.
32896         * lib/sha256.h: Likewise.
32897         * lib/sha512.h: Likewise.
32898
32899         tests-sha1: don't assign literal string to 'char *' variable
32900         * tests/test-sha1.c (main): Declare locals with "const" to match
32901         attributes of the right hand side.
32902
32903 2009-07-21  Eric Blake  <ebb9@byu.net>
32904
32905         dup2: fix more mingw problems
32906         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
32907         fd to itself.
32908         * doc/posix-functions/dup2.texi (dup2): Document the bug.
32909         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
32910         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
32911         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
32912         care of mingw bugs.
32913
32914 2009-07-21  Jim Meyering  <meyering@redhat.com>
32915
32916         vc-list-files: avoid failure when /bin/sh is dash
32917         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
32918         On some Debian based systems, /bin/sh is a symlink to dash, and running
32919         this command would omit the "/" following each 'tests' prefix:
32920           dash -x build-aux/vc-list-files -C . tests
32921         That is because bash and dash work differently:
32922           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
32923           bash ok
32924           dash odd
32925
32926 2009-07-21  Eric Blake  <ebb9@byu.net>
32927
32928         dup2-tests: test previous patch
32929         * modules/dup2-tests: New file.
32930         * tests/test-dup2.c: Likewise.
32931         * tests/test-open.c (main): Avoid unspecified behavior.
32932         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
32933         test.
32934
32935         dup2: work around mingw and cygwin 1.5 bug
32936         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
32937         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
32938         * modules/unistd (Makefile.am): Substitute it.
32939         * lib/unistd.in.h (dup2): Declare the replacement.
32940         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
32941         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
32942         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
32943         * modules/execute (Depends-on): Add dup2.
32944         * modules/fseterr (Depends-on): Likewise.
32945         * modules/pipe (Depends-on): Likewise.
32946         * modules/posix_spawn-internal (Depends-on): Likewise.
32947
32948 2009-07-21  Bruno Haible  <bruno@clisp.org>
32949
32950         * modules/.gitattributes: New file.
32951
32952 2009-07-20  Bruno Haible  <bruno@clisp.org>
32953
32954         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
32955         (main): Use it.
32956
32957 2009-07-20  Eric Blake  <ebb9@byu.net>
32958
32959         test-pipe: make a bit more robust.
32960         * tests/test-pipe.c (myerr): Allow error messages regardless of
32961         what we do to stderr.
32962         (test_pipe): Rearrange to avoid deadlock.
32963         (child_main): Try a larger read, to ensure we avoided deadlock.
32964         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
32965         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
32966         if misused.
32967
32968 2009-07-19  Jim Meyering  <meyering@redhat.com>
32969
32970         fts: avoid false-positive cycle-detection
32971         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
32972         for each new command line argument.
32973
32974 2009-07-19  Bruno Haible  <bruno@clisp.org>
32975
32976         Fix build error on mingw with the modules sys_select and unistd.
32977         * modules/acl-tests (Depends-on): Add close.
32978         * modules/binary-io-tests (Depends-on): Likewise.
32979         * modules/closein-tests (Depends-on): Likewise.
32980         * modules/flock-tests (Depends-on): Likewise.
32981         * modules/fsync-tests (Depends-on): Likewise.
32982         * modules/lseek-tests (Depends-on): Likewise.
32983         * modules/pipe-tests (Depends-on): Likewise.
32984         * modules/posix_spawn-tests (Depends-on): Likewise.
32985         * modules/posix_spawnp-tests (Depends-on): Likewise.
32986         * modules/stat-time-tests (Depends-on): Likewise.
32987         * modules/yesno-tests (Depends-on): Likewise.
32988
32989 2009-07-19  Bruno Haible  <bruno@clisp.org>
32990
32991         Unify conditionals.
32992         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
32993         macros, not at the compiler macros.
32994         * lib/pipe.c: Likewise.
32995         * lib/execute.c: Likewise.
32996         * lib/spawni.c: Likewise.
32997
32998 2009-07-19  Bruno Haible  <bruno@clisp.org>
32999
33000         Fix handling of closed stdin/stdout/stderr on mingw.
33001         * lib/w32spawn.h: Include unistd.h.
33002         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
33003         file descriptor with O_NOINHERIT flag.
33004         (fd_safer_noinherit): New function, based on fd-safer.c.
33005         (dup_safer_noinherit): New function, based on dup-safer.c.
33006         (undup_safer_noinherit): New function.
33007         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
33008         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
33009         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
33010         instead of fd_safer.
33011         * tests/test-pipe.c: Include <windows.h>.
33012         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
33013         result.
33014
33015         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
33016         from main.
33017         (test_pipe): Pass an extra argument for disambiguation.
33018         (main): Invoke parent_main or child_main.
33019
33020         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
33021         consistently.
33022
33023 2009-07-18  Eric Blake  <ebb9@byu.net>
33024
33025         test-pipe: fix mingw build
33026         * tests/test-pipe.c (main): Avoid fcntl on mingw.
33027
33028 2009-07-18  Bruno Haible  <bruno@clisp.org>
33029
33030         * modules/pipe-tests (Makefile.am): Fix typo.
33031
33032 2009-07-18  Eric Blake  <ebb9@byu.net>
33033
33034         error: fix mingw build
33035         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
33036         Reported by Bruno Haible.
33037
33038         error: avoid undefined use of stdout
33039         * lib/error.c (error, error_at_line): Check that fd 1 is open
33040         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
33041         is handling faults and the close_stdout module wants to report the
33042         detection of closed stdout as an error.
33043
33044 2009-07-17  Eric Blake  <ebb9@byu.net>
33045
33046         pipe: be robust in face of closed fds
33047         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
33048         should cause child to misbehave.
33049         * modules/pipe-tests: New module.
33050         * tests/test-pipe.c: New file.
33051         * tests/test-pipe.sh: New file.
33052         Reported by Akim Demaille.
33053
33054 2009-07-14  Bruno Haible  <bruno@clisp.org>
33055
33056         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
33057         Reported by anonymous kc.
33058
33059 2009-07-07  Jim Meyering  <meyering@redhat.com>
33060
33061         maint.mk: don't look for translatable strings in *.m4 or *.mk
33062         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
33063         when searching for translatable strings.
33064
33065 2009-07-05  Jim Meyering  <meyering@redhat.com>
33066
33067         remove superfluous parentheses in STREQ definition
33068         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
33069         * lib/getugroups.c (STREQ): Likewise.
33070         * lib/fnmatch.c (STREQ): Likewise.
33071         Spotted by Bruno Haible.
33072
33073 2009-07-04  Jim Meyering  <meyering@redhat.com>
33074
33075         argv-iter: new module
33076         * MODULES.html.sh: Add argv-iter.
33077         * lib/argv-iter.c, lib/argv-iter.h: New files.
33078         * modules/argv-iter: New file.
33079         * modules/argv-iter-tests: New file.
33080         * tests/test-argv-iter.c: Test it.
33081
33082 2009-07-04  Bruno Haible  <bruno@clisp.org>
33083
33084         Fix assertion.
33085         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
33086         contains more exact copies of a given entry than file2, leave the extra
33087         copies unpaired rather than aborting.
33088         Reported by Eric Blake.
33089
33090 2009-07-02  Bruno Haible  <bruno@clisp.org>
33091
33092         Speedup git-merge-changelog for git cherry-pick.
33093         * lib/git-merge-changelog.c (struct entries_mapping): New type.
33094         (entries_mapping_get): New function, extracted from compute_mapping.
33095         (entries_mapping_reverse_get): New function.
33096         (compute_mapping): Add a 'full' argument. Return the result in a
33097         'struct entries_mapping'.
33098         (main): Update. Access the mappings through entries_mapping_get.
33099         Reported by Eric Blake.
33100
33101 2009-07-02  Bruno Haible  <bruno@clisp.org>
33102
33103         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
33104         best_i.
33105
33106 2009-07-02  Bruno Haible  <bruno@clisp.org>
33107
33108         Speed up approximate search for matching ChangeLog entries.
33109         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
33110         argument. Call fstrcmp_bounded instead of fstrcmp.
33111         (compute_mapping, try_split_merged_entry, main): Update callers.
33112
33113 2009-07-02  Bruno Haible  <bruno@clisp.org>
33114
33115         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
33116
33117 2009-06-30  Bruno Haible  <bruno@clisp.org>
33118
33119         Reduce the number of uc_is_cased calls.
33120         * lib/unicase.h (casing_suffix_context_t): Add
33121         'first_char_except_ignorable' field.
33122         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
33123         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
33124         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
33125         Update initializer.
33126         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
33127         case-ignorable characters.
33128         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
33129         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
33130         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
33131         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
33132         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
33133
33134 2009-06-30  Bruno Haible  <bruno@clisp.org>
33135
33136         Tests for module 'unicase/ignorable'.
33137         * modules/unicase/ignorable-tests: New file.
33138         * tests/unicase/test-ignorable.c: New file, generated by
33139         gen-uni-tables.
33140
33141         Tests for module 'unicase/cased'.
33142         * modules/unicase/cased-tests: New file.
33143         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
33144         * tests/unicase/test-predicate-part1.h: New file, derived from
33145         tests/unictype/test-predicate-part1.h.
33146         * tests/unicase/test-predicate-part2.h: New file, same as
33147         tests/unictype/test-predicate-part2.h.
33148
33149         Fix evaluation of "Before C" condition of FINAL_SIGMA.
33150         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
33151         (output_casing_properties): New function.
33152         (main): Call it.
33153         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
33154         * lib/unicase/cased.c: Include unictype/bitmap.h.
33155         (uc_is_cased): Define through a bitmap lookup.
33156         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
33157         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
33158         (uc_is_case_ignorable): Define through a bitmap lookup.
33159         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
33160         lib/unictype/bitmap.h.
33161         (Depends-on): Add inline. Clean up.
33162         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
33163         lib/unictype/bitmap.h.
33164         (Depends-on): Add inline. Clean up.
33165         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
33166         recognition.
33167         * tests/unicase/test-u16-tolower.c (main): Likewise.
33168         * tests/unicase/test-u32-tolower.c (main): Likewise.
33169
33170 2009-06-30  Bruno Haible  <bruno@clisp.org>
33171
33172         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
33173         * lib/unicase/u16-casemap.c: Likewise.
33174         * lib/unicase/u32-casemap.c: Likewise.
33175
33176 2009-06-29  Bruno Haible  <bruno@clisp.org>
33177
33178         Define u32_casefold as a wrapper around u32_ct_casefold.
33179         * lib/unicase/u32-casefold.c: Update.
33180         * modules/unicase/u32-casefold (Depends-on): Add
33181         unicase/u32-ct-casefold, unicase/empty-prefix-context,
33182         unicase/empty-suffix-context. Clean up.
33183
33184         Define u16_casefold as a wrapper around u16_ct_casefold.
33185         * lib/unicase/u16-casefold.c: Update.
33186         * modules/unicase/u16-casefold (Depends-on): Add
33187         unicase/u16-ct-casefold, unicase/empty-prefix-context,
33188         unicase/empty-suffix-context. Clean up.
33189
33190         Define u8_casefold as a wrapper around u8_ct_casefold.
33191         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
33192         * lib/unicase/u8-casefold.c: Update.
33193         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
33194         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
33195
33196         Define u32_totitle as a wrapper around u32_ct_totitle.
33197         * lib/unicase/u32-totitle.c: Update.
33198         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
33199         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
33200
33201         Define u16_totitle as a wrapper around u16_ct_totitle.
33202         * lib/unicase/u16-totitle.c: Update.
33203         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
33204         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
33205
33206         Define u8_totitle as a wrapper around u8_ct_totitle.
33207         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
33208         functions.
33209         (FUNC): Delegate to U_CT_TOTITLE.
33210         * lib/unicase/u8-totitle.c: Update.
33211         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
33212         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
33213
33214         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
33215         invocation.
33216         * modules/unicase/u32-tolower (Depends-on): Add
33217         unicase/empty-prefix-context, unicase/empty-suffix-context.
33218
33219         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
33220         invocation.
33221         * modules/unicase/u16-tolower (Depends-on): Add
33222         unicase/empty-prefix-context, unicase/empty-suffix-context.
33223
33224         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
33225         * modules/unicase/u8-tolower (Depends-on): Add
33226         unicase/empty-prefix-context, unicase/empty-suffix-context.
33227
33228         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
33229         invocation.
33230         * modules/unicase/u32-toupper (Depends-on): Add
33231         unicase/empty-prefix-context, unicase/empty-suffix-context.
33232
33233         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
33234         invocation.
33235         * modules/unicase/u16-toupper (Depends-on): Add
33236         unicase/empty-prefix-context, unicase/empty-suffix-context.
33237
33238         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
33239         * modules/unicase/u8-toupper (Depends-on): Add
33240         unicase/empty-prefix-context, unicase/empty-suffix-context.
33241
33242         New module 'unicase/u32-ct-casefold'.
33243         * lib/unicase/u32-ct-casefold.c: New file.
33244         * modules/unicase/u32-ct-casefold: New file.
33245
33246         New module 'unicase/u16-ct-casefold'.
33247         * lib/unicase/u16-ct-casefold.c: New file.
33248         * modules/unicase/u16-ct-casefold: New file.
33249
33250         New module 'unicase/u8-ct-casefold'.
33251         * lib/unicase/u8-ct-casefold.c: New file.
33252         * lib/unicase/u-ct-casefold.h: New file, derived from
33253         lib/unicase/u-casefold.h.
33254         * modules/unicase/u8-ct-casefold: New file.
33255
33256         New module 'unicase/u32-ct-totitle'.
33257         * lib/unicase/u32-ct-totitle.c: New file.
33258         * modules/unicase/u32-ct-totitle: New file.
33259
33260         New module 'unicase/u16-ct-totitle'.
33261         * lib/unicase/u16-ct-totitle.c: New file.
33262         * modules/unicase/u16-ct-totitle: New file.
33263
33264         New module 'unicase/u8-ct-totitle'.
33265         * lib/unicase/u8-ct-totitle.c: New file.
33266         * lib/unicase/u-ct-totitle.h: New file, derived from
33267         lib/unicase/u-totitle.h.
33268         * modules/unicase/u8-ct-totitle: New file.
33269
33270         New module 'unicase/u32-ct-tolower'.
33271         * lib/unicase/u32-ct-tolower.c: New file.
33272         * modules/unicase/u32-ct-tolower: New file.
33273
33274         New module 'unicase/u16-ct-tolower'.
33275         * lib/unicase/u16-ct-tolower.c: New file.
33276         * modules/unicase/u16-ct-tolower: New file.
33277
33278         New module 'unicase/u8-ct-tolower'.
33279         * lib/unicase/u8-ct-tolower.c: New file.
33280         * modules/unicase/u8-ct-tolower: New file.
33281
33282         New module 'unicase/u32-ct-toupper'.
33283         * lib/unicase/u32-ct-toupper.c: New file.
33284         * modules/unicase/u32-ct-toupper: New file.
33285
33286         New module 'unicase/u16-ct-toupper'.
33287         * lib/unicase/u16-ct-toupper.c: New file.
33288         * modules/unicase/u16-ct-toupper: New file.
33289
33290         New module 'unicase/u8-ct-toupper'.
33291         * lib/unicase/u8-ct-toupper.c: New file.
33292         * modules/unicase/u8-ct-toupper: New file.
33293
33294         Add context arguments to u*_casemap functions.
33295         * lib/unicase/unicasemap.h: Include unicase.h.
33296         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
33297         suffix_context arguments.
33298         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
33299         functions.
33300         (FUNC): Add prefix_context and suffix_context arguments. Use
33301         uc_is_cased and uc_is_case_ignorable.
33302         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
33303         * lib/unicase/u16-casemap.c: Likewise.
33304         * lib/unicase/u32-casemap.c: Likewise.
33305         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
33306         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
33307         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
33308         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
33309         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
33310         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
33311
33312         New module 'unicase/u32-suffix-context'.
33313         * lib/unicase/u32-suffix-context.c: New file.
33314         * modules/unicase/u32-suffix-context: New file.
33315
33316         New module 'unicase/u16-suffix-context'.
33317         * lib/unicase/u16-suffix-context.c: New file.
33318         * modules/unicase/u16-suffix-context: New file.
33319
33320         New module 'unicase/u8-suffix-context'.
33321         * lib/unicase/u8-suffix-context.c: New file.
33322         * lib/unicase/u-suffix-context.h: New file.
33323         * modules/unicase/u8-suffix-context: New file.
33324
33325         New module 'unicase/empty-suffix-context'.
33326         * lib/unicase/empty-suffix-context.c: New file.
33327         * modules/unicase/empty-suffix-context: New file.
33328
33329         New module 'unicase/u32-prefix-context'.
33330         * lib/unicase/u32-prefix-context.c: New file.
33331         * modules/unicase/u32-prefix-context: New file.
33332
33333         New module 'unicase/u16-prefix-context'.
33334         * lib/unicase/u16-prefix-context.c: New file.
33335         * modules/unicase/u16-prefix-context: New file.
33336
33337         New module 'unicase/u8-prefix-context'.
33338         * lib/unicase/u8-prefix-context.c: New file.
33339         * lib/unicase/u-prefix-context.h: New file.
33340         * lib/unicase/context.h: New file.
33341         * modules/unicase/u8-prefix-context: New file.
33342
33343         New module 'unicase/empty-prefix-context'.
33344         * lib/unicase/empty-prefix-context.c: New file.
33345         * modules/unicase/empty-prefix-context: New file.
33346
33347         New module 'unicase/ignorable'.
33348         * lib/unicase/ignorable.c: New file.
33349         * modules/unicase/ignorable: New file.
33350
33351         New module 'unicase/cased'.
33352         * lib/unicase/caseprop.h: New file.
33353         * lib/unicase/cased.c: New file.
33354         * modules/unicase/cased: New file.
33355
33356         New functions for case mapping of substrings.
33357         * lib/unicase.h (casing_prefix_context_t): New type.
33358         (unicase_empty_prefix_context): New variable.
33359         (u8_casing_prefix_context, u16_casing_prefix_context,
33360         u32_casing_prefix_context, u8_casing_prefixes_context,
33361         u16_casing_prefixes_context, u32_casing_prefixes_context): New
33362         declarations.
33363         (casing_suffix_context_t): New type.
33364         (unicase_empty_suffix_context): New variable.
33365         (u8_casing_suffix_context, u16_casing_suffix_context,
33366         u32_casing_suffix_context, u8_casing_suffixes_context,
33367         u16_casing_suffixes_context, u32_casing_suffixes_context,
33368         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
33369         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
33370         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
33371         declarations.
33372
33373 2009-06-28  Jim Meyering  <meyering@redhat.com>
33374
33375         boostrap: indent only with spaces
33376         * build-aux/bootstrap: Indent only with spaces, never TABs.
33377
33378         bootstrap: split long lines
33379         * build-aux/bootstrap: Keep line length < 80.
33380
33381         bootstrap: sync from coreutils
33382         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
33383         just as autoreconf does.  Verify a list of prerequisite
33384         package-name,version-number pairs if defined in bootstrap.conf.
33385         Refer to README-prereq, if prerequisites are not satisfied.
33386
33387 2009-06-27  Eric Blake  <ebb9@byu.net>
33388
33389         tests: add test for bogus NULL definition
33390         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
33391         * tests/test-stdlib.c: Likewise.
33392         * tests/test-string.c: Likewise.
33393         * tests/test-locale.c: Likewise.
33394         * tests/test-unistd.c: Likewise.
33395         * modules/stdio-tests (Depends-on): Add verify.
33396         * modules/stdlib-tests (Depends-on): Likewise.
33397         * modules/string-tests (Depends-on): Likewise.
33398         * modules/locale-tests (Depends-on): Likewise.
33399         * modules/unistd-tests (Depends-on): Likewise.
33400
33401 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
33402
33403         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
33404         self-explaining comment.
33405         * m4/selinux-selinux-h: Update serial.
33406         (gl_LIBSELINUX): New macro, adding a warning for missing development
33407         packages to code extracted from...
33408         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
33409         Add warning for missing development packages here, too.
33410
33411 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
33412
33413         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
33414
33415 2009-06-25  Eric Blake  <ebb9@byu.net>
33416
33417         version-etc: fix regression
33418         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
33419         gcc.
33420         (version_etc): Use it, to catch bugs with trailing NULL.
33421         * lib/version-etc.c (version_etc_arn): Delete unused argument.
33422         (version_etc_va): Fix logic bug.
33423         * modules/version-etc-tests: Add test.
33424         * tests/test-version-etc.c: New file.
33425         * tests/test-version-etc.sh: Likewise.
33426
33427 2009-06-25  Sam Steingold  <sds@gnu.org>
33428
33429         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
33430         mbtowc declaration.
33431
33432 2009-06-25  Eric Blake  <ebb9@byu.net>
33433
33434         fpurge: migrate into <stdio.h>
33435         * lib/fpurge.h: Delete...
33436         * lib/stdio.in.h (fpurge): ...and declare here, instead.
33437         * lib/fpurge.c (fpurge): Change declaring header.
33438         * modules/fpurge (Files): Drop deleted file.
33439         (Depends-on): Add stdio.
33440         (configure.ac): Set witness.
33441         * modules/stdio (Makefile.am): Support fpurge macros.
33442         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
33443         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
33444         * lib/fflush.c: Update client.
33445         * tests/test-fpurge.c: Likewise.
33446         * NEWS: Mention the change.
33447
33448 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
33449
33450         * lib/argp-version-etc.c (program_authors): Add const
33451         qualifier.
33452         * lib/version-etc.c: Fix typos in the comments.
33453         * modules/argp-version-etc: Depends on version-etc.
33454
33455 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
33456
33457         argp-version-etc: new module.
33458
33459         * lib/argp-version-etc.c: New file.
33460         * lib/argp-version-etc.h: New file.
33461         * modules/argp-version-etc: New file.
33462         * modules/argp-version-etc-tests: New file.
33463         * tests/test-argp-version-etc.c: New test.
33464         * tests/test-argp-version-etc-1.sh: New test.
33465
33466 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
33467
33468         Provide additional interfaces and documentation for version-etc
33469         module.
33470
33471         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
33472         interfaces.
33473         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
33474         prototypes.
33475
33476 2009-06-24  Bruno Haible  <bruno@clisp.org>
33477
33478         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
33479         HAVE_LIB${NAME} macro.
33480         Reported by Sam Steingold <sds@gnu.org>.
33481
33482 2009-06-23  Simon Josefsson  <simon@josefsson.org>
33483
33484         * modules/hash-tests (test_hash_LDADD): Link to libintl when
33485         needed.
33486
33487 2009-06-21  Bruno Haible  <bruno@clisp.org>
33488
33489         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
33490         work.
33491         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
33492         together with LIB${NAME}, LTLIB${NAME}.
33493         Reported by Sam Steingold <sds@gnu.org>.
33494
33495 2009-06-20  Jim Meyering  <meyering@redhat.com>
33496
33497         tests: make sc_require_test_exit_idiom more generic
33498         * top/maint.mk (Exit_witness_file): New overridable variable.
33499         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
33500         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
33501
33502 2009-06-19  Jim Meyering  <meyering@redhat.com>
33503
33504         hash: reverse order of src/dst parameters in an internal interface
33505         * lib/hash.c (transfer_entries): Reverse order of parameters to
33506         put DST before SRC.  Adjust callers.
33507
33508         tests: test-hash: avoid wholesale duplication
33509         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
33510         Instead, use a loop and add a single conditional.
33511
33512         tests: test-hash: allow seed selection via a command line argument
33513         * tests/test-hash.c (get_seed): New function.
33514         (main): Use it.
33515
33516 2009-06-19  Eric Blake  <ebb9@byu.net>
33517
33518         hash: avoid memory leak on allocation failure
33519         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
33520         failure.  Factor repeated algorithm...
33521         (transfer_entries): ...into new helper routine.
33522         (hash_delete): React to hash_rehash return value.
33523
33524         hash: reduce memory pressure in hash_rehash no-op case
33525         * lib/hash.c (next_prime): Avoid overflow.
33526         (hash_initialize): Factor bucket size computation...
33527         (compute_bucket_size): ...into new helper function.
33528         (hash_rehash): Use new function and open coding to reduce memory
33529         pressure, and avoid a memory leak in USE_OBSTACK code.
33530         Reported by Jim Meyering.
33531
33532 2009-06-18  Eric Blake  <ebb9@byu.net>
33533
33534         hash: make rotation more obvious
33535         * modules/hash (Depends-on): Add bitrotate and stdint.
33536         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
33537         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
33538         (SIZE_MAX): Rely on headers for definition.
33539         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
33540         (raw_hasher): Use rotr_sz.
33541         Suggested by Jim Meyering.
33542
33543         hash: fix memory leak in last patch
33544         * lib/hash.c (hash_rehash): Avoid memory leak.
33545
33546         hash: avoid no-op rehashing
33547         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
33548
33549         hash: provide default callback functions
33550         * lib/hash.c (raw_hasher, raw_comparator): New functions.
33551         (hash_initialize): Use them as defaults.
33552         * tests/test-hash.c (main): Test this.
33553
33554         hash: minor optimization
33555         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
33556         when possible.
33557         (hash_initialize): Document this promise.
33558         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
33559         * tests/test-hash.c (hash_compare_strings): Test this.
33560
33561 2009-06-18  Bruno Haible  <bruno@clisp.org>
33562
33563         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
33564         going to be replaced anyway.
33565
33566 2009-06-18  Bruno Haible  <bruno@clisp.org>
33567
33568         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
33569         in one place.
33570         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
33571         be replaced anyway.
33572
33573 2009-06-18  Eric Blake  <ebb9@byu.net>
33574
33575         hash: check for resize before insertion
33576         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
33577         threshold before insertion, so that a pathological hash_rehash
33578         that fills every bucket can still trigger another rehash.
33579
33580 2009-06-18  Jim Meyering  <meyering@redhat.com>
33581
33582         hash-tests: add a loop around the small tests
33583         * tests/test-hash.c (main): Repeat small tests with selected
33584         small initial table sizes.
33585
33586 2009-06-17  Eric Blake  <ebb9@byu.net>
33587
33588         hash: minor cleanups
33589         * lib/hash.h (hash_entry): Make opaque, by moving...
33590         * lib/hash.c (hash_entry): ...here.
33591         (hash_insert): Clarify restrictions on what can be inserted.
33592         (hash_get_next): Clarify when it is safe to remove an element
33593         during traversal.
33594         (check_tuning): Skip verification when tuning is known safe.
33595         (hash_initialize): Clarify restrictions on tuning.
33596
33597 2009-06-17  Jim Meyering  <jim@meyering.net>
33598         and Eric Blake  <ebb9@byu.net>
33599
33600         hash-tests: new module
33601         * modules/hash-tests: New file.
33602         * tests/test-hash.c: New file.
33603
33604 2009-06-17  Eric Blake  <ebb9@byu.net>
33605
33606         strstr-simple: document new module
33607         * MODULES.html.sh: Document new module.
33608
33609         strstr, strcasestr: replace on platforms with broken memchr
33610         * modules/strstr: Split into...
33611         * modules/strstr-simple: ...new module that does not care about
33612         performance, but does care about glibc bug.
33613         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
33614         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
33615         if platform memchr is broken, per Debian bug 521737.
33616         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
33617         memchr.
33618         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
33619         * doc/posix-functions/strstr.texi (strstr): Document the fix.
33620         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
33621         * modules/mountlist (Depends-on): Add strstr-simple.
33622         * modules/gen-uni-tables (Depends-on): Likewise.
33623         * modules/argz (Depends-on): Add strstr.
33624
33625 2009-06-17  Bruno Haible  <bruno@clisp.org>
33626
33627         * modules/posix_spawn-internal (Depends-on): Add errno.
33628
33629 2009-06-17  Bruno Haible  <bruno@clisp.org>
33630
33631         Define missing ESTALE on Interix 3.5.
33632         * lib/errno.in.h (ESTALE): Assign a value if missing.
33633         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
33634         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
33635         missing.
33636         * doc/posix-headers/errno.texi: Mention the Interix bug.
33637         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
33638
33639 2009-06-15  Eric Blake  <ebb9@byu.net>
33640
33641         memchr, memchr2: add valgrind exception
33642         * lib/memchr.valgrind: New file.
33643         * lib/memchr2.valgrind: New file.
33644         * modules/memchr (Files): Distribute valgrind file.
33645         * modules/memchr2 (Files): Likewise.
33646
33647         docs: memchr is no longer obsolete
33648         * MODULES.html.sh: Move memchr from obsolete to string.h section.
33649         * lib/string.in.h (memchr): Simplify logic.
33650
33651 2009-06-14  Jim Meyering  <meyering@redhat.com>
33652
33653         link-follow: fix the "checking..." message to not mention trailing slash
33654         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
33655         never considered trailing slashes.
33656
33657 2009-06-14  Bruno Haible  <bruno@clisp.org>
33658
33659         * m4/memchr.m4: Mention also the bug on IA-64.
33660         * doc/posix-functions/memchr.texi: Likewise.
33661
33662 2009-06-12  Eric Blake  <ebb9@byu.net>
33663
33664         memchr: detect broken x86_64 and alpha implementations
33665         * modules/memchr-tests (Depends-on): Move mmap detection...
33666         * modules/memchr (Depends-on): ...here.
33667         (configure.ac): Set indicator.
33668         * lib/string.in.h (memchr): Declare replacement.
33669         * modules/string (Makefile.am): Trigger replacement.
33670         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
33671         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
33672         bugs.
33673         * doc/posix-functions/memchr.texi (memchr): Document the bug.
33674         * modules/getpagesize (License): Relax license.
33675
33676 2009-06-11  Bruno Haible  <bruno@clisp.org>
33677
33678         * lib/idpriv.h: Add more references.
33679
33680 2009-06-08  Bruno Haible  <bruno@clisp.org>
33681
33682         Tests for module 'idpriv-droptemp'.
33683         * modules/idpriv-droptemp-tests: New file.
33684         * tests/test-idpriv-droptemp.sh: New file.
33685         * tests/test-idpriv-droptemp.su.sh: New file.
33686         * tests/test-idpriv-droptemp.c: New file.
33687
33688         New module 'idpriv-droptemp'.
33689         * lib/idpriv-droptemp.c: New file.
33690         * modules/idpriv-droptemp: New file.
33691
33692 2009-06-08  Bruno Haible  <bruno@clisp.org>
33693
33694         Tests for module 'idpriv-drop'.
33695         * modules/idpriv-drop-tests: New file.
33696         * tests/test-idpriv-drop.sh: New file.
33697         * tests/test-idpriv-drop.su.sh: New file.
33698         * tests/test-idpriv-drop.c: New file.
33699
33700         New module 'idpriv-drop'.
33701         * lib/idpriv.h: New file.
33702         * lib-idpriv-drop.c: New file.
33703         * m4/idpriv.m4: New file.
33704         * modules/idpriv-drop: New file.
33705
33706 2009-06-08  Bruno Haible  <bruno@clisp.org>
33707
33708         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
33709         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33710         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33711         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33712         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33713         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33714         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33715
33716 2009-06-08  Eric Blake  <ebb9@byu.net>
33717
33718         test-strstr: use memory fence, when possible
33719         * tests/test-strstr.c (main): Use memory fence, in order to be
33720         more likely to trigger Debian bug 521737.
33721         * modules/strstr-tests (Files): Pull in additional files.
33722
33723         memchr: no longer obsolete, for wider field testing
33724         * modules/memchr (Status, Notice): Delete, this module is no
33725         longer obsolete.
33726         * modules/vasnprintf (Depends-on): Add memchr.
33727
33728 2009-06-07  Jim Meyering  <meyering@redhat.com>
33729
33730         hash: declare some functions with the warn_unused_result attribute
33731         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
33732
33733 2009-06-07  Bruno Haible  <bruno@clisp.org>
33734
33735         * tests/test-alignof.c: Don't test int64_t if it does not exist.
33736         Reported by Eric Blake.
33737
33738 2009-06-06  Eric Blake  <ebb9@byu.net>
33739
33740         test-alignof: fix typo with long double
33741         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
33742         compiler error.
33743
33744 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
33745
33746         Escape non-texinfo { and }s.
33747         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
33748         markup error.
33749
33750 2009-06-04  Jim Meyering  <meyering@redhat.com>
33751
33752         gitlog-to-changelog: don't infloop on an empty commit log
33753         * build-aux/gitlog-to-changelog: Warn about an empty log message.
33754         Reported by Boris Petersen <transacid@centerim.org>.
33755
33756 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
33757
33758         version-etc: extend for packagers
33759         Add three new configure options, intended for packagers:
33760           --with-packager="packager name"
33761           --with-packager-version="packager-specific version"
33762           --with-packager-bug-reports="packager bug reporting"
33763         An example with coreutils:
33764           $ ./configure \
33765             --with-packager=Gentoo \
33766             --with-packager-bug-report=http://bugs.gentoo.org/ \
33767             --with-packager-version="patchset 1.6"
33768           $ ./src/ls --version | head -n2
33769           ls (GNU coreutils) 7.1-dirty
33770           Packaged by Gentoo (patchset 1.6)
33771         Note that the bug reporting info via --help doesn't show up because
33772         coreutils uses its own custom emit_bug_reporting_address() implementation
33773         in src/system.h.  If it didn't, it'd look like:
33774           $ ./src/ls --help | tail -n4
33775           Report bugs to <bug-coreutils@gnu.org>.
33776           Report Gentoo bugs to <http://bugs.gentoo.org/>.
33777           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
33778           General help using GNU software: <http://www.gnu.org/gethelp/>.
33779         * lib/version-etc.c: Print new information, if provided.
33780         * m4/version-etc.m4: New file.
33781         * modules/version-etc (Files): Add m4/version-etc.m4.
33782         (configure.ac): Add gl_VERSION_ETC.
33783
33784 2009-05-31  Bruno Haible  <bruno@clisp.org>
33785
33786         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
33787         and 'int64_t'.
33788         * modules/alignof-tests (Dependencies): Add stdint.
33789         Reported by Eric Blake.
33790
33791 2009-05-31  Bruno Haible  <bruno@clisp.org>
33792
33793         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
33794         restriction due to compiler bugs.
33795         Reported by Eric Blake.
33796
33797 2009-05-31  Simon Josefsson  <simon@josefsson.org>
33798             Bruno Haible  <bruno@clisp.org>
33799
33800         Fix test-alignof failure.
33801         * lib/alignof.h (alignof_slot): New macro.
33802         (alignof_type): New macro, with the same semantics as the previous
33803         'alignof'.
33804         (alignof): Alias to alignof_slot.
33805         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
33806         check that the results are usable as constant expressions.
33807
33808 2009-05-31  Bruno Haible  <bruno@clisp.org>
33809
33810         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
33811         * tests/test-memchr.c (main): Check that memchr does not read past the
33812         first occurrence of the byte.
33813         * tests/test-strstr.c (main): Update comment.
33814         Suggested by Eric Blake.
33815
33816 2009-05-30  Bruno Haible  <bruno@clisp.org>
33817
33818         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
33819         detail how to use dumpbin.
33820         Reported by David Byron <dbyron@dbyron.com>.
33821
33822 2009-06-02  Simon Josefsson  <simon@josefsson.org>
33823
33824         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
33825
33826 2009-06-02  Simon Josefsson  <simon@josefsson.org>
33827
33828         * m4/manywarnings.m4: Add GCC 4.4 warnings.
33829
33830 2009-05-28  Bruno Haible  <bruno@clisp.org>
33831
33832         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
33833         build-aux/ files.
33834
33835 2009-05-28  Simon Josefsson  <simon@josefsson.org>
33836
33837         * gnulib-tool (func_import): Transform license on build-aux/ files too.
33838
33839 2009-05-27  Simon Josefsson  <simon@josefsson.org>
33840
33841         * gnulib-tool (sed_transform_main_lib_file)
33842         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
33843         regexps.
33844
33845 2009-05-26  Simon Josefsson  <simon@josefsson.org>
33846
33847         * tests/test-strstr.c: Add another self-test.
33848         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
33849         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
33850
33851 2009-05-23  Bruno Haible  <bruno@clisp.org>
33852
33853         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
33854         change.
33855
33856 2009-05-21  Bruno Haible  <bruno@clisp.org>
33857
33858         Simplify use of mode_t varargs.
33859         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
33860         uses 'mode_t' or 'int'.
33861         * lib/openat.c (openat): Likewise.
33862         * lib/open-safer.c (open_safer): Likewise.
33863         * m4/mode_t.m4: New file.
33864         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
33865         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
33866         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
33867         * modules/open (Files): Add m4/mode_t.m4.
33868         * modules/openat (Files): Likewise.
33869         * modules/fcntl-safer (Files): Likewise.
33870         Suggested by Eric Blake.
33871
33872 2009-05-21  Pádraig Brady  <P@draigbrady.com>
33873
33874         * doc/glibc-functions/fallocate.texi: New file.
33875         * doc/gnulib.texi: Include it.
33876
33877 2009-05-21  Eric Blake  <ebb9@byu.net>
33878             Bruno Haible  <bruno@clisp.org>
33879
33880         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
33881         invocations.
33882         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
33883
33884 2009-05-21  Eric Blake  <ebb9@byu.net>
33885             Bruno Haible  <bruno@clisp.org>
33886
33887         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
33888         include_next. Fix of 2008-11-20 commit.
33889         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
33890         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
33891         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
33892         NEXT_MATH_H.
33893         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
33894         instead of NEXT_MATH_H.
33895
33896 2009-05-21  Bruno Haible  <bruno@clisp.org>
33897
33898         Avoid redefinition warnings for SIZE_MAX.
33899         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
33900         Reported by Simon Josefsson.
33901
33902 2009-05-21  Bruno Haible  <bruno@clisp.org>
33903
33904         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
33905         AC_CACHE_VAL.
33906
33907 2009-05-20  Bruno Haible  <bruno@clisp.org>
33908
33909         Make zeroptr.h work on mingw.
33910         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
33911         mprotect.
33912         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
33913         * modules/memchr2-tests (configure.ac): Likewise.
33914         * modules/memcmp-tests (configure.ac): Likewise.
33915         * modules/memmem-tests (configure.ac): Likewise.
33916         * modules/memrchr-tests (configure.ac): Likewise.
33917         Reported by Simon Josefsson.
33918
33919 2009-05-20  Simon Josefsson  <simon@josefsson.org>
33920
33921         * tests/test-glob.c: Include string.h for strcmp prototype.
33922
33923 2009-05-20  Simon Josefsson  <simon@josefsson.org>
33924
33925         * modules/getdelim (Depends-on): Add explicit stdint, although it
33926         was implicitly already pulled in via realloc-posix.
33927         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
33928
33929 2009-05-20  Simon Josefsson  <simon@josefsson.org>
33930
33931         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
33932         G. Christensen" <tgc@jupiterrise.com>.
33933         * m4/sys_socket_h.m4: Check for sa_family_t.
33934         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
33935         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
33936         * tests/test-sys_socket.c: Check that sa_family_t works.
33937
33938 2009-05-18  Eric Blake  <ebb9@byu.net>
33939
33940         maint.mk: allow gnulib_dir in VPATH build
33941         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
33942
33943 2009-05-15  Jim Meyering  <meyering@redhat.com>
33944
33945         maint.mk: Give gnulib_dir a default definition.
33946         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
33947         Thus, most packages no longer need to specify this variable in cfg.mk
33948
33949 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
33950
33951         rename.m4: fix typos that would make non-mingw cross-configure fail
33952         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
33953
33954 2009-05-13  Eric Blake  <ebb9@byu.net>
33955
33956         mmap-anon: avoid out-of-order autoconf expansion
33957         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
33958         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
33959         * modules/memchr-tests (Depends-on): Add extensions.
33960         * modules/memchr2-tests (Depends-on): Add extensions.
33961         * modules/memcmp-tests (Depends-on): Add extensions.
33962         * modules/memmem-tests (Depends-on): Add extensions.
33963         * modules/memrchr-tests (Depends-on): Add extensions.
33964
33965 2009-05-13  Bruno Haible  <bruno@clisp.org>
33966
33967         Make some tests ISO C 99 compliant.
33968         * tests/zerosize-ptr.h: New file.
33969         * tests/test-memchr.c: Include zerosize-ptr.h.
33970         (main): Use a zero-size object pointer instead of NULL.
33971         * tests/test-memchr2.c: Include zerosize-ptr.h.
33972         (main): Use a zero-size object pointer instead of NULL.
33973         * tests/test-memcmp.c: Include zerosize-ptr.h.
33974         (main): Use a zero-size object pointer instead of NULL.
33975         * tests/test-memmem.c: Include zerosize-ptr.h.
33976         (main): Use a zero-size object pointer instead of NULL.
33977         * tests/test-memrchr.c: Include zerosize-ptr.h.
33978         (main): Use a zero-size object pointer instead of NULL.
33979         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
33980         m4/mmap-anon.m4.
33981         (Depends-on): Add getpagesize.
33982         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33983         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
33984         m4/mmap-anon.m4.
33985         (Depends-on): Add getpagesize.
33986         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33987         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
33988         m4/mmap-anon.m4.
33989         (Depends-on): Add getpagesize.
33990         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33991         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
33992         m4/mmap-anon.m4.
33993         (Depends-on): Add getpagesize.
33994         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33995         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
33996         m4/mmap-anon.m4.
33997         (Depends-on): Add getpagesize.
33998         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
33999
34000 2009-05-12  Bruno Haible  <bruno@clisp.org>
34001
34002         Tests for module 'alignof'.
34003         * modules/alignof-tests: New file.
34004         * tests/test-alignof.c: New file.
34005
34006 2009-05-12  Bruno Haible  <bruno@clisp.org>
34007
34008         Fix alignof macro.
34009         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
34010         vendor compilers that are always correct.
34011
34012 2009-05-12  Bruno Haible  <bruno@clisp.org>
34013
34014         Make the MAP_ANONYMOUS detection work on HP-UX 11.
34015         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
34016         not whether its fully works.
34017
34018 2009-05-12  Bruno Haible  <bruno@clisp.org>
34019
34020         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
34021
34022 2009-05-12  Jim Meyering  <meyering@redhat.com>
34023
34024         * top/maint.mk: Adjust backslash alignment.
34025
34026 2009-05-11  Simon Josefsson  <simon@josefsson.org>
34027
34028         * top/maint.mk: Make $(srcdir)/build-aux configurable.
34029
34030 2009-05-11  Eric Blake  <ebb9@byu.net>
34031
34032         argp: avoid undefined behavior
34033         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
34034         macros.
34035
34036 2009-05-08  Simon Josefsson  <simon@josefsson.org>
34037
34038         * tests/test-vc-list-files-git.sh: Do git config of user.email and
34039         user.name to prevent git commit from complaining.
34040
34041 2009-05-10  Bruno Haible  <bruno@clisp.org>
34042
34043         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
34044         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
34045         it rewrites every file name only once.
34046         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
34047
34048 2009-05-08  Bruno Haible  <bruno@clisp.org>
34049
34050         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
34051         instead of 'max'.
34052
34053 2009-05-08  Simon Josefsson  <simon@josefsson.org>
34054
34055         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
34056         sockaddr_storage test.
34057
34058 2009-05-07  Simon Josefsson  <simon@josefsson.org>
34059
34060         * modules/sys_socket (Makefile.am): Substitute
34061         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
34062         * m4/sys_socket_h.m4: Check for sockaddr_storage.
34063         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
34064         * tests/test-sys_socket.c: Check sockaddr_storage.
34065
34066 2009-05-08  Bruno Haible  <bruno@clisp.org>
34067
34068         New module 'alignof'.
34069         * lib/alignof.h: New file.
34070         * modules/alignof: New file.
34071
34072 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
34073             Bruno Haible  <bruno@clisp.org>
34074
34075         Fix test-file-has-acl on FreeBSD.
34076         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
34077         mask is implicitly added.
34078         * tests/test-file-has-acl.c: Include <signal.h>.
34079         (main): Terminate the test after 5 seconds.
34080         * modules/acl-tests (configure.ac): Check for alarm function.
34081
34082 2009-05-04  Bruno Haible  <bruno@clisp.org>
34083
34084         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
34085         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
34086         * modules/errno (configure.ac): Drop AC_REQUIRE.
34087         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
34088         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
34089
34090 2009-05-04  Simon Josefsson  <simon@josefsson.org>
34091
34092         * modules/glob-tests: New module.
34093         * tests/test-glob.c: Add.
34094
34095 2009-05-04  Simon Josefsson  <simon@josefsson.org>
34096
34097         * modules/fnmatch-tests: New module.
34098         * tests/test-fnmatch.c: Add.
34099
34100 2009-05-04  Eric Blake  <ebb9@byu.net>
34101
34102         maint: make the new no-submodule-changes rule VPATH-safe
34103         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
34104
34105 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
34106             Bruno Haible  <bruno@clisp.org>
34107
34108         acl: Fix infinite loop on FreeBSD.
34109         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
34110         of return value from acl_get_entry.
34111         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
34112         Likewise.
34113
34114 2009-05-03  Bruno Haible  <bruno@clisp.org>
34115
34116         * lib/acl-internal.h (acl_entries): Clarify return value.
34117         * lib/acl_entries.c (acl_entries): Likewise.
34118
34119 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
34120
34121         Bug fix in acl module.
34122         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
34123
34124 2009-05-03  Bruno Haible  <bruno@clisp.org>
34125
34126         Create gperf-generated file in the source dir, not in the build dir.
34127         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
34128         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
34129         * modules/unicase/locale-language (unicase/locale-languages.h):
34130         Likewise.
34131         * modules/unicase/special-casing (unicase/special-casing-table.h):
34132         Likewise.
34133         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
34134         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
34135         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
34136         Reported by Ralf Wildenhues.
34137
34138 2009-05-03  Bruno Haible  <bruno@clisp.org>
34139
34140         * modules/fnmatch (Description, configure.ac): Taken from
34141         fnmatch-posix.
34142         * modules/fnmatch-posix: Turn into a symbolic reference to the
34143         'fnmatch' module, and deprecate.
34144         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
34145
34146 2009-05-03  Bruno Haible  <bruno@clisp.org>
34147
34148         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
34149         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
34150         Reported by Ralf Wildenhues.
34151
34152 2009-05-04  Simon Josefsson  <simon@josefsson.org>
34153
34154         * m4/fnmatch.m4: Fix fnmatch re-define.
34155
34156 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
34157
34158         priv-set: new module and tests; adapt write-any-file
34159         * lib/priv-set.c: New file.
34160         * lib/priv-set.h: New file.
34161         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
34162         * lib/write-any-file.c: Simplify by using priv-set module.
34163         * m4/priv-set.m4: New file.
34164         * modules/priv-set: New file.
34165         * modules/unlinkdir: Add dependency on priv-set module.
34166         * modules/write-any-file: Likewise.
34167
34168         Tests for module 'priv-set'.
34169         * modules/priv-set-tests: New file.
34170         * tests/test-priv-set.c: New file.
34171
34172 2009-05-03  Jim Meyering  <meyering@redhat.com>
34173             Bruno Haible  <bruno@clisp.org>
34174
34175         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
34176         use the converted UTF-8 variant of the name instead.
34177
34178 2009-05-03  Jim Meyering  <meyering@redhat.com>
34179
34180         tests: tighten some getdate tests
34181         * tests/test-getdate.c (main): Tighten tests: require equality,
34182         not just greater than.  Set TZ envvar to UTC0.
34183
34184 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
34185
34186         getdate: correctly interpret "next monday" when run on a Monday
34187         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
34188         that e.g., "next tues" (when run on a tuesday) results in a date
34189         that is one week in the future, and not today's date.
34190         I.e., add a week when the wday is the same as the current one.
34191         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
34192         and earlier by Martin Bernreuther and Jan Minář.
34193         * tests/test-getdate.c (main): Check that "next DAY" is always in
34194         the future and that "last DAY" is always in the past.
34195
34196 2009-05-02  Jim Meyering  <meyering@redhat.com>
34197
34198         build: ensure that a release build fails when a submodule is unclean
34199         * top/maint.mk (no-submodule-changes): New rule.
34200         (alpha beta major): Depend on it.
34201
34202 2009-05-02  Bruno Haible  <bruno@clisp.org>
34203
34204         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
34205         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
34206         shell variable gl_fnmatch_required to detect which variant is
34207         requested.
34208         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
34209         gl_FUNC_FNMATCH_POSIX.
34210         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
34211         exclude fnmatch-posix.
34212
34213 2009-05-02  Bruno Haible  <bruno@clisp.org>
34214
34215         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
34216         * modules/mbsrtowcs (License): Change to LGPLv2+.
34217         * modules/strnlen1 (License): Likewise.
34218         Reported by Simon Josefsson.
34219
34220 2009-05-02  Bruno Haible  <bruno@clisp.org>
34221
34222         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
34223         "cross".
34224         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
34225         gnulib-tool was called with option --source-base=lib.
34226
34227 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34228
34229         Use automake *-local hooks without commands, for extensibility.
34230         * modules/localcharset (Makefile.am): Rename install-exec-local
34231         rule to install-exec-localcharset, and make it a prerequisite of
34232         install-exec-local.  Likewise, rename the uninstall-local rule to
34233         uninstall-localcharset, and make it a prerequisite of the former.
34234
34235 2009-05-01  Bruno Haible  <bruno@clisp.org>
34236
34237         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
34238         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
34239         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
34240         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
34241         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
34242         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
34243         m4/locale-zh.m4, m4/codeset.m4.
34244
34245         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
34246         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
34247         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
34248         m4/locale-zh.m4.
34249
34250         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
34251         REPLACE_WCRTOMB if mbstate_t must be replaced.
34252         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
34253         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
34254
34255 2009-05-01  Bruno Haible  <bruno@clisp.org>
34256
34257         Avoid compiler warnings when redefining macros defined by <libintl.h>.
34258         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
34259         dngettext, dcngettext, textdomain, bindtextdomain,
34260         bind_textdomain_codeset): Undefine before redefining.
34261
34262 2009-04-30  Bruno Haible  <bruno@clisp.org>
34263
34264         Fix bug introduced on 2009-04-25.
34265         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
34266         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
34267         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
34268         is defined.
34269         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
34270         is defined.
34271         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
34272         is defined.
34273         Reported by Elbert_Pol <elbert.pol@gmail.com>.
34274
34275 2009-04-28  Bruno Haible  <bruno@clisp.org>
34276
34277         Comment tweaks.
34278         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
34279         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
34280         * lib/unicase.h (u*_casexfrm): Likewise.
34281         Reported by Paolo Bonzini.
34282
34283 2009-04-28  Bruno Haible  <bruno@clisp.org>
34284
34285         Fix a compilation error.
34286         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
34287         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
34288         Reported by Jim Meyering.
34289
34290 2009-04-27  Bruno Haible  <bruno@clisp.org>
34291
34292         New module 'libunistring'.
34293         * modules/libunistring: New file.
34294         * m4/libunistring.m4: New file.
34295         * MODULES.html.sh (Unicode string functions): Add it.
34296
34297 2009-04-27  Eric Blake  <ebb9@byu.net>
34298
34299         maint.mk: allow package-specific header to provide <config.h>
34300         * top/maint.mk (sc_require_config_h): New variable.
34301         (sc_require_config_h, sc_require_config_h_first): Use it.
34302
34303 2009-04-27  Simon Josefsson  <simon@josefsson.org>
34304
34305         * top/maint.mk (sc_avoid_if_before_free): Except
34306         useless-if-before-free script.
34307
34308 2009-04-27  Eric Blake  <ebb9@byu.net>
34309
34310         maintainer-makefile: depend on all required helper scripts
34311         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
34312         useless-if-before-free.
34313         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
34314         version, rather than assuming gnulib checkout is available.
34315         Reported by Simen Josefsson.
34316
34317 2009-04-26  Bruno Haible  <bruno@clisp.org>
34318
34319         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
34320         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
34321         "../" or "..".
34322
34323 2009-04-26  Bruno Haible  <bruno@clisp.org>
34324
34325         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
34326         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
34327         AC_LIB_HAVE_LINKFLAGS.
34328
34329 2009-04-26  Bruno Haible  <bruno@clisp.org>
34330
34331         Simplify calling convention of u*_conv_from_encoding.
34332         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
34333         u32_conv_from_encoding): Expect a resultbuf argument and return the
34334         result directly as a pointer.
34335         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
34336         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
34337         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
34338         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
34339         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
34340         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
34341         Update.
34342         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
34343         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
34344         * lib/vasnprintf.c (VASNPRINTF): Update.
34345         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
34346         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
34347         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
34348         * NEWS: Mention the change.
34349
34350 2009-04-26  Bruno Haible  <bruno@clisp.org>
34351
34352         Simplify calling convention of u*_conv_to_encoding.
34353         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
34354         u32_conv_to_encoding): Expect a resultbuf argument and return the
34355         result directly as a pointer.
34356         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
34357         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
34358         freeing scaled_offsets if mem_iconveha failed.
34359         * lib/unicase/u-casexfrm.h (FUNC): Update.
34360         * lib/uninorm/u-normxfrm.h (FUNC): Update.
34361         * lib/vasnprintf.c (VASNPRINTF): Update.
34362         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
34363         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
34364         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
34365         * NEWS: Mention the change.
34366
34367 2009-04-26  Bruno Haible  <bruno@clisp.org>
34368
34369         Avoid test failures on AIX and OSF/1.
34370         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
34371         malloc(0).
34372         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
34373         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
34374         Likewise.
34375         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
34376         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
34377         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
34378         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
34379         * doc/posix-functions/malloc.texi: Document the portability problem
34380         related to malloc(0).
34381
34382 2009-04-26  Bruno Haible  <bruno@clisp.org>
34383
34384         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
34385         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
34386         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
34387
34388 2009-04-25  Bruno Haible  <bruno@clisp.org>
34389
34390         Avoid link error when creating a namespace clean library.
34391         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
34392         as macro with arguments if already defined as an alias.
34393         * lib/signbitf.c (gl_signbitf): Don't undefine.
34394         * lib/signbitd.c (gl_signbitd): Don't undefine.
34395         * lib/signbitl.c (gl_signbitl): Don't undefine.
34396
34397 2009-04-25  Jim Meyering  <meyering@redhat.com>
34398
34399         vc-list-files: fix another quoting bug
34400         * build-aux/vc-list-files: Avoid sed backslash expansion
34401         of pathological directory names.
34402
34403 2009-04-25  Eric Blake  <ebb9@byu.net>
34404
34405         vc-list-files: fix shell quoting error
34406         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
34407         timestamp.
34408
34409 2009-04-25  Jim Meyering  <meyering@redhat.com>
34410
34411         vc-list-files: restore lost functionality with subdir argument
34412         * build-aux/vc-list-files: When given a non-"." sub-directory
34413         argument, substitute the $dir/ prefix back onto each resulting name.
34414         Otherwise, coreutils' root_tests check would fail.
34415
34416 2009-04-24  Eric Blake  <ebb9@byu.net>
34417
34418         vc-list-files: ignore git symlinks
34419         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
34420         than ls-files, to ignore git symlinks.
34421
34422         maint.mk: import improvements from m4
34423         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
34424         (move_if_change): Delete unused macro.
34425         (news-date-check, vc-diff-check): Support VPATH builds.
34426         (announcement): Likewise.  Split --bootstrap-tools list...
34427         (boostrap-tools): ...into separate list, which can be overridden
34428         in cfg.mk.
34429         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
34430         requiring dependency on useless-if-before-free module.
34431         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
34432         Support VPATH builds.
34433
34434 2009-04-24  Jim Meyering  <meyering@redhat.com>
34435
34436         maint.mk: remove coreutils-specific rules and variables
34437         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
34438         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
34439         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
34440
34441         maint.mk: remove obsolete rule
34442         * top/maint.mk (rel-check): Remove rule.
34443         (WGET, WGETFLAGS): Remove now-unused variables.
34444
34445 2009-04-24  Simon Josefsson  <simon@josefsson.org>
34446
34447         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
34448         consistency.
34449
34450         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
34451         '$(PATH_SEPARATOR)' instead of ':'.
34452
34453 2009-04-24  Simon Josefsson  <simon@josefsson.org>
34454
34455         * lib/getopt1.c (main): Use 'const' for static array.
34456
34457 2009-04-24  Simon Josefsson  <simon@josefsson.org>
34458
34459         * top/maint.mk: Sync with coreutils.
34460         * NEWS: Explain incompatibilities.
34461
34462 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
34463             Bruno Haible  <bruno@clisp.org>
34464
34465         Fix cross-compilation results.
34466         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
34467         statement, as third argument of AC_TRY_RUN.
34468         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
34469         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
34470         Likewise.
34471         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
34472         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
34473         Likewise.
34474         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
34475         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
34476         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
34477
34478 2009-04-20  Bruno Haible  <bruno@clisp.org>
34479
34480         Avoid test failure on mingw.
34481         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
34482
34483 2009-04-20  Bruno Haible  <bruno@clisp.org>
34484
34485         Avoid compilation error on mingw.
34486         * modules/localename-tests (Depends-on): Add locale.
34487
34488 2009-04-19  Bruno Haible  <bruno@clisp.org>
34489
34490         Support for building a shared library on Windows platforms.
34491         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
34492         (main): Test the presence of UNINORM_NFC here.
34493         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
34494         (main): Test the presence of UNINORM_NFD here.
34495         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
34496         (main): Test the presence of UNINORM_NFKC here.
34497         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
34498         (main): Test the presence of UNINORM_NFKD here.
34499
34500 2009-04-19  Bruno Haible  <bruno@clisp.org>
34501
34502         Avoid a compiler warning.
34503         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
34504         Change type of variable 'sequence'.
34505
34506 2009-04-19  Bruno Haible  <bruno@clisp.org>
34507
34508         * modules/configmake (Makefile.am): When the contents of configmake.h
34509         does not change, arrange to preserve its modification time.
34510
34511 2009-04-17  Simon Josefsson  <simon@josefsson.org>
34512
34513         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
34514         gettext domain.
34515
34516 2009-04-16  Jim Meyering  <meyering@redhat.com>
34517
34518         useless-if-before-free: improve conversion code
34519         * build-aux/useless-if-before-free: Adjust code-in-comment to match
34520         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
34521
34522 2009-04-14  Bruno Haible  <bruno@clisp.org>
34523
34524         * modules/fcntl (Depends-on): Add extensions.
34525         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
34526
34527 2009-04-12  Ben Pfaff  <blp@gnu.org>
34528
34529         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
34530         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
34531
34532 2009-03-20  Ben Pfaff  <blp@gnu.org>
34533
34534         Make rename replace existing destinations on Windows.
34535         * m4/rename.m4: Add test for Mingw.
34536         * lib/rename.c: Add rename replacement that uses MoveFileEx with
34537         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
34538         * doc/posix-functions/rename.texi: Document.
34539
34540 2009-04-10  Bruno Haible  <bruno@clisp.org>
34541
34542         New include file "iconveh.h".
34543         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
34544         * lib/striconveh.h: Include it.
34545         (enum iconv_ilseq_handler): Remove definition.
34546         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
34547         striconveh.h.
34548         * lib/striconveha.c: Include striconveh.h.
34549         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
34550         * modules/striconveh (Files): Add lib/iconveh.h.
34551         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
34552         lib/striconveh.h.
34553
34554 2009-04-10  Bruno Haible  <bruno@clisp.org>
34555
34556         * lib/uniconv.h: Update comment.
34557
34558 2009-04-10  Bruno Haible  <bruno@clisp.org>
34559
34560         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
34561         always.
34562         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
34563         * lib/unistr/u16-mbtouc-aux.c: Likewise.
34564         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
34565         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
34566         "unistring-notinline.h", so that the function gets defined always.
34567         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
34568         * lib/unistr/u8-uctomb.c: Likewise.
34569         * lib/unistr/u16-mbtouc.c: Likewise.
34570         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
34571         * lib/unistr/u16-uctomb.c: Likewise.
34572         * lib/unistr/u32-mbtouc.c: Likewise.
34573         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
34574         * lib/unistr/u32-uctomb.c: Likewise.
34575
34576 2009-04-10  Bruno Haible  <bruno@clisp.org>
34577
34578         Mark 'utime' obsolete.
34579         * modules/utime (Status, Notice): New sections.
34580         Suggested by Jim Meyering.
34581
34582         Fix cross-compile guess for utime test.
34583         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
34584         autoconf.
34585         * doc/posix-functions/utime.texi: Give more precisions.
34586         Reported by Jan <ipif@ymail.com>.
34587
34588 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
34589
34590         filevercmp: correct today's change
34591         * lib/filevercmp.c: Also handle coreutils' test inputs.
34592         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
34593
34594         Fix regression in 'filevercmp' module. Thanks Sven Joachim
34595         for reporting it.
34596         * lib/filevercmp.c: Special handle for "", "." and "..".
34597         * tests/test-filevercmp.c: Enlarge the set suite.
34598
34599 2009-04-07  Jim Meyering  <meyering@redhat.com>
34600
34601         useless-if-before-free: show how to remove braced useless free, too
34602         * build-aux/useless-if-before-free: still only in a comment, though.
34603
34604 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
34605
34606         maint.mk: import changes to syntax-check macros from coreutils
34607         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
34608         Use them in the relevant macros.
34609
34610 2009-04-06  Bruno Haible  <bruno@clisp.org>
34611
34612         Fix unportable use of bit-fields.
34613         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
34614         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
34615         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
34616
34617 2009-04-06  Bruno Haible  <bruno@clisp.org>
34618
34619         Avoid test failures on AIX and OSF/1.
34620         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
34621         that malloc(0) = NULL.
34622         * tests/unicase/test-u8-tolower.c (check): Likewise.
34623         * tests/unicase/test-u8-totitle.c (check): Likewise.
34624         * tests/unicase/test-u8-toupper.c (check): Likewise.
34625         * tests/unicase/test-u16-casefold.c (check): Likewise.
34626         * tests/unicase/test-u16-tolower.c (check): Likewise.
34627         * tests/unicase/test-u16-totitle.c (check): Likewise.
34628         * tests/unicase/test-u16-toupper.c (check): Likewise.
34629         * tests/unicase/test-u32-casefold.c (check): Likewise.
34630         * tests/unicase/test-u32-tolower.c (check): Likewise.
34631         * tests/unicase/test-u32-totitle.c (check): Likewise.
34632         * tests/unicase/test-u32-toupper.c (check): Likewise.
34633         * tests/uninorm/test-u8-nfc.c (check): Likewise.
34634         * tests/uninorm/test-u8-nfd.c (check): Likewise.
34635         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
34636         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
34637         * tests/uninorm/test-u16-nfc.c (check): Likewise.
34638         * tests/uninorm/test-u16-nfd.c (check): Likewise.
34639         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
34640         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
34641         * tests/uninorm/test-u32-nfc.c (check): Likewise.
34642         * tests/uninorm/test-u32-nfd.c (check): Likewise.
34643         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
34644         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
34645
34646 2009-04-05  Bruno Haible  <bruno@clisp.org>
34647
34648         Work around an autoconf limitation.
34649         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
34650         comment line if it would be longer than 3 KB.
34651
34652 2009-04-05  Bruno Haible  <bruno@clisp.org>
34653
34654         Avoid test failure with libiconv-1.13.
34655         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
34656         of the expected test results.
34657
34658 2009-04-05  Bruno Haible  <bruno@clisp.org>
34659
34660         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
34661         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
34662         that it should be installed.
34663
34664 2009-04-05  Bruno Haible  <bruno@clisp.org>
34665
34666         * gnulib-tool: New option --copy-file.
34667         (func_usage): Document it.
34668         (func_dest_tmpfilename): Moved out of func_import.
34669         (func_add_file, func_update_file): New functions, extracted from
34670         func_import.
34671         (func_import): Update.
34672
34673 2009-04-05  Karl Berry  <karl@gnu.org>
34674
34675         * README: prominently mention gnulib-tool.
34676         Rearrange sections so getting the code is near the top.
34677
34678 2009-04-05  Bruno Haible  <bruno@clisp.org>
34679
34680         * lib/unicase.h: Mention u*_cmp2.
34681         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
34682         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
34683         * lib/unicase/ulc-casecmp.c: Likewise.
34684         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
34685         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
34686         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
34687         unistr/u8-cmp.
34688         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
34689         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
34690         unistr/u16-cmp.
34691         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
34692         unistr/u32-cmp.
34693
34694         * lib/uninorm.h: Mention u*_cmp2.
34695         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
34696         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
34697         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
34698         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
34699         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
34700         unistr/u8-cmp.
34701         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
34702         unistr/u16-cmp.
34703         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
34704         unistr/u32-cmp.
34705
34706         New module 'unistr/u32-cmp2'.
34707         * lib/unistr/u32-cmp2.c: New file.
34708         * modules/unistr/u32-cmp2: New file.
34709
34710         New module 'unistr/u16-cmp2'.
34711         * lib/unistr/u16-cmp2.c: New file.
34712         * modules/unistr/u16-cmp2: New file.
34713
34714         New module 'unistr/u8-cmp2'.
34715         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
34716         * lib/unistr/u8-cmp2.c: New file.
34717         * lib/unistr/u-cmp2.h: New file.
34718         * modules/unistr/u8-cmp2: New file.
34719
34720 2009-04-05  Bruno Haible  <bruno@clisp.org>
34721
34722         * lib/unictype.h (uc_property_is_valid): New macro.
34723         * tests/unictype/test-pr_byname.c (main): Use it.
34724
34725         * lib/unistr.h: Doc fixes.
34726         * lib/uniconv.h: Doc fixes.
34727         * lib/unictype.h: Doc fixes.
34728
34729 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
34730
34731         Port coreutils 7.2 to Solaris 8.
34732
34733         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
34734         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
34735         for Solaris 8.  This is a bit of a hack, as it means it's the
34736         caller's responsibility to add -lnsl if needed, but most likely it
34737         won't be needed since only getaddrinfo uses this and getaddrinfo
34738         isn't needed on Solaris 8.
34739
34740         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
34741         problem to Solaris 8 encountered with coreutils 7.2, which
34742         resulted in a message "fnmatch.c:292: warning: passing argument 4
34743         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
34744         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
34745
34746 2009-04-03  Simon Josefsson  <simon@josefsson.org>
34747
34748         * m4/ld-version-script.m4: Add FIXME comment.
34749
34750 2009-04-02  Simon Josefsson  <simon@josefsson.org>
34751
34752         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
34753         SOVERSION variable.
34754
34755 2009-04-02  Bruno Haible  <bruno@clisp.org>
34756
34757         * Makefile (info, html, dvi, pdf): Combine the rules.
34758         Suggested by Jim Meyering.
34759
34760 2009-04-01  Bruno Haible  <bruno@clisp.org>
34761
34762         * Makefile (info, html, dvi, pdf): New targets.
34763         Reported by Reuben Thomas <rrt@sc3d.org>.
34764
34765 2009-04-01  Bruno Haible  <bruno@clisp.org>
34766
34767         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
34768         can be put into PATH.
34769         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
34770
34771 2009-04-01  Bruno Haible  <bruno@clisp.org>
34772
34773         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
34774
34775 2009-04-01  Bruno Haible  <bruno@clisp.org>
34776
34777         Rename module 'visibility'.
34778         * modules/lib-symbol-visibility: Renamed from modules/visibility.
34779         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
34780         * doc/gnulib.texi: Update.
34781         * MODULES.html.sh (Misc): Update.
34782         * NEWS: Mention the change.
34783
34784 2009-04-01  Simon Josefsson  <simon@josefsson.org>
34785
34786         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
34787         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
34788         Eric Blake <ebb9@byu.net> for review.
34789         * MODULES.html.sh: Add lib-msvc-compat.
34790         * doc/gnulib.texi: Link to new section.
34791         * m4/ld-output-def.m4: New file.
34792         * doc/ld-output-def.texi: New file.
34793
34794 2009-04-01  Simon Josefsson  <simon@josefsson.org>
34795
34796         Rename ld-version-script to lib-symbol-versions.  Suggested by
34797         Bruno Haible <bruno@clisp.org>.
34798         * modules/ld-version-script: Renamed to lib-symbol-versions.
34799         * doc/ld-version-script.texi: Fix module name.
34800         * MODULES.html.sh: Add lib-symbol-versions.
34801
34802 2009-03-31  Simon Josefsson  <simon@josefsson.org>
34803
34804         * modules/u64-tests: New file.
34805         * tests/test-u64.c: New file.
34806
34807 2009-03-04  Simon Josefsson  <simon@josefsson.org>
34808
34809         * MODULES.html.sh: Mention u64.
34810         * modules/u64: New module.
34811         * modules/crypto/sha512: Depend on u64 module instead of providing
34812         u64.h.
34813
34814 2009-03-27  Eric Blake  <ebb9@byu.net>
34815
34816         test-strerror: make debugging EAI_SYSTEM easier
34817         * modules/getaddrinfo-tests (Depends-on): Add strerror.
34818         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
34819         failure was EAI_SYSTEM.
34820
34821 2009-03-25  Bruno Haible  <bruno@clisp.org>
34822
34823         Fix a problem with --enable-relocatable on Solaris 7.
34824         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
34825         since 2008-02-24.
34826
34827 2009-03-25  Eric Blake  <ebb9@byu.net>
34828
34829         test-sockets: avoid gcc warning
34830         * tests/test-sockets.c (main): Silence compiler warning.
34831
34832 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
34833
34834         New modules nproc, pthread, contributed by Glen Lenker.
34835
34836         * MODULES.html.sh: Add pthread, nproc.
34837         * lib/nproc.c: New file.
34838         * lib/nproc.h: New file.
34839         * lib/pthread.in.h: New file.
34840         * m4/pthread.m4: New file.
34841         * modules/nproc: New file.
34842         * modules/pthread: New file.
34843
34844 2009-03-24  Simon Josefsson  <simon@josefsson.org>
34845
34846         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
34847         New variable.
34848
34849 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
34850
34851         filevercmp: handle simple~ and numbered.~3~ backup suffixes
34852         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
34853         * tests/test-filevercmp.c: Add tests for backup suffixes.
34854
34855 2009-03-24  Simon Josefsson  <simon@josefsson.org>
34856
34857         * modules/stdlib (Depends-on): Add stdint, needed when defining
34858         struct random_data on, for example, HP-UX 10.20.  Reported by
34859         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34860
34861 2009-03-24  Simon Josefsson  <simon@josefsson.org>
34862
34863         * lib/readline.c (readline): Call fflush on stdout after printing
34864         prompt.
34865
34866 2009-03-20  Bruno Haible  <bruno@clisp.org>
34867
34868         Remove dependency from 'close' module to -lws2_32 on native Windows.
34869         * lib/close-hook.h: New file.
34870         * lib/close-hook.c: New file.
34871         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
34872         w32sock.h.
34873         (_gl_close_fd_maybe_socket): Remove function.
34874         (rpl_close): Invoke execute_all_close_hooks instead of
34875         _gl_close_fd_maybe_socket.
34876         * lib/sockets.c: Include close-hook.h, w32sock.h.
34877         (close_fd_maybe_socket): New function, essentially from lib/close.c.
34878         (close_sockets_hook): New variable.
34879         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
34880         (gl_sockets_cleanup): Unregister it.
34881         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
34882         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
34883         * modules/close-hook: New file.
34884         * modules/close (Files): Remove lib/w32sock.h.
34885         (Depends-on): Add close-hook.
34886         (Link): Remove section.
34887         * modules/sockets (Files): Add lib/w32sock.h.
34888         (Depends-on): Add close-hook.
34889         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
34890         invocation.
34891         * NEWS: Mention that LIB_CLOSE is gone.
34892
34893 2009-03-23  Eric Blake  <ebb9@byu.net>
34894
34895         signal-tests: test previous patch
34896         * tests/test-signal.c: New file.
34897         * modules/signal-tests: Likewise.
34898
34899         signal.h: always support 'volatile sig_atomic_t'
34900         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
34901         (gl_SIGNAL_H_DEFAULTS): Add a default.
34902         * modules/signal (Makefile.am): Substitute if needed.
34903         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
34904         users can blindly add volatile.
34905         * doc/posix-headers/signal.texi (signal.h): Document it.
34906         Reported by Matthew Woehlke.
34907
34908 2009-03-23  Jim Meyering  <meyering@redhat.com>
34909
34910         pathmax: PATH_MAX: use pathconf only when available
34911         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
34912         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
34913         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
34914         This avoids a link failure in a PSP cross-compilation environment
34915         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
34916
34917         * lib/vasnprintf.c (divide): Fix typo in comment.
34918
34919 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34920
34921         * gnulib-tool (func_filter_filelist): Fix comment.
34922
34923 2009-03-20  Bruno Haible  <bruno@clisp.org>
34924
34925         Make sockets.h self-contained.
34926         * lib/sockets.c: Include sockets.h first.
34927         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
34928
34929 2009-03-19  Eric Blake  <ebb9@byu.net>
34930
34931         doc: mention more functions added in cygwin 1.7.0
34932         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
34933         addition.
34934         * doc/posix-functions/log2f.texi: Likewise.
34935
34936 2009-03-19  Jim Meyering  <meyering@redhat.com>
34937
34938         fsusage: avoid syntax error due to statement-before-declaration
34939         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
34940         after all declarations.  Reported by Matthew Woehlke in
34941         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
34942
34943 2009-03-18  Eric Blake  <ebb9@byu.net>
34944
34945         build-aux/compile: sync from automake
34946         * build-aux/compile: New file, from automake.
34947         * config/srclist.txt: Mention build-aux/compile.
34948
34949 2009-03-17  Bruno Haible  <bruno@clisp.org>
34950
34951         * lib/git-merge-changelog.c: Fix typo in comment.
34952         Reported by Reuben Thomas <rrt@sc3d.org>.
34953
34954 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
34955
34956         * m4/regex.m4: update and improve help for
34957         --without-included-regex.
34958
34959 2009-03-17  Simon Josefsson  <simon@josefsson.org>
34960
34961         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
34962         failure on missing include files.
34963
34964 2009-03-17  Eric Blake  <ebb9@byu.net>
34965
34966         doc: mention more functions added in cygwin 1.7.0
34967         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
34968         addition.
34969         * doc/posix-functions/fwscanf.texi: Likewise.
34970         * doc/posix-functions/swprintf.texi: Likewise.
34971         * doc/posix-functions/swscanf.texi: Likewise.
34972         * doc/posix-functions/vfwprintf.texi: Likewise.
34973         * doc/posix-functions/vfwscanf.texi: Likewise.
34974         * doc/posix-functions/vswprintf.texi: Likewise.
34975         * doc/posix-functions/vswscanf.texi: Likewise.
34976         * doc/posix-functions/vwprintf.texi: Likewise.
34977         * doc/posix-functions/vwscanf.texi: Likewise.
34978         * doc/posix-functions/wcscasecmp.texi: Likewise.
34979         * doc/posix-functions/wcsdup.texi: Likewise.
34980         * doc/posix-functions/wcsftime.texi: Likewise.
34981         * doc/posix-functions/wcsncasecmp.texi: Likewise.
34982         * doc/posix-functions/wprintf.texi: Likewise.
34983         * doc/posix-functions/wscanf.texi: Likewise.
34984         * doc/glibc-functions/gethostbyname2.texi: Likewise.
34985
34986 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34987
34988         maint.mk: really add $(AM_MAKEFLAGS)
34989         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
34990         was inadvertently omitted in the last commit.
34991         Spotted by Bruno Haible.
34992
34993         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
34994         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
34995         $(AM_MAKEFLAGS)' rather than plain `make'.
34996
34997         gnulib-tool: execute $MAKE not make
34998         * gnulib-tool: Default $MAKE to 'make'.
34999         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
35000         than make.  Initialize $MAKE in the do-autobuild script.
35001
35002         gnulib-tool: use $MAKE not make in generated files
35003         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
35004         make, in generated files.  Initialize $MAKE in the do-autobuild
35005         script.
35006
35007         * top/GNUmakefile (_have-git-version-gen): Fix typo.
35008
35009         GNUmakefile: disable parallelism only for multiple, recursive targets
35010         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
35011         additions in the Makefile.
35012         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
35013         by Automake.
35014         (.NOTPARALLEL): Only disable parallel builds if multiple targets
35015         are listed on the command line and at least one of them is
35016         listed in $(ALL_RECURSIVE_TARGETS).
35017
35018 2009-03-14  Bruno Haible  <bruno@clisp.org>
35019
35020         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
35021         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
35022         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
35023         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
35024         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
35025         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
35026         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
35027         unistr/u8-uctomb.
35028         * modules/unistr/u8-strchr (Depends-on): Likewise.
35029         * modules/unistr/u8-strrchr (Depends-on): Likewise.
35030         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
35031         unistr/u16-uctomb.
35032         * modules/unistr/u16-strchr (Depends-on): Likewise.
35033         * modules/unistr/u16-strrchr (Depends-on): Likewise.
35034
35035 2009-03-12  Bruno Haible  <bruno@clisp.org>
35036
35037         Work around select() bug on Interix 3.5.
35038         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
35039         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
35040         * m4/select.m4: New file.
35041         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
35042         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
35043         * modules/select (Files): Add m4/select.m4.
35044         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
35045         * modules/nanosleep (Depends-on): Add select.
35046         * modules/poll (Depends-on): Likewise.
35047         * doc/posix-functions/select.texi: Mention the Interix bug.
35048         Reported by Markus Duft <mduft@gentoo.org>.
35049
35050         * lib/select.c: Renamed from lib/winsock-select.c.
35051         * modules/select (Files): Add lib/select.c, remove
35052         lib/winsock-select.c.
35053         (configure.ac): Update.
35054
35055 2009-03-12  Jim Meyering  <meyering@redhat.com>
35056
35057         avoid gcc warnings about unused macro definitions
35058         * lib/readtokens.c (STREQ): Remove unused definition.
35059         * lib/xmalloc.c (SIZE_MAX): Likewise.
35060         * lib/openat-die.c (N_): Likewise.
35061         * lib/mountlist.c (SIZE_MAX): Remove definition.
35062         Instead, include <stdint.h>.
35063         * lib/readutmp.c: Likewise.
35064         * modules/readutmp (Depends-on): Add stdint.
35065         * modules/mountlist (Depends-on): Add stdint.
35066         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
35067
35068 2009-03-10  Bruno Haible  <bruno@clisp.org>
35069
35070         Tests for module 'mbmemcasecoll'.
35071         * modules/mbmemcasecoll-tests: New file.
35072         * tests/test-mbmemcasecoll1.sh: New file.
35073         * tests/test-mbmemcasecoll2.sh: New file.
35074         * tests/test-mbmemcasecoll3.sh: New file.
35075         * tests/test-mbmemcasecoll.c: New file.
35076
35077         New module 'mbmemcasecoll'.
35078         * lib/mbmemcasecoll.h: New file.
35079         * lib/mbmemcasecoll.c: New file.
35080         * modules/mbmemcasecoll: New file.
35081
35082         * tests/test-mbmemcasecmp.h: New file, extracted from
35083         tests/test-mbmemcasecmp.c.
35084         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
35085         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
35086         (main): Update.
35087         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
35088
35089 2009-03-09  Bruno Haible  <bruno@clisp.org>
35090
35091         Tests for module 'mbmemcasecmp'.
35092         * modules/mbmemcasecmp-tests: New file.
35093         * tests/test-mbmemcasecmp1.sh: New file.
35094         * tests/test-mbmemcasecmp2.sh: New file.
35095         * tests/test-mbmemcasecmp3.sh: New file.
35096         * tests/test-mbmemcasecmp.c: New file.
35097
35098         New module 'mbmemcasecmp'.
35099         * lib/mbmemcasecmp.h: New file.
35100         * lib/mbmemcasecmp.c: New file.
35101         * modules/mbmemcasecmp: New file.
35102
35103 2009-03-09  Bruno Haible  <bruno@clisp.org>
35104
35105         Tests for module 'unicase/ulc-casecoll'.
35106         * modules/unicase/ulc-casecoll-tests: New file.
35107         * tests/unicase/test-ulc-casecoll1.sh: New file.
35108         * tests/unicase/test-ulc-casecoll2.sh: New file.
35109         * tests/unicase/test-ulc-casecoll.c: New file.
35110
35111         New module 'unicase/ulc-casecoll'.
35112         * lib/unicase.h (ulc_casecoll): New declaration.
35113         * lib/unicase/ulc-casecoll.c: New file.
35114         * modules/unicase/ulc-casecoll: New file.
35115
35116         New module 'unicase/ulc-casexfrm'.
35117         * lib/unicase.h (ulc_casexfrm): New declaration.
35118         * lib/unicase/ulc-casexfrm.c: New file.
35119         * modules/unicase/ulc-casexfrm: New file.
35120
35121 2009-03-09  Bruno Haible  <bruno@clisp.org>
35122
35123         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
35124         invocations.
35125
35126         * m4/mbscasecmp.m4: Remove file.
35127         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
35128         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
35129
35130         * m4/mbscasestr.m4: Remove file.
35131         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
35132         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
35133
35134         * m4/mbschr.m4: Remove file.
35135         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
35136         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
35137
35138         * m4/mbscspn.m4: Remove file.
35139         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
35140         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
35141
35142         * m4/mbslen.m4: Remove file.
35143         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
35144         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
35145
35146         * m4/mbsncasecmp.m4: Remove file.
35147         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
35148         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
35149
35150         * m4/mbsnlen.m4: Remove file.
35151         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
35152         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
35153
35154         * m4/mbspbrk.m4: Remove file.
35155         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
35156         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
35157
35158         * m4/mbspcasecmp.m4: Remove file.
35159         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
35160         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
35161
35162         * m4/mbsrchr.m4: Remove file.
35163         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
35164         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
35165
35166         * m4/mbssep.m4: Remove file.
35167         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
35168         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
35169
35170         * m4/mbsspn.m4: Remove file.
35171         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
35172         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
35173
35174         * m4/mbsstr.m4: Remove file.
35175         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
35176         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
35177
35178         * m4/mbstok_r.m4: Remove file.
35179         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
35180         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
35181
35182         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
35183
35184         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
35185         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
35186
35187         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
35188
35189 2009-03-08  Bruno Haible  <bruno@clisp.org>
35190
35191         Tests for module 'unicase/ulc-casecmp'.
35192         * modules/unicase/ulc-casecmp-tests: New file.
35193         * tests/unicase/test-ulc-casecmp1.sh: New file.
35194         * tests/unicase/test-ulc-casecmp2.sh: New file.
35195         * tests/unicase/test-ulc-casecmp.c: New file.
35196
35197         New module 'unicase/ulc-casecmp'.
35198         * lib/unicase.h (ulc_casecmp): New declaration.
35199         * lib/unicase/ulc-casecmp.c: New file.
35200         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
35201         'const SRC_UNIT *'.
35202         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
35203         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
35204         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
35205         * modules/unicase/ulc-casecmp: New file.
35206
35207         Tests for module 'unicase/u32-is-cased'.
35208         * modules/unicase/u32-is-cased-tests: New file.
35209         * tests/unicase/test-u32-is-cased.c: New file.
35210
35211         Tests for module 'unicase/u16-is-cased'.
35212         * modules/unicase/u16-is-cased-tests: New file.
35213         * tests/unicase/test-u16-is-cased.c: New file.
35214
35215         Tests for module 'unicase/u8-is-cased'.
35216         * modules/unicase/u8-is-cased-tests: New file.
35217         * tests/unicase/test-u8-is-cased.c: New file.
35218         * tests/unicase/test-is-cased.h: New file.
35219
35220         New module 'unicase/u32-is-cased'.
35221         * lib/unicase/u32-is-cased.c: New file.
35222         * modules/unicase/u32-is-cased: New file.
35223
35224         New module 'unicase/u16-is-cased'.
35225         * lib/unicase/u16-is-cased.c: New file.
35226         * modules/unicase/u16-is-cased: New file.
35227
35228         New module 'unicase/u8-is-cased'.
35229         * lib/unicase/u8-is-cased.c: New file.
35230         * lib/unicase/u-is-cased.h: New file.
35231         * modules/unicase/u8-is-cased: New file.
35232
35233         Tests for module 'unicase/u32-is-casefolded'.
35234         * modules/unicase/u32-is-casefolded-tests: New file.
35235         * tests/unicase/test-u32-is-casefolded.c: New file.
35236
35237         Tests for module 'unicase/u16-is-casefolded'.
35238         * modules/unicase/u16-is-casefolded-tests: New file.
35239         * tests/unicase/test-u16-is-casefolded.c: New file.
35240
35241         Tests for module 'unicase/u8-is-casefolded'.
35242         * modules/unicase/u8-is-casefolded-tests: New file.
35243         * tests/unicase/test-u8-is-casefolded.c: New file.
35244         * tests/unicase/test-is-casefolded.h: New file.
35245
35246         New module 'unicase/u32-is-casefolded'.
35247         * lib/unicase/u32-is-casefolded.c: New file.
35248         * modules/unicase/u32-is-casefolded: New file.
35249
35250         New module 'unicase/u16-is-casefolded'.
35251         * lib/unicase/u16-is-casefolded.c: New file.
35252         * modules/unicase/u16-is-casefolded: New file.
35253
35254         New module 'unicase/u8-is-casefolded'.
35255         * lib/unicase/u8-is-casefolded.c: New file.
35256         * modules/unicase/u8-is-casefolded: New file.
35257
35258         Tests for module 'unicase/u32-is-titlecase'.
35259         * modules/unicase/u32-is-titlecase-tests: New file.
35260         * tests/unicase/test-u32-is-titlecase.c: New file.
35261
35262         Tests for module 'unicase/u16-is-titlecase'.
35263         * modules/unicase/u16-is-titlecase-tests: New file.
35264         * tests/unicase/test-u16-is-titlecase.c: New file.
35265
35266         Tests for module 'unicase/u8-is-titlecase'.
35267         * modules/unicase/u8-is-titlecase-tests: New file.
35268         * tests/unicase/test-u8-is-titlecase.c: New file.
35269         * tests/unicase/test-is-titlecase.h: New file.
35270
35271         New module 'unicase/u32-is-titlecase'.
35272         * lib/unicase/u32-is-titlecase.c: New file.
35273         * modules/unicase/u32-is-titlecase: New file.
35274
35275         New module 'unicase/u16-is-titlecase'.
35276         * lib/unicase/u16-is-titlecase.c: New file.
35277         * modules/unicase/u16-is-titlecase: New file.
35278
35279         New module 'unicase/u8-is-titlecase'.
35280         * lib/unicase/u8-is-titlecase.c: New file.
35281         * modules/unicase/u8-is-titlecase: New file.
35282
35283         Tests for module 'unicase/u32-is-lowercase'.
35284         * modules/unicase/u32-is-lowercase-tests: New file.
35285         * tests/unicase/test-u32-is-lowercase.c: New file.
35286
35287         Tests for module 'unicase/u16-is-lowercase'.
35288         * modules/unicase/u16-is-lowercase-tests: New file.
35289         * tests/unicase/test-u16-is-lowercase.c: New file.
35290
35291         Tests for module 'unicase/u8-is-lowercase'.
35292         * modules/unicase/u8-is-lowercase-tests: New file.
35293         * tests/unicase/test-u8-is-lowercase.c: New file.
35294         * tests/unicase/test-is-lowercase.h: New file.
35295
35296         New module 'unicase/u32-is-lowercase'.
35297         * lib/unicase/u32-is-lowercase.c: New file.
35298         * modules/unicase/u32-is-lowercase: New file.
35299
35300         New module 'unicase/u16-is-lowercase'.
35301         * lib/unicase/u16-is-lowercase.c: New file.
35302         * modules/unicase/u16-is-lowercase: New file.
35303
35304         New module 'unicase/u8-is-lowercase'.
35305         * lib/unicase/u8-is-lowercase.c: New file.
35306         * modules/unicase/u8-is-lowercase: New file.
35307
35308         Tests for module 'unicase/u32-is-uppercase'.
35309         * modules/unicase/u32-is-uppercase-tests: New file.
35310         * tests/unicase/test-u32-is-uppercase.c: New file.
35311
35312         Tests for module 'unicase/u16-is-uppercase'.
35313         * modules/unicase/u16-is-uppercase-tests: New file.
35314         * tests/unicase/test-u16-is-uppercase.c: New file.
35315
35316         Tests for module 'unicase/u8-is-uppercase'.
35317         * modules/unicase/u8-is-uppercase-tests: New file.
35318         * tests/unicase/test-u8-is-uppercase.c: New file.
35319         * tests/unicase/test-is-uppercase.h: New file.
35320
35321         New module 'unicase/u32-is-uppercase'.
35322         * lib/unicase/u32-is-uppercase.c: New file.
35323         * modules/unicase/u32-is-uppercase: New file.
35324
35325         New module 'unicase/u16-is-uppercase'.
35326         * lib/unicase/u16-is-uppercase.c: New file.
35327         * modules/unicase/u16-is-uppercase: New file.
35328
35329         New module 'unicase/u8-is-uppercase'.
35330         * lib/unicase/u8-is-uppercase.c: New file.
35331         * modules/unicase/u8-is-uppercase: New file.
35332
35333         New module 'unicase/u32-is-invariant'.
35334         * lib/unicase/u32-is-invariant.c: New file.
35335         * modules/unicase/u32-is-invariant: New file.
35336
35337         New module 'unicase/u16-is-invariant'.
35338         * lib/unicase/u16-is-invariant.c: New file.
35339         * modules/unicase/u16-is-invariant: New file.
35340
35341         New module 'unicase/u8-is-invariant'.
35342         * lib/unicase/u8-is-invariant.c: New file.
35343         * lib/unicase/invariant.h: New file.
35344         * lib/unicase/u-is-invariant.h: New file.
35345         * modules/unicase/u8-is-invariant: New file.
35346
35347         Tests for module 'unicase/u32-casecoll'.
35348         * modules/unicase/u32-casecoll-tests: New file.
35349         * tests/unicase/test-u32-casecoll.c: New file.
35350
35351         Tests for module 'unicase/u16-casecoll'.
35352         * modules/unicase/u16-casecoll-tests: New file.
35353         * tests/unicase/test-u16-casecoll.c: New file.
35354
35355         Tests for module 'unicase/u8-casecoll'.
35356         * modules/unicase/u8-casecoll-tests: New file.
35357         * tests/unicase/test-u8-casecoll.c: New file.
35358
35359         New module 'unicase/u32-casecoll'.
35360         * lib/unicase/u32-casecoll.c: New file.
35361         * modules/unicase/u32-casecoll: New file.
35362
35363         New module 'unicase/u16-casecoll'.
35364         * lib/unicase/u16-casecoll.c: New file.
35365         * modules/unicase/u16-casecoll: New file.
35366
35367         New module 'unicase/u8-casecoll'.
35368         * lib/unicase/u8-casecoll.c: New file.
35369         * lib/unicase/u-casecoll.h: New file.
35370         * modules/unicase/u8-casecoll: New file.
35371
35372         New module 'unicase/u32-casexfrm'.
35373         * lib/unicase/u32-casexfrm.c: New file.
35374         * modules/unicase/u32-casexfrm: New file.
35375
35376         New module 'unicase/u16-casexfrm'.
35377         * lib/unicase/u16-casexfrm.c: New file.
35378         * modules/unicase/u16-casexfrm: New file.
35379
35380         New module 'unicase/u8-casexfrm'.
35381         * lib/unicase/u8-casexfrm.c: New file.
35382         * lib/unicase/u-casexfrm.h: New file.
35383         * modules/unicase/u8-casexfrm: New file.
35384
35385         Tests for module 'unicase/u32-casecmp'.
35386         * modules/unicase/u32-casecmp-tests: New file.
35387         * tests/unicase/test-u32-casecmp.c: New file.
35388
35389         Tests for module 'unicase/u16-casecmp'.
35390         * modules/unicase/u16-casecmp-tests: New file.
35391         * tests/unicase/test-u16-casecmp.c: New file.
35392
35393         Tests for module 'unicase/u8-casecmp'.
35394         * modules/unicase/u8-casecmp-tests: New file.
35395         * tests/unicase/test-u8-casecmp.c: New file.
35396         * tests/unicase/test-casecmp.h: New file.
35397
35398         New module 'unicase/u32-casecmp'.
35399         * lib/unicase/u32-casecmp.c: New file.
35400         * modules/unicase/u32-casecmp: New file.
35401
35402         New module 'unicase/u16-casecmp'.
35403         * lib/unicase/u16-casecmp.c: New file.
35404         * modules/unicase/u16-casecmp: New file.
35405
35406         New module 'unicase/u8-casecmp'.
35407         * lib/unicase/u8-casecmp.c: New file.
35408         * lib/unicase/u-casecmp.h: New file.
35409         * modules/unicase/u8-casecmp: New file.
35410
35411         Tests for module 'unicase/u32-casefold'.
35412         * modules/unicase/u32-casefold-tests: New file.
35413         * tests/unicase/test-u32-casefold.c: New file.
35414
35415         Tests for module 'unicase/u16-casefold'.
35416         * modules/unicase/u16-casefold-tests: New file.
35417         * tests/unicase/test-u16-casefold.c: New file.
35418
35419         Tests for module 'unicase/u8-casefold'.
35420         * modules/unicase/u8-casefold-tests: New file.
35421         * tests/unicase/test-u8-casefold.c: New file.
35422
35423         New module 'unicase/u32-casefold'.
35424         * lib/unicase/u32-casefold.c: New file.
35425         * modules/unicase/u32-casefold: New file.
35426
35427         New module 'unicase/u16-casefold'.
35428         * lib/unicase/u16-casefold.c: New file.
35429         * modules/unicase/u16-casefold: New file.
35430
35431         New module 'unicase/u8-casefold'.
35432         * lib/unicase/u8-casefold.c: New file.
35433         * lib/unicase/u-casefold.h: New file.
35434         * modules/unicase/u8-casefold: New file.
35435
35436         New module 'unicase/tocasefold'.
35437         * lib/unicase/casefold.h: New file.
35438         * lib/unicase/tocasefold.c: New file.
35439         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
35440         * modules/unicase/tocasefold: New file.
35441
35442         Tests for module 'unicase/u32-totitle'.
35443         * modules/unicase/u32-totitle-tests: New file.
35444         * tests/unicase/test-u32-totitle.c: New file.
35445
35446         Tests for module 'unicase/u16-totitle'.
35447         * modules/unicase/u16-totitle-tests: New file.
35448         * tests/unicase/test-u16-totitle.c: New file.
35449
35450         Tests for module 'unicase/u8-totitle'.
35451         * modules/unicase/u8-totitle-tests: New file.
35452         * tests/unicase/test-u8-totitle.c: New file.
35453
35454         New module 'unicase/u32-totitle'.
35455         * lib/unicase/u32-totitle.c: New file.
35456         * modules/unicase/u32-totitle: New file.
35457
35458         New module 'unicase/u16-totitle'.
35459         * lib/unicase/u16-totitle.c: New file.
35460         * modules/unicase/u16-totitle: New file.
35461
35462         New module 'unicase/u8-totitle'.
35463         * lib/unicase/u8-totitle.c: New file.
35464         * lib/unicase/u-totitle.h: New file.
35465         * modules/unicase/u8-totitle: New file.
35466
35467         Tests for module 'unicase/u32-tolower'.
35468         * modules/unicase/u32-tolower-tests: New file.
35469         * tests/unicase/test-u32-tolower.c: New file.
35470
35471         Tests for module 'unicase/u16-tolower'.
35472         * modules/unicase/u16-tolower-tests: New file.
35473         * tests/unicase/test-u16-tolower.c: New file.
35474
35475         Tests for module 'unicase/u8-tolower'.
35476         * modules/unicase/u8-tolower-tests: New file.
35477         * tests/unicase/test-u8-tolower.c: New file.
35478
35479         New module 'unicase/u32-tolower'.
35480         * lib/unicase/u32-tolower.c: New file.
35481         * modules/unicase/u32-tolower: New file.
35482
35483         New module 'unicase/u16-tolower'.
35484         * lib/unicase/u16-tolower.c: New file.
35485         * modules/unicase/u16-tolower: New file.
35486
35487         New module 'unicase/u8-tolower'.
35488         * lib/unicase/u8-tolower.c: New file.
35489         * modules/unicase/u8-tolower: New file.
35490
35491         Tests for module 'unicase/u32-toupper'.
35492         * modules/unicase/u32-toupper-tests: New file.
35493         * tests/unicase/test-u32-toupper.c: New file.
35494
35495         Tests for module 'unicase/u16-toupper'.
35496         * modules/unicase/u16-toupper-tests: New file.
35497         * tests/unicase/test-u16-toupper.c: New file.
35498
35499         Tests for module 'unicase/u8-toupper'.
35500         * modules/unicase/u8-toupper-tests: New file.
35501         * tests/unicase/test-u8-toupper.c: New file.
35502
35503         New module 'unicase/u32-toupper'.
35504         * lib/unicase/u32-toupper.c: New file.
35505         * modules/unicase/u32-toupper: New file.
35506
35507         New module 'unicase/u16-toupper'.
35508         * lib/unicase/u16-toupper.c: New file.
35509         * modules/unicase/u16-toupper: New file.
35510
35511         New module 'unicase/u8-toupper'.
35512         * lib/unicase/u8-toupper.c: New file.
35513         * modules/unicase/u8-toupper: New file.
35514
35515         New module 'unicase/u32-casemap'.
35516         * lib/unicase/u32-casemap.c: New file.
35517         * modules/unicase/u32-casemap: New file.
35518
35519         New module 'unicase/u16-casemap'.
35520         * lib/unicase/u16-casemap.c: New file.
35521         * modules/unicase/u16-casemap: New file.
35522
35523         New module 'unicase/u8-casemap'.
35524         * lib/unicase/unicasemap.h: New file.
35525         * lib/unicase/u8-casemap.c: New file.
35526         * lib/unicase/u-casemap.h: New file.
35527         * modules/unicase/u8-casemap: New file.
35528
35529         New module 'unicase/special-casing'.
35530         * lib/unicase/special-casing.h: New file.
35531         * lib/unicase/special-casing.c: New file.
35532         * lib/unicase/special-casing-table.gperf: New file, generated by
35533         gen-uni-tables.c.
35534         * modules/unicase/special-casing: New file.
35535
35536         Tests for module 'unicase/locale-language'.
35537         * modules/unicase/locale-language-tests: New file.
35538         * tests/unicase/test-locale-language.sh: New file.
35539         * tests/unicase/test-locale-language.c: New file.
35540
35541         New module 'unicase/locale-language'.
35542         * lib/unicase/locale-language.c: New file.
35543         * lib/unicase/locale-languages.gperf: New file.
35544         * modules/unicase/locale-language: New file.
35545
35546         Generate more tables for case conversion and case folding.
35547         * lib/gen-uni-tables.c (SCC_*): New enum items.
35548         (struct special_casing_rule): New type.
35549         (casing_rules, num_casing_rules, allocated_casing_rules): New
35550         variables.
35551         (add_casing_rule, fill_casing_rules): New functions.
35552         (struct casefold_rule): New type.
35553         (casefolding_rules, num_casefolding_rules,
35554         allocated_casefolding_rules): New variables.
35555         (fill_casefolding_rules): New function.
35556         (unicode_casefold): New variable.
35557         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
35558         sort_casing_rules, output_casing_rules): New functions.
35559         (main): Accept to more arguments: SpecialCasing.txt and
35560         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
35561         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
35562         Output mapping for casefolding.
35563
35564         * lib/unicase.h: Include stdbool.h, uninorm.h.
35565         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
35566         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
35567         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
35568         arguments.
35569         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
35570         resultp arguments.
35571         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
35572         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
35573         resultp arguments.
35574         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
35575         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
35576         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
35577         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
35578         declarations.
35579         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
35580
35581 2009-03-08  Bruno Haible  <bruno@clisp.org>
35582
35583         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
35584         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
35585         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
35586         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
35587
35588 2009-03-07  Bruno Haible  <bruno@clisp.org>
35589
35590         Adjust u*_normcmp, u*_normcoll API.
35591         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
35592         u16_normcoll, u32_normcoll): Change failure conventions.
35593         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
35594         errno and return -1.
35595         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
35596
35597 2009-03-07  Bruno Haible  <bruno@clisp.org>
35598
35599         Tests for module 'uninorm/u32-normcoll'.
35600         * modules/uninorm/u32-normcoll-tests: New file.
35601         * tests/uninorm/test-u32-normcoll.c: New file.
35602
35603         Tests for module 'uninorm/u16-normcoll'.
35604         * modules/uninorm/u16-normcoll-tests: New file.
35605         * tests/uninorm/test-u16-normcoll.c: New file.
35606
35607         Tests for module 'uninorm/u8-normcoll'.
35608         * modules/uninorm/u8-normcoll-tests: New file.
35609         * tests/uninorm/test-u8-normcoll.c: New file.
35610
35611 2009-03-07  Bruno Haible  <bruno@clisp.org>
35612
35613         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
35614         tests/uninorm/test-u32-normcmp.c.
35615         * tests/uninorm/test-u32-normcmp.c: Include it.
35616         (test_nonascii): New function, extracted from main. Add some more
35617         tests.
35618         (main): Invoke test_ascii and test_nonascii.
35619         * modules/uninorm/u32-normcmp-tests (Files): Add
35620         tests/uninorm/test-u32-normcmp.h.
35621         (Depends-on): Remove uninorm/u32-normcmp.
35622
35623         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
35624         tests/uninorm/test-u16-normcmp.c.
35625         * tests/uninorm/test-u16-normcmp.c: Include it.
35626         (test_nonascii): New function, extracted from main. Add some more
35627         tests.
35628         (main): Invoke test_ascii and test_nonascii.
35629         * modules/uninorm/u16-normcmp-tests (Files): Add
35630         tests/uninorm/test-u16-normcmp.h.
35631         (Depends-on): Remove uninorm/u16-normcmp.
35632
35633         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
35634         tests/uninorm/test-u8-normcmp.c.
35635         * tests/uninorm/test-u8-normcmp.c: Include it.
35636         (test_nonascii): New function, extracted from main. Add some more
35637         tests.
35638         (main): Invoke test_ascii and test_nonascii.
35639         * modules/uninorm/u8-normcmp-tests (Files): Add
35640         tests/uninorm/test-u8-normcmp.h.
35641         (Depends-on): Remove uninorm/u8-normcmp.
35642
35643 2009-03-07  Bruno Haible  <bruno@clisp.org>
35644
35645         New module 'uninorm/u32-normcoll'.
35646         * lib/uninorm/u32-normcoll.c: New file.
35647         * modules/uninorm/u32-normcoll: New file.
35648
35649         New module 'uninorm/u16-normcoll'.
35650         * lib/uninorm/u16-normcoll.c: New file.
35651         * modules/uninorm/u16-normcoll: New file.
35652
35653         New module 'uninorm/u8-normcoll'.
35654         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
35655         declarations.
35656         * lib/uninorm/u8-normcoll.c: New file.
35657         * lib/uninorm/u-normcoll.h: New file.
35658         * modules/uninorm/u8-normcoll: New file.
35659
35660         New module 'uninorm/u32-normxfrm'.
35661         * lib/uninorm/u32-normxfrm.c: New file.
35662         * modules/uninorm/u32-normxfrm: New file.
35663
35664         New module 'uninorm/u16-normxfrm'.
35665         * lib/uninorm/u16-normxfrm.c: New file.
35666         * modules/uninorm/u16-normxfrm: New file.
35667
35668         New module 'uninorm/u8-normxfrm'.
35669         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
35670         declarations.
35671         * lib/uninorm/u8-normxfrm.c: New file.
35672         * lib/uninorm/u-normxfrm.h: New file.
35673         * modules/uninorm/u8-normxfrm: New file.
35674
35675 2009-03-07  Bruno Haible  <bruno@clisp.org>
35676
35677         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
35678         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
35679         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
35680
35681 2009-03-07  Bruno Haible  <bruno@clisp.org>
35682
35683         New module 'memxfrm'.
35684         * lib/memxfrm.h: New file.
35685         * lib/memxfrm.c: New file.
35686         * modules/memxfrm: New file.
35687
35688 2009-03-07  Bruno Haible  <bruno@clisp.org>
35689
35690         New module 'memcmp2'.
35691         * lib/memcmp2.h: New file.
35692         * lib/memcmp2.c: New file.
35693         * modules/memcmp2: New file.
35694
35695 2009-03-07  Bruno Haible  <bruno@clisp.org>
35696
35697         Tests for module 'uninorm/decomposing-form'.
35698         * modules/uninorm/decomposing-form-tests: New file.
35699         * tests/uninorm/test-decomposing-form.c: New file.
35700
35701         New module 'uninorm/decomposing-form'.
35702         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
35703         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
35704         Add 'decomposing_variant' field.
35705         * lib/uninorm/decomposing-form.c: New file.
35706         * lib/uninorm/nfc.c (uninorm_nfc): Update.
35707         * lib/uninorm/nfd.c (uninorm_nfd): Update.
35708         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
35709         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
35710         * modules/uninorm/decomposing-form: New file.
35711         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
35712         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
35713
35714 2009-03-07  Bruno Haible  <bruno@clisp.org>
35715
35716         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
35717         strings.
35718
35719 2009-03-06  Bruno Haible  <bruno@clisp.org>
35720
35721         Tests for module 'uninorm/u32-normcmp'.
35722         * tests/uninorm/test-u32-normcmp.c: New file.
35723         * modules/uninorm/u32-normcmp-tests: New file.
35724
35725         Tests for module 'uninorm/u16-normcmp'.
35726         * tests/uninorm/test-u16-normcmp.c: New file.
35727         * modules/uninorm/u16-normcmp-tests: New file.
35728
35729         Tests for module 'uninorm/u8-normcmp'.
35730         * tests/uninorm/test-u8-normcmp.c: New file.
35731         * modules/uninorm/u8-normcmp-tests: New file.
35732
35733         New module 'uninorm/u32-normcmp'.
35734         * lib/uninorm/u32-normcmp.c: New file.
35735         * modules/uninorm/u32-normcmp: New file.
35736
35737         New module 'uninorm/u16-normcmp'.
35738         * lib/uninorm/u16-normcmp.c: New file.
35739         * modules/uninorm/u16-normcmp: New file.
35740
35741         New module 'uninorm/u8-normcmp'.
35742         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
35743         declarations.
35744         * lib/uninorm/u8-normcmp.c: New file.
35745         * lib/uninorm/u-normcmp.h: New file.
35746         * modules/uninorm/u8-normcmp: New file.
35747
35748 2009-03-06  Bruno Haible  <bruno@clisp.org>
35749
35750         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
35751         Reported by Eric Blake.
35752
35753 2009-03-06  Eric Blake  <ebb9@byu.net>
35754             Bruno Haible  <bruno@clisp.org>
35755
35756         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
35757         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
35758         condition.
35759         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
35760         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
35761         condition.
35762         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
35763
35764 2009-03-06  Eric Blake  <ebb9@byu.net>
35765
35766         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
35767         to avoid compiler warnings.
35768         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
35769
35770 2009-03-05  Bruno Haible  <bruno@clisp.org>
35771
35772         * tests/test-ftell.c (main): Disable test beyond end of file on
35773         FreeMiNT.
35774         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
35775
35776 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
35777
35778         * lib/filevercmp.c: Move hidden files up in ordering.
35779         * tests/test-filevercmp.c: Add tests for hidden files.
35780
35781 2009-03-04  Bruno Haible  <bruno@clisp.org>
35782
35783         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
35784         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
35785         AM_CFLAGS.
35786         Reported by Simon Josefsson.
35787
35788 2009-03-03  Bruno Haible  <bruno@clisp.org>
35789
35790         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
35791         Reported by Simon Josefsson.
35792
35793         * doc/ld-version-script.texi: Update node reference.
35794
35795 2009-03-03  Bruno Haible  <bruno@clisp.org>
35796
35797         * modules/visibility (License): Change to 'unlimited'.
35798         Suggested by Simon Josefsson.
35799
35800 2009-03-03  Jim Meyering  <meyering@redhat.com>
35801
35802         unlinkdir: cannot_unlink_dir may modify process state
35803         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
35804         it's neither thread-safe nor appropriate for use in a library.
35805
35806 2009-03-03  Eric Blake  <ebb9@byu.net>
35807
35808         test-closein: silence test under Darwin
35809         * tests/test-closein.sh: Ignore stderr from cat, since we don't
35810         care if it dies from EPIPE or EBADF.
35811
35812 2009-03-03  Bruno Haible  <bruno@clisp.org>
35813
35814         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
35815         earlier.
35816         * doc/visibility.texi: Fix @node and @section.
35817
35818 2009-03-03  Simon Josefsson  <simon@josefsson.org>
35819
35820         * doc/gnulib.texi: Link to sections for ld version script and
35821         visibility.
35822         * doc/visibility.texi: Add @node and @section.
35823         * modules/ld-version-script: New module.
35824         * m4/ld-version-script.m4: New file.
35825         * doc/ld-version-script.texi: New file.
35826
35827 2009-03-02  David Lutterkort  <lutter@redhat.com>
35828
35829         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
35830         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35831
35832 2009-03-02  Bruno Haible  <bruno@clisp.org>
35833
35834         * doc/visibility.texi: Mention libtool's -export-symbols option.
35835
35836 2009-03-02  Jim Meyering  <meyering@redhat.com>
35837
35838         announce-gen: new option: --no-print-checksums
35839         * build-aux/announce-gen (usage): Describe it.
35840         (print_checksums): Print a newline here, not in the [*] footnote.
35841         (main): Honor it.
35842
35843 2009-03-01  Bruno Haible  <bruno@clisp.org>
35844
35845         Use socklen_t in the native Windows replacements prototypes.
35846         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
35847         instead of 'int'.
35848         * lib/getsockopt.c (rpl_getsockopt): Likewise.
35849         * lib/setsockopt.c (rpl_setsockopt): Likewise.
35850         * modules/getsockopt (Depends-on): Add socklen.
35851         * modules/setsockopt (Depends-on): Add socklen.
35852
35853 2009-03-01  Bruno Haible  <bruno@clisp.org>
35854
35855         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
35856         least 4.2.
35857
35858 2009-03-01  Eric Blake  <ebb9@byu.net>
35859             Bruno Haible  <bruno@clisp.org>
35860
35861         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
35862         error messages.
35863         * lib/wait-process.c (wait_subprocess): Omit error message about
35864         deadly signal sent to the child of termsigp != NULL.
35865
35866 2009-03-01  Eric Blake  <ebb9@byu.net>
35867
35868         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
35869
35870 2009-03-01  Bruno Haible  <bruno@clisp.org>
35871
35872         Avoid a gcc warning.
35873         * tests/test-sched.c (b): Make global.
35874         Reported by Eric Blake.
35875
35876 2009-01-19  Martin Lambers  <marlam@marlam.de>
35877
35878         Provide POSIX semantics for socket timeout options on W32.
35879         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
35880         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
35881         * modules/setsockopt: Depend on sys_time module for struct timeval.
35882         * modules/getsockopt: Depend on sys_time module for struct timeval.
35883
35884 2009-03-01  Simon Josefsson  <simon@josefsson.org>
35885
35886         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
35887         __USE_GNU, for consistency with netdb.in.h.
35888         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35889
35890 2009-03-01  Bruno Haible  <bruno@clisp.org>
35891
35892         More support for FreeMiNT.
35893         * lib/fseeko.c (rpl_fseeko): Complete last commit.
35894         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35895
35896 2009-03-01  Bruno Haible  <bruno@clisp.org>
35897
35898         More support for FreeMiNT.
35899         * lib/fpurge.c (fpurge): Correct last commit.
35900         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35901
35902 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35903
35904         Fix unportable awk script in vc-list-files.
35905         * build-aux/vc-list-files: In the replacement awk script, use
35906         substr with a second argument of 1, not zero.
35907         Report by Simon Josefsson.
35908
35909 2009-02-28  Bruno Haible  <bruno@clisp.org>
35910
35911         More support for FreeMiNT.
35912         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
35913         to FreeMiNT today.
35914         * lib/fwriting.c (fwriting): Likewise.
35915         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
35916
35917 2009-02-28  Bruno Haible  <bruno@clisp.org>
35918
35919         * tests/test-freadseek.c (main): Disable test beyond end of file on
35920         FreeMiNT.
35921         * tests/test-ftello.c (main): Likewise.
35922         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
35923
35924 2009-02-28  Bruno Haible  <bruno@clisp.org>
35925
35926         Add tentative support for FreeMiNT.
35927         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
35928         * lib/fpurge.c (fpurge): Likewise.
35929         * lib/freadable.c (freadable): Likewise.
35930         * lib/freading.c (freading): Likewise.
35931         * lib/freadptr.c (freadptr): Likewise.
35932         * lib/freadseek.c (freadptrinc): Likewise.
35933         * lib/fseeko.c (rpl_fseeko): Likewise.
35934         * lib/fseterr.c (fseterr): Likewise.
35935         * lib/fwritable.c (fwritable): Likewise.
35936         * lib/fwriting.c (fwriting): Likewise.
35937         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
35938         Hourihane.
35939         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
35940
35941 2009-02-28  Bruno Haible  <bruno@clisp.org>
35942
35943         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
35944         SIGCHLD.
35945         Reported by Jim Meyering.
35946
35947 2009-02-28  Bruno Haible  <bruno@clisp.org>
35948
35949         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
35950         Mention the results of these tests on various platforms.
35951         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
35952         order.
35953         * doc/posix-functions/printf.texi: Likewise.
35954         * doc/posix-functions/snprintf.texi: Likewise.
35955         * doc/posix-functions/sprintf.texi: Likewise.
35956         * doc/posix-functions/vfprintf.texi: Likewise.
35957         * doc/posix-functions/vprintf.texi: Likewise.
35958         * doc/posix-functions/vsnprintf.texi: Likewise.
35959         * doc/posix-functions/vsprintf.texi: Likewise.
35960         * doc/glibc-functions/obstack_printf.texi: Likewise.
35961         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
35962
35963 2009-02-28  Bruno Haible  <bruno@clisp.org>
35964
35965         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
35966         Reported by Loïc Minier <lool@dooz.org>.
35967
35968 2009-02-27  Bruno Haible  <bruno@clisp.org>
35969
35970         * gnulib-tool (func_import): Make the sed expression used to create the
35971         sed script for updating the .gitignore file POSIX compliant.
35972         Reported by Eric Blake.
35973
35974 2009-02-27  Bruno Haible  <bruno@clisp.org>
35975
35976         * gnulib-tool (sed): Don't alias as "sed --posix".
35977         Reported by Eric Blake.
35978
35979 2009-02-27  Bruno Haible  <bruno@clisp.org>
35980
35981         Avoid test link errors.
35982         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
35983         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
35984         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
35985         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
35986         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35987
35988 2009-02-27  Bruno Haible  <bruno@clisp.org>
35989
35990         Avoid spurious "(cached)" in configure output.
35991         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
35992         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
35993         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
35994         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
35995         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
35996         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
35997         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
35998         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
35999         Reported by Eric Blake.
36000
36001 2009-02-27  Eric Blake  <ebb9@byu.net>
36002
36003         printf: fix regression in previous patch
36004         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
36005
36006 2009-02-27  Bruno Haible  <bruno@clisp.org>
36007
36008         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
36009         value.
36010         * lib/stdint.in.h: Likewise.
36011         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
36012
36013 2009-02-27  Eric Blake  <ebb9@byu.net>
36014
36015         doc: mention more functions added in cygwin 1.7.0
36016         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
36017         addition.
36018         * doc/posix-functions/open_wmemstream.texi: Likewise.
36019         * doc/posix-functions/wcsnlen.texi: Likewise.
36020         * doc/posix-functions/wcsnrtombs.texi: Likewise.
36021         * doc/posix-functions/wcstod.texi: Likewise.
36022         * doc/posix-functions/wcstof.texi: Likewise.
36023         * doc/posix-functions/wcstoimax.texi: Likewise.
36024         * doc/posix-functions/wcstok.texi: Likewise.
36025         * doc/posix-functions/wcstoumax.texi: Likewise.
36026
36027         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
36028         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
36029         * doc/posix-functions/fprintf.texi: Update.
36030         * doc/posix-functions/printf.texi: Update.
36031         * doc/posix-functions/snprintf.texi: Update.
36032         * doc/posix-functions/sprintf.texi: Update.
36033         * doc/posix-functions/vfprintf.texi: Update.
36034         * doc/posix-functions/vprintf.texi: Update.
36035         * doc/posix-functions/vsnprintf.texi: Update.
36036         * doc/posix-functions/vsprintf.texi: Update.
36037         * doc/glibc-functions/obstack_printf.texi: Update.
36038         * doc/glibc-functions/obstack_vprintf.texi: Update.
36039
36040 2009-02-26  Eric Blake  <ebb9@byu.net>
36041
36042         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
36043         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
36044         compilation bug by using runtime conversion.
36045         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
36046         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
36047         * modules/ceill-tests (Files): Use nan.h.
36048         * modules/floorl-tests (Files): Likewise.
36049         * modules/frexpl-tests (Files): Likewise.
36050         * modules/isnanl-tests (Files): Likewise.
36051         * modules/ldexpl-tests (Files): Likewise.
36052         * modules/roundl-tests (Files): Likewise.
36053         * modules/truncl-tests (Files): Likewise.
36054         * tests/test-ceill.c (main): Use a working NaN.
36055         * tests/test-floorl.c (main): Likewise.
36056         * tests/test-frexpl.c (main): Likewise.
36057         * tests/test-isnan.c (test_long_double): Likewise.
36058         * tests/test-isnanl.h (main): Likewise.
36059         * tests/test-ldexpl.h (main): Likewise.
36060         * tests/test-roundl.h (main): Likewise.
36061         * tests/test-truncl.h (main): Likewise.
36062         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
36063
36064 2009-02-26  Eric Blake  <ebb9@byu.net>
36065             Bruno Haible  <bruno@clisp.org>
36066
36067         Work around a *printf bug with %ls on Solaris.
36068         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
36069         precision is specified, sprintf stops converting the wide string
36070         argument when the number of bytes that have been produced by this
36071         conversion equals or exceeds the precision.
36072         * doc/posix-functions/fprintf.texi: Update.
36073         * doc/posix-functions/printf.texi: Update.
36074         * doc/posix-functions/snprintf.texi: Update.
36075         * doc/posix-functions/sprintf.texi: Update.
36076         * doc/posix-functions/vfprintf.texi: Update.
36077         * doc/posix-functions/vprintf.texi: Update.
36078         * doc/posix-functions/vsnprintf.texi: Update.
36079         * doc/posix-functions/vsprintf.texi: Update.
36080         * doc/glibc-functions/obstack_printf.texi: Update.
36081         * doc/glibc-functions/obstack_vprintf.texi: Update.
36082
36083 2009-02-26  Eric Blake  <ebb9@byu.net>
36084
36085         stdlib: favor compiler check of random.h
36086         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
36087         to avoid an ObjC random.h installed by Swarm.
36088
36089 2009-02-26  Bruno Haible  <bruno@clisp.org>
36090
36091         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
36092         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
36093         Reported by Gary V. Vaughan <gary@gnu.org>.
36094
36095 2009-02-26  Bruno Haible  <bruno@clisp.org>
36096
36097         Fix *printf behaviour regarding the %ls directive.
36098         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
36099         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
36100         NEED_PRINTF_DIRECTIVE_LS.
36101         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
36102         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
36103         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
36104         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
36105         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
36106         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
36107         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
36108         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
36109         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
36110         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
36111         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
36112         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
36113         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
36114         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
36115         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
36116         * doc/posix-functions/fprintf.texi: Update.
36117         * doc/posix-functions/printf.texi: Update.
36118         * doc/posix-functions/snprintf.texi: Update.
36119         * doc/posix-functions/sprintf.texi: Update.
36120         * doc/posix-functions/vfprintf.texi: Update.
36121         * doc/posix-functions/vprintf.texi: Update.
36122         * doc/posix-functions/vsnprintf.texi: Update.
36123         * doc/posix-functions/vsprintf.texi: Update.
36124         * doc/glibc-functions/obstack_printf.texi: Update.
36125         * doc/glibc-functions/obstack_vprintf.texi: Update.
36126         Reported by Eric Blake.
36127
36128 2009-02-25  Bruno Haible  <bruno@clisp.org>
36129
36130         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
36131         with known value.
36132         Reported by Gary V. Vaughan <gary@gnu.org>.
36133
36134 2009-02-25  Bruno Haible  <bruno@clisp.org>
36135
36136         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
36137         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
36138         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
36139         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
36140         Reported by Gary V. Vaughan <gary@gnu.org>.
36141
36142 2009-02-25  Bruno Haible  <bruno@clisp.org>
36143
36144         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
36145         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
36146         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
36147         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
36148         Reported by Gary V. Vaughan <gary@gnu.org>.
36149
36150 2009-02-25  Eric Blake  <ebb9@byu.net>
36151
36152         tests: skip fseek/ftell tests if ungetc is broken
36153         * m4/ungetc.m4: New file.
36154         * modules/fseek-tests: Split test, so ungetc dependency is
36155         separate from rest of test.
36156         * modules/fseeko-tests: Likewise.
36157         * modules/ftell-tests: Likewise.
36158         * modules/ftello-tests: Likewise.
36159         * tests/test-fseek.c (main): Isolate ungetc dependency.
36160         * tests/test-fseeko.c (main): Likewise.
36161         * tests/test-ftell.c (main): Likewise.
36162         * tests/test-ftello.c (main): Likewise.
36163         * tests/test-fseek2.sh: New file.
36164         * tests/test-fseeko2.sh: Likewise.
36165         * tests/test-ftell2.sh: Likewise.
36166         * tests/test-ftello2.sh: Likewise.
36167
36168 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
36169
36170         test-getaddrinfo: fix usage of skip return code 77
36171         * tests/test-gettaddrinfo.c: Return skip code 77 only
36172         for first occurance of skip (4x77 is not 77)
36173
36174 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
36175
36176         strtod: avoid C99 decl-after-statement
36177         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
36178
36179 2009-02-24  Eric Blake  <ebb9@byu.net>
36180
36181         strtod: detect HP-UX 11.31 bug
36182         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
36183         Reported by Gary V. Vaughan.
36184
36185 2009-02-23  Bruno Haible  <bruno@clisp.org>
36186
36187         Fix invalid read past end of memory block.
36188         * lib/vasnprintf.c (DCHAR_SET): Define.
36189         (local_wcslen): Define only when needed.
36190         (local_strnlen, local_wcsnlen): New functions.
36191         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
36192         directives that involve a conversion ourselves.
36193         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
36194         wcsnlen, mbrtowc, wcrtomb.
36195         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
36196         * tests/test-vasprintf-posix.c (test_function): Likewise.
36197         * tests/test-snprintf-posix.h (test_function): Likewise.
36198         * tests/test-sprintf-posix.h (test_function): Likewise.
36199         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36200
36201 2009-02-22  Bruno Haible  <bruno@clisp.org>
36202
36203         Implement new clarified decomposition of Hangul syllables.
36204         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
36205         of type LTV, return only a pairwise decomposition.
36206         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
36207         Likewise.
36208         * tests/uninorm/test-decomposition.c (main): Updated expected result.
36209         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
36210         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
36211
36212 2009-02-22  Bruno Haible  <bruno@clisp.org>
36213
36214         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
36215         zero-length results and shrink excess allocated memory.
36216         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
36217         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
36218         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
36219         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
36220         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
36221         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
36222         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
36223         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
36224         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
36225         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
36226         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
36227         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
36228
36229 2009-02-21  Bruno Haible  <bruno@clisp.org>
36230
36231         * doc/gnulib.texi: Include safe-alloc.texi earlier.
36232         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
36233         spaces after a period. Put a space between a macro name and its
36234         argument list. Trivial rewordings.
36235         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
36236         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
36237         (main): Return 0 explicitly.
36238
36239 2009-02-21  Bruno Haible  <bruno@clisp.org>
36240
36241         Tests for module 'uninorm/filter'.
36242         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
36243         * modules/uninorm/filter-tests: New file.
36244
36245         New module 'uninorm/filter'.
36246         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
36247         uninorm_filter_flush, uninorm_filter_free): New declarations.
36248         * lib/uninorm/uninorm-filter.c: New file.
36249         * modules/uninorm/filter: New file.
36250
36251 2009-02-21  Bruno Haible  <bruno@clisp.org>
36252
36253         Tests for module 'uninorm/nfkc'.
36254         * tests/uninorm/test-nfkc.c: New file.
36255         * tests/uninorm/test-u8-nfkc.c: New file.
36256         * tests/uninorm/test-u16-nfkc.c: New file.
36257         * tests/uninorm/test-u32-nfkc.c: New file.
36258         * tests/uninorm/test-u32-nfkc-big.sh: New file.
36259         * tests/uninorm/test-u32-nfkc-big.c: New file.
36260         * modules/uninorm/nfkc-tests: New file.
36261
36262         New module 'uninorm/nfkc'.
36263         * lib/uninorm/nfkc.c: New file.
36264         * modules/uninorm/nfkc: New file.
36265
36266         Tests for module 'uninorm/nfkd'.
36267         * tests/uninorm/test-nfkd.c: New file.
36268         * tests/uninorm/test-u8-nfkd.c: New file.
36269         * tests/uninorm/test-u16-nfkd.c: New file.
36270         * tests/uninorm/test-u32-nfkd.c: New file.
36271         * tests/uninorm/test-u32-nfkd-big.sh: New file.
36272         * tests/uninorm/test-u32-nfkd-big.c: New file.
36273         * modules/uninorm/nfkd-tests: New file.
36274
36275         New module 'uninorm/nfkd'.
36276         * lib/uninorm/nfkd.c: New file.
36277         * modules/uninorm/nfkd: New file.
36278
36279         Tests for module 'uninorm/nfc'.
36280         * tests/uninorm/test-nfc.c: New file.
36281         * tests/uninorm/test-u8-nfc.c: New file.
36282         * tests/uninorm/test-u16-nfc.c: New file.
36283         * tests/uninorm/test-u32-nfc.c: New file.
36284         * tests/uninorm/test-u32-nfc-big.sh: New file.
36285         * tests/uninorm/test-u32-nfc-big.c: New file.
36286         * modules/uninorm/nfc-tests: New file.
36287
36288         New module 'uninorm/nfc'.
36289         * lib/uninorm/nfc.c: New file.
36290         * modules/uninorm/nfc: New file.
36291
36292         Tests for module 'uninorm/nfd'.
36293         * tests/uninorm/test-nfd.c: New file.
36294         * tests/uninorm/test-u8-nfd.c: New file.
36295         * tests/uninorm/test-u16-nfd.c: New file.
36296         * tests/uninorm/test-u32-nfd.c: New file.
36297         * tests/uninorm/test-u32-nfd-big.sh: New file.
36298         * tests/uninorm/test-u32-nfd-big.c: New file.
36299         * tests/uninorm/test-u32-normalize-big.h: New file.
36300         * tests/uninorm/test-u32-normalize-big.c: New file.
36301         * tests/uninorm/NormalizationTest.txt: New file, created from
36302         Unicode 5.1.0 NormalizationTest.txt.
36303         * modules/uninorm/nfd-tests: New file.
36304
36305         New module 'uninorm/nfd'.
36306         * lib/uninorm/nfd.c: New file.
36307         * modules/uninorm/nfd: New file.
36308
36309         New module 'uninorm/u32-normalize'.
36310         * lib/uninorm/u32-normalize.c: New file.
36311         * modules/uninorm/u32-normalize: New file.
36312
36313         New module 'uninorm/u16-normalize'.
36314         * lib/uninorm/u16-normalize.c: New file.
36315         * modules/uninorm/u16-normalize: New file.
36316
36317         New module 'uninorm/u8-normalize'.
36318         * lib/uninorm/u8-normalize.c: New file.
36319         * lib/uninorm/normalize-internal.h: New file.
36320         * lib/uninorm/u-normalize-internal.h: New file.
36321         * modules/uninorm/u8-normalize: New file.
36322
36323         New module 'uninorm/decompose-internal'.
36324         * lib/uninorm/decompose-internal.c: New file.
36325         * modules/uninorm/decompose-internal: New file.
36326
36327         Tests for module 'uninorm/composition'.
36328         * tests/uninorm/test-composition.c: New file.
36329         * modules/uninorm/composition-tests: New file.
36330
36331         New module 'uninorm/composition'.
36332         * lib/uninorm/composition.c: New file.
36333         * lib/uninorm/composition-table.gperf: New file, generated by
36334         gen-uni-tables.
36335         * modules/uninorm/composition: New file.
36336
36337         Tests for module 'uninorm/compat-decomposition'.
36338         * tests/uninorm/test-compat-decomposition.c: New file.
36339         * modules/uninorm/compat-decomposition-tests: New file.
36340
36341         New module 'uninorm/compat-decomposition'.
36342         * lib/uninorm/decompose-internal.h: New file.
36343         * lib/uninorm/compat-decomposition.c: New file.
36344         * modules/uninorm/compat-decomposition: New file.
36345
36346         Tests for module 'uninorm/canonical-decomposition'.
36347         * tests/uninorm/test-canonical-decomposition.c: New file.
36348         * modules/uninorm/canonical-decomposition-tests: New file.
36349
36350         New module 'uninorm/canonical-decomposition'.
36351         * lib/uninorm/canonical-decomposition.c: New file.
36352         * modules/uninorm/canonical-decomposition: New file.
36353
36354         Tests for module 'uninorm/decomposition'.
36355         * tests/uninorm/test-decomposition.c: New file.
36356         * modules/uninorm/decomposition-tests: New file.
36357
36358         New module 'uninorm/decomposition'.
36359         * lib/uninorm/decomposition.c: New file.
36360         * modules/uninorm/decomposition: New file.
36361
36362         New module 'uninorm/decomposition-table'.
36363         * lib/uninorm/decomposition-table.h: New file.
36364         * lib/uninorm/decomposition-table.c: New file.
36365         * lib/uninorm/decomposition-table1.h: New file, generated by
36366         gen-uni-tables.
36367         * lib/uninorm/decomposition-table2.h: New file, generated by
36368         gen-uni-tables.
36369         * modules/uninorm/decomposition-table: New file.
36370
36371         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
36372         (UC_DECOMP_*): New enumeration items.
36373         (get_decomposition): New function.
36374         (struct decomp_table): New type.
36375         (output_decomposition, output_decomposition_tables): New functions.
36376         (unicode_composition_exclusions): New variable.
36377         (fill_composition_exclusions, debug_output_composition_tables): New
36378         functions.
36379         (main): Accept one more argument. Invoke fill_composition_exclusions.
36380         Output decomposition and composition tables.
36381
36382         New module 'uninorm/base'.
36383         * lib/uninorm.h: New file.
36384         * lib/unictype.h: Update comment.
36385         * modules/uninorm/base: New file.
36386
36387 2009-02-21  David Lutterkort  <lutter@redhat.com>
36388
36389         Tests for module 'safe-alloc'.
36390         * tests/test-safe-alloc.c: New file.
36391         * modules/safe-alloc-tests: New file.
36392
36393         New module 'safe-alloc'.
36394         * lib/safe-alloc.h: New file.
36395         * lib/safe-alloc.c: New file.
36396         * m4/safe-alloc.m4: New file.
36397         * modules/safe-alloc: New file.
36398         * doc/safe-alloc.texi: New file.
36399         * doc/gnulib.texi: Include it.
36400         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
36401         safe-alloc.
36402
36403 2009-02-18  Bruno Haible  <bruno@clisp.org>
36404
36405         Fix link error on non-glibc systems.
36406         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
36407         variable.
36408         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36409
36410 2009-02-18  Jim Meyering  <meyering@redhat.com>
36411
36412         fts: avoid used-uninitialized error due to recent change
36413         * lib/fts.c (fts_read): Guard uses of the new member,
36414         parent->fts_n_dirs_remaining, since it's not relevant for
36415         the parent of a directory specified on the command-line.
36416
36417 2009-02-17  James Youngman  <jay@gnu.org>
36418             Bruno Haible  <bruno@clisp.org>
36419
36420         * m4/include_next.m4: Reformulate comment.
36421
36422 2009-02-16  Jim Meyering  <meyering@redhat.com>
36423
36424         fts: add #if guards so that the fts_lgpl module still builds
36425         * lib/fts.c: Guard just-added hash-table-using parts with
36426         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
36427         Reported by Simon Josefsson.
36428
36429 2009-02-15  Bruno Haible  <bruno@clisp.org>
36430
36431         * modules/array-mergesort-tests: New file.
36432         * tests/test-array-mergesort.c: New file.
36433
36434         New module 'array-mergesort'.
36435         * modules/array-mergesort: New file.
36436         * lib/array-mergesort.h: New file.
36437
36438 2009-02-15  Bruno Haible  <bruno@clisp.org>
36439
36440         Fix 2009-02-07 commit.
36441         * lib/gen-uni-tables.c (output_predicate, output_category,
36442         output_combclass, output_bidi_category, output_decimal_digit,
36443         output_digit, output_numeric, output_mirror, output_scripts,
36444         output_ident_category, output_simple_mapping): Fix format directives.
36445         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
36446
36447 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
36448
36449         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
36450         fixes are available from IBM.
36451
36452 2009-02-13  Jim Meyering  <meyering@redhat.com>
36453
36454         fts: arrange not to stat non-directories in more cases
36455         This makes GNU find (when it doesn't need to stat each file)
36456         *much* more efficient at traversing reiserfs file systems.
36457         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
36458         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
36459         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
36460         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
36461         (leaf_optimization_applies): New function.
36462         (LCO_hash, LCO_compare): New helper functions.
36463         (link_count_optimize_ok): New function.
36464         (fts_stat): Initialize new member (if dir).
36465         (fts_read): Decrement parent's fts_n_dirs_remaining count if
36466         we've just stat'ed a directory.  Skip the stat call when possible.
36467         ---
36468         Note this AFS-related exchange:
36469         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
36470         and note find's pioctl call in find/fstype.c.
36471         But that is necessary only if you want to enable the
36472         optimization for AFS, and for now, I don't.
36473
36474         fts: move a function definition "up" (no semantic change)
36475         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
36476         "up" to precede upcoming use of a related function.
36477
36478 2009-02-11  Jim Meyering  <meyering@redhat.com>
36479
36480         fts: correct internal computation of nlinks (optimization-related)
36481         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
36482         whether the current entry is a directory, so don't test it.
36483
36484 2009-02-10  Bruno Haible  <bruno@clisp.org>
36485
36486         Tests for module 'uniwbrk/ulc-wordbreaks'.
36487         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
36488         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
36489         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
36490
36491         Tests for module 'uniwbrk/u32-wordbreaks'.
36492         * modules/uniwbrk/u32-wordbreaks-tests: New file.
36493         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
36494
36495         Tests for module 'uniwbrk/u16-wordbreaks'.
36496         * modules/uniwbrk/u16-wordbreaks-tests: New file.
36497         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
36498
36499         Tests for module 'uniwbrk/u8-wordbreaks'.
36500         * modules/uniwbrk/u8-wordbreaks-tests: New file.
36501         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
36502
36503 2009-02-10  Bruno Haible  <bruno@clisp.org>
36504
36505         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
36506         property.
36507         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
36508         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
36509         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
36510
36511 2009-02-10  Simon Josefsson  <simon@josefsson.org>
36512
36513         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
36514         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
36515
36516 2009-02-10  Bruno Haible  <bruno@clisp.org>
36517
36518         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
36519         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
36520         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
36521         * lib/unilbrk/u8-possible-linebreaks.c: Update.
36522         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
36523         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
36524
36525 2009-02-09  Simon Josefsson  <simon@josefsson.org>
36526
36527         * lib/sockets.h (gl_fd_to_handle): New function.
36528
36529         * tests/test-sockets.c: Call gl_fd_to_handle.
36530
36531 2009-02-09  Bruno Haible  <bruno@clisp.org>
36532
36533         * doc/havelib.texi: Document the conventions on bi-arch systems.
36534
36535 2009-02-08  Bruno Haible  <bruno@clisp.org>
36536
36537         Document the AC_LIB_LINKFLAGS macro.
36538         * doc/havelib.texi: New file, mostly written on 2005-05-24.
36539         * doc/gnulib.texi: Include it.
36540
36541 2009-02-08  Bruno Haible  <bruno@clisp.org>
36542
36543         Fix wrong order of sections, compared to TOC.
36544         * doc/gnulib.texi: Include relocatable-maint.texi after the
36545         "Regular expressions" node, not before.
36546
36547 2009-02-08  Bruno Haible  <bruno@clisp.org>
36548
36549         Tests for module 'unicase/totitle'.
36550         * modules/unicase/totitle-tests: New file.
36551
36552         Tests for module 'unicase/tolower'.
36553         * modules/unicase/tolower-tests: New file.
36554
36555         Tests for module 'unicase/toupper'.
36556         * modules/unicase/toupper-tests: New file.
36557         * tests/unicase/test-mapping-part1.h: New file.
36558         * tests/unicase/test-mapping-part2.h: New file.
36559
36560         New module 'unicase/totitle'.
36561         * modules/unicase/totitle: New file.
36562         * lib/unicase/totitle.c: New file.
36563
36564         New module 'unicase/tolower'.
36565         * modules/unicase/tolower: New file.
36566         * lib/unicase/tolower.c: New file.
36567
36568         New module 'unicase/toupper'.
36569         * modules/unicase/toupper: New file.
36570         * lib/unicase/toupper.c: New file.
36571         * lib/unicase/simple-mapping.h: New file.
36572
36573         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
36574         (mapping_table): New structure.
36575         (output_simple_mapping): New function.
36576         (main): Invoke output_simple_mapping_test and output_simple_mapping.
36577         * modules/gen-uni-tables (Description): Update.
36578         * lib/unicase/toupper.h: New file, automatically generated by
36579         gen-uni-tables.
36580         * lib/unicase/tolower.h: New file, automatically generated by
36581         gen-uni-tables.
36582         * lib/unicase/totitle.h: New file, automatically generated by
36583         gen-uni-tables.
36584         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
36585         gen-uni-tables.
36586         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
36587         gen-uni-tables.
36588         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
36589         gen-uni-tables.
36590
36591         New module 'unicase/base'.
36592         * modules/unicase/base: New file.
36593         * lib/unicase.h: New file.
36594
36595 2009-02-08  Bruno Haible  <bruno@clisp.org>
36596
36597         New module 'uniwbrk/ulc-wordbreaks'.
36598         * modules/uniwbrk/ulc-wordbreaks: New file.
36599         * lib/uniwbrk/ulc-wordbreaks.c: New file.
36600
36601         New module 'uniwbrk/u32-wordbreaks'.
36602         * modules/uniwbrk/u32-wordbreaks: New file.
36603         * lib/uniwbrk/u32-wordbreaks.c: New file.
36604
36605         New module 'uniwbrk/u16-wordbreaks'.
36606         * modules/uniwbrk/u16-wordbreaks: New file.
36607         * lib/uniwbrk/u16-wordbreaks.c: New file.
36608
36609         New module 'uniwbrk/u8-wordbreaks'.
36610         * modules/uniwbrk/u8-wordbreaks: New file.
36611         * lib/uniwbrk/u8-wordbreaks.c: New file.
36612         * lib/uniwbrk/u-wordbreaks.h: New file.
36613
36614         New module 'uniwbrk/table'.
36615         * modules/uniwbrk/table: New file.
36616         * lib/uniwbrk/wbrktable.h: New file.
36617         * lib/uniwbrk/wbrktable.c: New file.
36618
36619         New module 'uniwbrk/wordbreak-property'.
36620         * modules/uniwbrk/wordbreak-property: New file.
36621         * lib/uniwbrk/wordbreak-property.c: New file.
36622
36623         * lib/gen-uni-tables.c (WBP_*): New enum items.
36624         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
36625         (unicode_org_wbp): New variable.
36626         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
36627         New functions.
36628         (wbp_table): New structure.
36629         (output_wbp, output_wbrk_tables): New functions.
36630         (main): Accept additional argument. Invoke fill_org_wbp,
36631         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
36632         output_wbrk_tables.
36633         * modules/gen-uni-tables (Description): Update.
36634         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
36635         gen-uni-tables.
36636
36637         New module 'uniwbrk/base'.
36638         * modules/uniwbrk/base: New file.
36639         * lib/uniwbrk.h: New file.
36640
36641 2009-02-08  Bruno Haible  <bruno@clisp.org>
36642
36643         Update to Unicode 5.1.0.
36644         * lib/gen-uni-tables.c (is_property_alphabetic): Include
36645         U+2185..U+2188.
36646         (is_property_default_ignorable_code_point): Don't include characters
36647         of category Cc or Cs and not-a-characters.
36648         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
36649         U+0D79, U+109E, U+109F, U+A60C.
36650         * lib/unictype/bidi_of.h: Regenerated.
36651         * lib/unictype/blocks.h: Regenerated.
36652         * lib/unictype/categ_C.h: Regenerated.
36653         * lib/unictype/categ_Cf.h: Regenerated.
36654         * lib/unictype/categ_Cn.h: Regenerated.
36655         * lib/unictype/categ_L.h: Regenerated.
36656         * lib/unictype/categ_Ll.h: Regenerated.
36657         * lib/unictype/categ_Lm.h: Regenerated.
36658         * lib/unictype/categ_Lo.h: Regenerated.
36659         * lib/unictype/categ_Lu.h: Regenerated.
36660         * lib/unictype/categ_M.h: Regenerated.
36661         * lib/unictype/categ_Mc.h: Regenerated.
36662         * lib/unictype/categ_Me.h: Regenerated.
36663         * lib/unictype/categ_Mn.h: Regenerated.
36664         * lib/unictype/categ_N.h: Regenerated.
36665         * lib/unictype/categ_Nd.h: Regenerated.
36666         * lib/unictype/categ_Nl.h: Regenerated.
36667         * lib/unictype/categ_No.h: Regenerated.
36668         * lib/unictype/categ_P.h: Regenerated.
36669         * lib/unictype/categ_Pd.h: Regenerated.
36670         * lib/unictype/categ_Pe.h: Regenerated.
36671         * lib/unictype/categ_Pf.h: Regenerated.
36672         * lib/unictype/categ_Pi.h: Regenerated.
36673         * lib/unictype/categ_Po.h: Regenerated.
36674         * lib/unictype/categ_Ps.h: Regenerated.
36675         * lib/unictype/categ_S.h: Regenerated.
36676         * lib/unictype/categ_Sk.h: Regenerated.
36677         * lib/unictype/categ_Sm.h: Regenerated.
36678         * lib/unictype/categ_So.h: Regenerated.
36679         * lib/unictype/categ_of.h: Regenerated.
36680         * lib/unictype/combining.h: Regenerated.
36681         * lib/unictype/ctype_alnum.h: Regenerated.
36682         * lib/unictype/ctype_alpha.h: Regenerated.
36683         * lib/unictype/ctype_graph.h: Regenerated.
36684         * lib/unictype/ctype_lower.h: Regenerated.
36685         * lib/unictype/ctype_print.h: Regenerated.
36686         * lib/unictype/ctype_punct.h: Regenerated.
36687         * lib/unictype/ctype_upper.h: Regenerated.
36688         * lib/unictype/decdigit.h: Regenerated.
36689         * lib/unictype/digit.h: Regenerated.
36690         * lib/unictype/mirror.h: Regenerated.
36691         * lib/unictype/numeric.h: Regenerated.
36692         * lib/unictype/pr_alphabetic.h: Regenerated.
36693         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
36694         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
36695         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
36696         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
36697         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
36698         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
36699         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
36700         * lib/unictype/pr_combining.h: Regenerated.
36701         * lib/unictype/pr_dash.h: Regenerated.
36702         * lib/unictype/pr_decimal_digit.h: Regenerated.
36703         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
36704         * lib/unictype/pr_deprecated.h: Regenerated.
36705         * lib/unictype/pr_diacritic.h: Regenerated.
36706         * lib/unictype/pr_extender.h: Regenerated.
36707         * lib/unictype/pr_format_control.h: Regenerated.
36708         * lib/unictype/pr_grapheme_base.h: Regenerated.
36709         * lib/unictype/pr_grapheme_extend.h: Regenerated.
36710         * lib/unictype/pr_grapheme_link.h: Regenerated.
36711         * lib/unictype/pr_id_continue.h: Regenerated.
36712         * lib/unictype/pr_id_start.h: Regenerated.
36713         * lib/unictype/pr_ideographic.h: Regenerated.
36714         * lib/unictype/pr_ignorable_control.h: Regenerated.
36715         * lib/unictype/pr_lowercase.h: Regenerated.
36716         * lib/unictype/pr_math.h: Regenerated.
36717         * lib/unictype/pr_numeric.h: Regenerated.
36718         * lib/unictype/pr_other_alphabetic.h: Regenerated.
36719         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
36720         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
36721         * lib/unictype/pr_other_id_continue.h: Regenerated.
36722         * lib/unictype/pr_other_lowercase.h: Regenerated.
36723         * lib/unictype/pr_other_math.h: Regenerated.
36724         * lib/unictype/pr_punctuation.h: Regenerated.
36725         * lib/unictype/pr_sentence_terminal.h: Regenerated.
36726         * lib/unictype/pr_soft_dotted.h: Regenerated.
36727         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
36728         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
36729         * lib/unictype/pr_unified_ideograph.h: Regenerated.
36730         * lib/unictype/pr_uppercase.h: Regenerated.
36731         * lib/unictype/pr_xid_continue.h: Regenerated.
36732         * lib/unictype/pr_xid_start.h: Regenerated.
36733         * lib/unictype/pr_zero_width.h: Regenerated.
36734         * lib/unictype/scripts.h: Regenerated.
36735         * lib/unictype/scripts_byname.gperf: Regenerated.
36736         * lib/unictype/sy_java_ident.h: Regenerated.
36737         * lib/unilbrk/lbrkprop1.h: Regenerated.
36738         * lib/unilbrk/lbrkprop2.h: Regenerated.
36739         * tests/unictype/test-categ_C.c: Regenerated.
36740         * tests/unictype/test-categ_Cf.c: Regenerated.
36741         * tests/unictype/test-categ_Cn.c: Regenerated.
36742         * tests/unictype/test-categ_L.c: Regenerated.
36743         * tests/unictype/test-categ_Ll.c: Regenerated.
36744         * tests/unictype/test-categ_Lm.c: Regenerated.
36745         * tests/unictype/test-categ_Lo.c: Regenerated.
36746         * tests/unictype/test-categ_Lu.c: Regenerated.
36747         * tests/unictype/test-categ_M.c: Regenerated.
36748         * tests/unictype/test-categ_Mc.c: Regenerated.
36749         * tests/unictype/test-categ_Me.c: Regenerated.
36750         * tests/unictype/test-categ_Mn.c: Regenerated.
36751         * tests/unictype/test-categ_N.c: Regenerated.
36752         * tests/unictype/test-categ_Nd.c: Regenerated.
36753         * tests/unictype/test-categ_Nl.c: Regenerated.
36754         * tests/unictype/test-categ_No.c: Regenerated.
36755         * tests/unictype/test-categ_P.c: Regenerated.
36756         * tests/unictype/test-categ_Pd.c: Regenerated.
36757         * tests/unictype/test-categ_Pe.c: Regenerated.
36758         * tests/unictype/test-categ_Pf.c: Regenerated.
36759         * tests/unictype/test-categ_Pi.c: Regenerated.
36760         * tests/unictype/test-categ_Po.c: Regenerated.
36761         * tests/unictype/test-categ_Ps.c: Regenerated.
36762         * tests/unictype/test-categ_S.c: Regenerated.
36763         * tests/unictype/test-categ_Sk.c: Regenerated.
36764         * tests/unictype/test-categ_Sm.c: Regenerated.
36765         * tests/unictype/test-categ_So.c: Regenerated.
36766         * tests/unictype/test-ctype_alnum.c: Regenerated.
36767         * tests/unictype/test-ctype_alpha.c: Regenerated.
36768         * tests/unictype/test-ctype_graph.c: Regenerated.
36769         * tests/unictype/test-ctype_lower.c: Regenerated.
36770         * tests/unictype/test-ctype_print.c: Regenerated.
36771         * tests/unictype/test-ctype_punct.c: Regenerated.
36772         * tests/unictype/test-ctype_upper.c: Regenerated.
36773         * tests/unictype/test-decdigit.h: Regenerated.
36774         * tests/unictype/test-digit.h: Regenerated.
36775         * tests/unictype/test-numeric.h: Regenerated.
36776         * tests/unictype/test-pr_alphabetic.c: Regenerated.
36777         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
36778         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
36779         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
36780         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
36781         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
36782         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
36783         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
36784         * tests/unictype/test-pr_combining.c: Regenerated.
36785         * tests/unictype/test-pr_dash.c: Regenerated.
36786         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
36787         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
36788         * tests/unictype/test-pr_deprecated.c: Regenerated.
36789         * tests/unictype/test-pr_diacritic.c: Regenerated.
36790         * tests/unictype/test-pr_extender.c: Regenerated.
36791         * tests/unictype/test-pr_format_control.c: Regenerated.
36792         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
36793         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
36794         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
36795         * tests/unictype/test-pr_id_continue.c: Regenerated.
36796         * tests/unictype/test-pr_id_start.c: Regenerated.
36797         * tests/unictype/test-pr_ideographic.c: Regenerated.
36798         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
36799         * tests/unictype/test-pr_lowercase.c: Regenerated.
36800         * tests/unictype/test-pr_math.c: Regenerated.
36801         * tests/unictype/test-pr_numeric.c: Regenerated.
36802         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
36803         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
36804         Regenerated.
36805         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
36806         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
36807         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
36808         * tests/unictype/test-pr_other_math.c: Regenerated.
36809         * tests/unictype/test-pr_punctuation.c: Regenerated.
36810         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
36811         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
36812         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
36813         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
36814         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
36815         * tests/unictype/test-pr_uppercase.c: Regenerated.
36816         * tests/unictype/test-pr_xid_continue.c: Regenerated.
36817         * tests/unictype/test-pr_xid_start.c: Regenerated.
36818         * tests/unictype/test-pr_zero_width.c: Regenerated.
36819
36820         Update to Unicode 5.1.0.
36821         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
36822         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
36823         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
36824         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
36825         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
36826         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
36827         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
36828         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
36829         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
36830         (nonspacing_table_ind): Update.
36831         * tests/uniwidth/test-uc_width2.sh: Update expected result.
36832
36833         Update to Unicode 5.1.0.
36834         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
36835         code transform.
36836         * lib/uniname/uniname.c (unicode_character_name,
36837         unicode_name_character): Add the range 0x1Fxxx to the code transform.
36838         * lib/uniname/uninames.h: Regenerated.
36839         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
36840
36841 2009-02-07  Bruno Haible  <bruno@clisp.org>
36842
36843         Merge gen-ctype and gen-lbrk into a single program.
36844         * lib/gen-uni-tables.c: New file, incorporating
36845         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
36846         Add directory prefixes to the names of the generated files.
36847         * lib/unictype/gen-ctype.c: Remove file.
36848         * lib/unilbrk/gen-lbrk.c: Remove file.
36849         * modules/gen-uni-tables: New file.
36850         * modules/unictype/gen-ctype: Remove file.
36851         * modules/unilbrk/gen-lbrk: Remove file.
36852
36853 2009-02-07  Bruno Haible  <bruno@clisp.org>
36854
36855         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
36856
36857         New module 'unistr/u32-strcoll'.
36858         * modules/unistr/u32-strcoll: New file.
36859         * lib/unistr/u32-strcoll.c: New file.
36860
36861         New module 'unistr/u16-strcoll'.
36862         * modules/unistr/u16-strcoll: New file.
36863         * lib/unistr/u16-strcoll.c: New file.
36864
36865         New module 'unistr/u8-strcoll'.
36866         * modules/unistr/u8-strcoll: New file.
36867         * lib/unistr/u8-strcoll.c: New file.
36868         * lib/unistr/u-strcoll.h: New file.
36869
36870 2009-02-07  Bruno Haible  <bruno@clisp.org>
36871
36872         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
36873         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
36874         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
36875         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
36876         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
36877         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
36878
36879 2009-02-07  Bruno Haible  <bruno@clisp.org>
36880
36881         Make 64-bit clean.
36882         * lib/unictype/gen-ctype.c (output_predicate, output_category,
36883         output_combclass, output_bidi_category, output_decimal_digit,
36884         output_digit, output_numeric, output_mirror, output_scripts,
36885         output_ident_category): Use proper width specifier in format strings.
36886
36887 2009-02-07  Bruno Haible  <bruno@clisp.org>
36888
36889         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
36890         failure behaviour.
36891
36892 2009-02-07  Jim Meyering  <meyering@redhat.com>
36893
36894         regex: avoid compilation failure with upcoming gcc-4.4
36895         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
36896         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
36897         "... error: integer overflow in preprocessor expression".
36898
36899 2009-02-05  Ben Pfaff  <blp@gnu.org>
36900
36901         Fix link errors on Windows when close module is used.
36902         * modules/close: Add $(LIB_CLOSE) to Link section.
36903         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
36904         $(LIB_CLOSE) on Windows.
36905
36906 2009-02-05  Jim Meyering  <meyering@redhat.com>
36907
36908         still avoid unused-parameter warnings, but do it cleanly
36909         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
36910         (get_fs_usage): Cast to void instead.
36911         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
36912         (dev_from_mount_options, read_file_system_list): Cast to void.
36913         Prompted by Bruno Haible.
36914
36915 2009-02-04  Jim Meyering  <meyering@redhat.com>
36916
36917         fsusage.c: correct copyright year
36918         * lib/fsusage.c: Reflect year in which the change is pushed into
36919
36920         avoid misc. warnings
36921         * lib/fsusage.c (UNUSED_PARAM): Define.
36922         (get_fs_usage): Mark parameter "disk" as unused.
36923         * lib/getugroups.c (getgrent): Use "void" in prototype.
36924         * lib/mountlist.c: Mark unused parameters.
36925         (read_file_system_list): Declare a local with "const".
36926         * lib/nanosleep.c (getnow): Declare static.
36927         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
36928
36929         dirfd: set errno upon failure
36930         * lib/dirfd.c: Include <errno.h>.
36931         Set errno to ENOTSUP when returning -1.
36932         * modules/dirfd (Depends-on): Add errno.
36933         Suggested by John Kodis <kodis@comcast.net>.
36934
36935 2009-02-01  Bruno Haible  <bruno@clisp.org>
36936
36937         Don't assume sizeof (long) >= sizeof (void *).
36938         * lib/memcmp.c: Include stdint.h.
36939         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
36940         srcp2 to 'const byte *'.
36941         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
36942         types to uintptr_t.
36943         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
36944         * modules/memcmp (Depends-on): Add stdint.
36945         Reported by Ozkan Sezer <sezeroz@gmail.com>.
36946
36947 2009-01-30  Eric Blake  <ebb9@byu.net>
36948
36949         fix more require-before-expand issues
36950         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
36951         expand, AC_PROG_AWK.
36952         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
36953
36954 2009-01-28  Eric Blake  <ebb9@byu.net>
36955
36956         version-etc: use consistent URL formatting
36957         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
36958         Improve formatting.  Use fputs for string without %.
36959
36960 2009-01-28  Jim Meyering  <meyering@redhat.com>
36961
36962         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
36963         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
36964         "underquoted definition of NAME" from autoconf-2.59.
36965
36966 2009-01-28  Bruno Haible  <bruno@clisp.org>
36967
36968         * doc/gnulib.texi: Add "Obsolete modules" to index.
36969
36970 2009-01-28  Jim Meyering  <meyering@redhat.com>
36971
36972         useless-if-before-free: recognize more variants
36973         * build-aux/useless-if-before-free: Also recognize e.g.,
36974         if (NULL != p) free (p);
36975
36976 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
36977
36978         test-getaddrinfo: skip (don't fail) this test when there's no network
36979         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
36980         on the presumption that it means you lack network access.
36981
36982 2009-01-26  Jim Meyering  <meyering@redhat.com>
36983
36984         fflush: avoid warnings on modern systems
36985         * lib/fflush.c (rpl_fflush): Move declarations of locals,
36986         pos and result, into scopes where they're used.
36987
36988 2009-01-26  Eric Blake  <ebb9@byu.net>
36989
36990         Silence warning reintroduced by recent extensions patch.
36991         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
36992         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
36993         autoconf.
36994
36995         Backport improved autoconf semantics of AC_DEFUN_ONCE.
36996         * m4/00gnulib.m4: New file.
36997         * gnulib-tool (func_get_filelist): Always use it.
36998         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
36999         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
37000
37001 2009-01-25  Bruno Haible  <bruno@clisp.org>
37002
37003         Make test-quotearg work on MacOS X and AIX.
37004         * tests/test-quotearg.sh: New file.
37005         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
37006         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
37007         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
37008         include <libintl.h>.
37009         (fake_locale): Remove variable.
37010         (gettext, dgettext, dcgettext): Remove functions.
37011         (main): Instead of setting a fake locale, set a real locale. Call
37012         textdomain and bindtextdomain.
37013         * modules/quotearg-tests (Files): Add the new files.
37014         (Depends-on): Add gettext, setenv, unsetenv.
37015         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
37016         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
37017         Augment TESTS_ENVIRONMENT.
37018
37019 2009-01-25  Bruno Haible  <bruno@clisp.org>
37020
37021         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
37022         fr_FR.ISO8859-1 locale on MacOS X.
37023         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
37024         ja_JP.eucJP locale on MacOS X.
37025         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
37026         zh_CN.GB18030 locale on MacOS X.
37027
37028 2009-01-25  Bruno Haible  <bruno@clisp.org>
37029
37030         Avoid link errors on MacOS X 10.3.
37031         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
37032         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
37033
37034 2009-01-25  Bruno Haible  <bruno@clisp.org>
37035
37036         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
37037         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
37038         * modules/pipe (Files): Remove m4/posix_spawn.m4.
37039         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
37040         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
37041         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
37042         posix_spawnattr_init, posix_spawnattr_setsigmask,
37043         posix_spawnattr_setflags, posix_spawnattr_destroy.
37044
37045         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
37046         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
37047         * modules/execute (Files): Remove m4/posix_spawn.m4.
37048         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
37049         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
37050         posix_spawnattr_init, posix_spawnattr_setsigmask,
37051         posix_spawnattr_setflags, posix_spawnattr_destroy.
37052
37053 2009-01-25  Bruno Haible  <bruno@clisp.org>
37054
37055         * lib/glthread/threadlib.c: Include <stdlib.h>.
37056
37057 2009-01-25  Bruno Haible  <bruno@clisp.org>
37058
37059         * lib/glthread/threadlib.c (dummy): New declaration.
37060
37061 2009-01-25  Bruno Haible  <bruno@clisp.org>
37062
37063         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
37064         multibyte characters also for the GB18030 encoding. Don't crash when
37065         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
37066
37067 2009-01-25  Bruno Haible  <bruno@clisp.org>
37068
37069         Avoid redefining 'struct random_data' on OSF/1 5.1.
37070         * lib/stdlib.in.h: Include <random.h> if it exists.
37071         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
37072         HAVE_RANDOM_H. Include <random.h> when testing whether
37073         'struct random_data' exists.
37074         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
37075
37076 2009-01-25  Bruno Haible  <bruno@clisp.org>
37077
37078         Don't install charset.alias on MacOS X >= 10.3.
37079         * lib/localcharset.c (DARWIN7): New macro.
37080         (get_charset_aliases): Hardcode the result for Darwin7.
37081         * modules/localcharset (install-exec-local): Don't install
37082         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
37083
37084 2009-01-25  Bruno Haible  <bruno@clisp.org>
37085
37086         Don't install charset.alias on mingw and Cygwin.
37087         * modules/localcharset (install-exec-local): Don't install
37088         charset.alias on mingw and Cygwin, if the file does not yet exist.
37089         The result for these platforms is hardcoded in localcharset.c.
37090
37091 2009-01-25  Bruno Haible  <bruno@clisp.org>
37092
37093         Make it possible again to use AC_GNU_SOURCE together with gnulib.
37094         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
37095         before requiring AC_USE_SYSTEM_EXTENSIONS.
37096
37097 2009-01-25  Jim Meyering  <meyering@redhat.com>
37098
37099         c-strtod: avoid warnings
37100         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
37101         "assignment discards qualifiers from pointer target type" warnings.
37102
37103 2009-01-24  Bruno Haible  <bruno@clisp.org>
37104
37105         Add support for non-UTF-8 locales on MacOS X.
37106         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
37107         canonical encodings. For Darwin 7 and newer, don't map traditional
37108         encodings to UTF-8.
37109         Reported by Vincent Lefevre <vincent@vinc17.org>
37110         at <http://savannah.gnu.org/bugs/?25235>.
37111
37112 2009-01-24  Bruno Haible  <bruno@clisp.org>
37113
37114         * doc/gnulib.texi (Obsolete modules): New section.
37115         Reported by Mike Frysinger <vapier@gentoo.org>.
37116
37117 2009-01-24  Bruno Haible  <bruno@clisp.org>
37118
37119         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
37120         (%.dvi): New rule.
37121
37122 2009-01-24  Bruno Haible  <bruno@clisp.org>
37123
37124         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
37125         Reported by Eric Blake.
37126
37127 2009-01-24  Bruno Haible  <bruno@clisp.org>
37128
37129         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
37130         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
37131         Reported by Gary V. Vaughan <gary@gnu.org>.
37132
37133 2009-01-24  Bruno Haible  <bruno@clisp.org>
37134
37135         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
37136
37137 2009-01-23  Bruno Haible  <bruno@clisp.org>
37138
37139         Make c-strtod, c-strtold usable in libraries.
37140         * lib/c-strtod.c: Include string.h instead of xalloc.h.
37141         (C_STRTOD): Call strdup instead of xstrdup.
37142         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
37143         * modules/c-strtold (Depends-on): Likewise.
37144         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
37145         * NEWS: Mention the change.
37146         Reported by Michael Gold <mgold@ncf.ca>.
37147
37148 2009-01-23  Jim Meyering  <meyering@redhat.com>
37149
37150         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
37151         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
37152         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
37153
37154 2009-01-23  Simon Josefsson  <simon@josefsson.org>
37155
37156         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
37157         GNU CoreUtils.
37158         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
37159         * modules/version-etc (Description): Update.
37160
37161 2009-01-22  Bruno Haible  <bruno@clisp.org>
37162
37163         Cache the C locale object.
37164         * lib/c-strtod.c (c_locale_cache): New variable.
37165         (c_locale): New function.
37166         (C_STRTOD): Use it, and don't call freelocale.
37167         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
37168         Suggested by Paolo Bonzini.
37169
37170 2009-01-21  Bruno Haible  <bruno@clisp.org>
37171
37172         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
37173         conditions other than overflow.
37174
37175 2009-01-21  Bruno Haible  <bruno@clisp.org>
37176
37177         * lib/c-strtod.c: Include errno.h.
37178         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
37179         value from STRTOD_L and STRTOD.
37180
37181 2009-01-21  Bruno Haible  <bruno@clisp.org>
37182         and Jim Meyering  <meyering@redhat.com>
37183
37184         nanosleep: skip configure test (fail it) for apple universal builds
37185         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
37186         universal builds, assume that nanosleep does not work.
37187         * modules/nanosleep (Depends-on): Add multiarch.
37188
37189         mktime: skip configure test (fail it) for apple universal builds
37190         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
37191         universal builds, assume that mktime does not work.
37192         * modules/mktime (Depends-on): Add multiarch.
37193
37194 2009-01-21  Eric Blake  <ebb9@byu.net>
37195
37196         multiarch: avoid expand-before-require warning
37197         * modules/multiarch (configure.ac): Require, rather than expand,
37198         gl_MULTIARCH.
37199         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
37200         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
37201         enforce that all clients require it.  Partial reversion of
37202         2008-12-29 patch.
37203
37204         error: avoid expand-before-require warning
37205         * modules/errno (configure.ac): Require, rather than expand,
37206         gl_HEADER_ERRNO_H.
37207         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
37208         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
37209         enforce that all clients require it.
37210
37211         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
37212         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
37213         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
37214         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
37215
37216 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
37217
37218         Revert:
37219         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
37220
37221         regex: do not depend on obsolete modules.
37222         * modules/regex: Remove memcmp and memmove.
37223
37224 2009-01-20  Bruno Haible  <bruno@clisp.org>
37225
37226         Make the 'link' module link on Windows NT 4.
37227         * lib/link.c (_WIN32_WINNT): Don't define.
37228         (CreateHardLinkFuncType): New type.
37229         (CreateHardLinkFunc, initialized): New variables.
37230         (initialize): New function.
37231         (link): Invoke CreateHardLink indirectly through the function pointer.
37232
37233 2009-01-20  Bruno Haible  <bruno@clisp.org>
37234
37235         Fix compilation failure on mingw.
37236         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
37237
37238 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
37239
37240         * doc/c-strtod.texi: Mention a couple of restrictions.
37241
37242 2009-01-20  Jim Meyering  <meyering@redhat.com>
37243
37244         gettimeofday: move more declarations out of functions
37245         * lib/gettimeofday.c: Move extern declarations of tzset and
37246         gmtime out of containing functions.  Prompted by Bruno Haible.
37247
37248 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
37249
37250         regex: do not depend on obsolete modules.
37251         * modules/regex: Remove memcmp and memmove.
37252
37253 2009-01-19  Bruno Haible  <bruno@clisp.org>
37254
37255         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
37256         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
37257         gl_BIGENDIAN, not AC_C_BIGENDIAN.
37258         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
37259         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
37260
37261 2009-01-19  Bruno Haible  <bruno@clisp.org>
37262
37263         * tests/test-link.c: Include <errno.h>.
37264         (main): Exit with code 77 when a hard link cannot be created due to
37265         the file system.
37266         * tests/test-link.sh: Skip test when a hard link cannot be created due
37267         to the file system.
37268         Suggested by Eric Blake.
37269
37270 2009-01-19  Martin Lambers  <marlam@marlam.de>
37271
37272         * modules/link-tests: New file.
37273         * tests/test-link.sh: New file.
37274         * tests/test-link.c: New file.
37275
37276 2009-01-19  Eric Blake  <ebb9@byu.net>
37277
37278         doc: mention another function added in cygwin 1.7.0
37279         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
37280         Another new function in cygwin 1.7.
37281
37282 2009-01-19  Bruno Haible  <bruno@clisp.org>
37283
37284         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
37285         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
37286         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
37287         gl_BIGENDIAN, not AC_C_BIGENDIAN.
37288         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
37289         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
37290         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
37291         * m4/md4.m4 (gl_MD4): Likewise.
37292         * m4/md5.m4 (gl_MD5): Likewise.
37293         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
37294         * m4/sha1.m4 (gl_SHA1): Likewise.
37295         * m4/sha256.m4 (gl_SHA256): Likewise.
37296         * m4/sha512.m4 (gl_SHA512): Likewise.
37297
37298 2009-01-19  Bruno Haible  <bruno@clisp.org>
37299
37300         * modules/uniname/uniname-tests (Depends-on): Add progname.
37301         * tests/uniname/test-uninames.c: Include progname.h.
37302         (main): Call set_program_name.
37303
37304         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
37305         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
37306         (main): Call set_program_name.
37307
37308         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
37309         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
37310         (main): Call set_program_name.
37311
37312         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
37313         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
37314         (main): Call set_program_name.
37315
37316         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
37317         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
37318         (main): Call set_program_name.
37319
37320         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
37321         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
37322         (main): Call set_program_name.
37323
37324         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
37325         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
37326         (main): Call set_program_name.
37327
37328         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
37329         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
37330         (main): Call set_program_name.
37331
37332         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
37333         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
37334         (main): Call set_program_name.
37335
37336 2009-01-19  Eric Blake  <ebb9@byu.net>
37337
37338         test-unistd: test previous patch
37339         * tests/test-unistd.c: Test *_FILENO macros.
37340
37341         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
37342         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
37343         Guarantee a definition.
37344         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
37345         * modules/unistd-safer (Depends-on): Add dependency on unistd.
37346         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
37347         * lib/dup-safer.c (STDERR_FILENO): Likewise.
37348         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
37349         Likewise.
37350         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
37351         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
37352         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
37353         Likewise.
37354         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
37355         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
37356         (STDERR_FILENO): Likewise.
37357         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
37358         (STDERR_FILENO): Likewise.
37359         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
37360         (STDERR_FILENO): Likewise.
37361         Reported by Elbert Pol.
37362
37363 2009-01-19  Eric Blake  <ebb9@byu.net>
37364
37365         doc: mention more functions added in cygwin 1.7.0
37366         * doc/posix-functions/abort.texi (abort): Update wording related
37367         to cygwin.
37368         * doc/posix-functions/daylight.texi (daylight): Likewise.
37369         * doc/posix-functions/optarg.texi (optarg): Likewise.
37370         * doc/posix-functions/optarg.texi (opterr): Likewise.
37371         * doc/posix-functions/optarg.texi (optind): Likewise.
37372         * doc/posix-functions/optarg.texi (optopt): Likewise.
37373         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
37374         worked in 1.5.x, and was withdrawn in 1.7.
37375         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
37376         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
37377         cygwin versions.
37378         * doc/posix-functions/perror.texi (perror): Likewise.
37379         * doc/posix-functions/printf.texi (printf): Likewise.
37380         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
37381         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
37382         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37383         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37384         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
37385         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
37386         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
37387         Likewise.
37388         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
37389         Likewise.
37390         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
37391         this function.
37392         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
37393         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
37394         Likewise.
37395         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
37396         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
37397         * doc/posix-functions/confstr.texi (confstr): Likewise.
37398         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
37399         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
37400         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
37401         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
37402         * doc/posix-functions/fputws.texi (fputws): Likewise.
37403         * doc/posix-functions/fwide.texi (fwide): Likewise.
37404         * doc/posix-functions/getwc.texi (getwc): Likewise.
37405         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
37406         * doc/posix-functions/putwc.texi (putwc): Likewise.
37407         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
37408         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
37409         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
37410         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
37411         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
37412         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
37413         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
37414         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
37415         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
37416         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
37417         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
37418
37419 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
37420
37421         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
37422         * lib/ioctl.c: Include <sys/ioctl.h>.
37423
37424 2009-01-19  Simon Josefsson  <simon@josefsson.org>
37425
37426         * modules/getdate-tests (Depends-on): Add progname.
37427         * tests/test-getdate.c: Use progname module, to avoid link errors
37428         on non-glibc systems.
37429
37430 2009-01-18  Simon Josefsson  <simon@josefsson.org>
37431
37432         * modules/filenamecat-tests (Depends-on): Add progname.
37433         * modules/fstrcmp-tests (Depends-on): Likewise.
37434
37435         * tests/test-filenamecat.c: Use progname module, to avoid link
37436         errors on non-glibc systems.
37437         * tests/test-fstrcmp.c: Likewise.
37438
37439 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
37440
37441         gettimeofday: avoid warning: nested extern declaration of 'localtime'
37442         * lib/gettimeofday.c: Move extern declaration out of function.
37443
37444 2009-01-18  Bruno Haible  <bruno@clisp.org>
37445
37446         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
37447         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
37448         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
37449
37450 2009-01-18  Bruno Haible  <bruno@clisp.org>
37451
37452         * lib/strftime.c (MEMPCPY): Remove unused macro.
37453         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
37454
37455 2009-01-18  Martin Lambers  <marlam@marlam.de>
37456
37457         New module 'link'.
37458         * lib/unistd.in.h (link): New declaration.
37459         * lib/link.c: New file.
37460         * m4/link.m4: New file.
37461         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
37462         HAVE_LINK.
37463         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
37464         * modules/link: New file.
37465         * doc/posix-functions/link.texi: Mention the new module.
37466
37467 2009-01-18  Bruno Haible  <bruno@clisp.org>
37468
37469         * tests/test-avltree_list.c (main): Call set_program_name.
37470         * tests/test-avltree_oset.c (main): Likewise.
37471         * tests/test-obstack-printf.c: Include progname.h.
37472         (main): Call set_program_name.
37473         * tests/test-quotearg.c: Include progname.h.
37474         (main): Call set_program_name.
37475         * tests/test-xmemdup0.c: Include progname.h.
37476         (main): Call set_program_name.
37477
37478 2009-01-18  Bruno Haible  <bruno@clisp.org>
37479
37480         New module 'alphasort'.
37481         * lib/dirent.in.h (alphasort): New declaration.
37482         * lib/alphasort.c: New file, from glibc with modifications.
37483         * m4/alphasort.m4: New file.
37484         * modules/alphasort: New file.
37485         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
37486         HAVE_ALPHASORT.
37487         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
37488         HAVE_ALPHASORT.
37489         * doc/posix-functions/alphasort.texi: Mention the new module and the
37490         portability problems.
37491
37492 2009-01-18  Bruno Haible  <bruno@clisp.org>
37493
37494         New module 'scandir'.
37495         * lib/dirent.in.h (scandir): New declaration.
37496         * lib/scandir.c: New file, from glibc with modifications.
37497         * m4/scandir.m4: New file.
37498         * modules/scandir: New file.
37499         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
37500         HAVE_SCANDIR.
37501         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
37502         HAVE_SCANDIR.
37503         * doc/posix-functions/scandir.texi: Mention the new module and the
37504         portability problems.
37505
37506 2009-01-17  Bruno Haible  <bruno@clisp.org>
37507
37508         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
37509         Update documentation.
37510         (func_remove_suffix): Escape all dots in the suffix. Update
37511         documentation.
37512         (func_filter_filelist): Update documentation.
37513         Reported by Ralf Wildenhues.
37514
37515 2009-01-17  Bruno Haible  <bruno@clisp.org>
37516
37517         * modules/dprintf-posix-tests: New file.
37518         * tests/test-dprintf-posix.sh: New file.
37519         * tests/test-dprintf-posix.c: New file.
37520
37521         New modules 'dprintf', 'dprintf-posix'.
37522         * lib/stdio.in.h (dprintf): New declaration.
37523         * lib/dprintf.c: New file.
37524         * m4/dprintf.m4: New file.
37525         * m4/dprintf-posix.m4: New file.
37526         * modules/dprintf: New file.
37527         * modules/dprintf-posix: New file.
37528         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
37529         HAVE_DPRINTF, REPLACE_DPRINTF.
37530         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
37531         HAVE_DPRINTF, REPLACE_DPRINTF.
37532         * doc/posix-functions/dprintf.texi: Mention the new modules.
37533
37534 2009-01-17  Bruno Haible  <bruno@clisp.org>
37535
37536         * modules/vdprintf-posix-tests: New file.
37537         * tests/test-vdprintf-posix.sh: New file.
37538         * tests/test-vdprintf-posix.c: New file.
37539
37540         New modules 'vdprintf', 'vdprintf-posix'.
37541         * lib/stdio.in.h (vdprintf): New declaration.
37542         * lib/vdprintf.c: New file.
37543         * m4/vdprintf.m4: New file.
37544         * m4/vdprintf-posix.m4: New file.
37545         * modules/vdprintf: New file.
37546         * modules/vdprintf-posix: New file.
37547         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
37548         HAVE_VDPRINTF, REPLACE_VDPRINTF.
37549         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
37550         HAVE_VDPRINTF, REPLACE_VDPRINTF.
37551         * doc/posix-functions/vdprintf.texi: Mention the new modules.
37552
37553 2009-01-17  Bruno Haible  <bruno@clisp.org>
37554
37555         Fix replacement of fopen on mingw.
37556         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
37557         mingw.
37558
37559 2009-01-17  Bruno Haible  <bruno@clisp.org>
37560
37561         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
37562         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
37563
37564 2009-01-17  Bruno Haible  <bruno@clisp.org>
37565
37566         Avoid test-fflush2.sh failure on mingw.
37567         * tests/test-fflush2.c: Include binary-io.h.
37568         (main): Put standard input into binary mode.
37569         * modules/fflush-tests (Depends-on): Add binary-io.
37570
37571 2009-01-17  Bruno Haible  <bruno@clisp.org>
37572
37573         * lib/wchar.in.h: In another particular situation, include only the
37574         system's <wchar.h> file.
37575         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
37576         Reported by Albert Chin-A-Young <china@thewrittenword.com>
37577         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
37578
37579 2009-01-17  Bruno Haible  <bruno@clisp.org>
37580
37581         Support for stripping executables in --enable-relocatable.
37582         * build-aux/install-reloc: Expect one more argument, or an environment
37583         variable RELOC_STRIP_PROG. If set, strip the destination program and
37584         its wrapper.
37585         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
37586         RELOC_STRIP_PROG.
37587         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
37588         to set RELOCATABLE_STRIP.
37589         * NEWS: Mention the new Makefile requirement.
37590
37591 2009-01-17  Bruno Haible  <bruno@clisp.org>
37592
37593         * build-aux/install-reloc: Remove debugging information left over by
37594         C compiler on MacOS X.
37595
37596 2009-01-17  Bruno Haible  <bruno@clisp.org>
37597
37598         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
37599         * lib/progreloc.c (find_executable): Fix type of pointer passed to
37600         _NSGetExecutablePath.
37601
37602 2009-01-16  Jim Meyering  <meyering@redhat.com>
37603
37604         strerror: avoid warnings about discarding "const"
37605         * lib/strerror.c (rpl_strerror): Instead of returning a const
37606         string from each and every "case", use a variable, and add a single
37607         cast after the switch.
37608
37609 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
37610
37611         * lib/arpa_inet.in.h: Add extern "C" block for C++.
37612
37613 2009-01-16  Bruno Haible  <bruno@clisp.org>
37614
37615         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
37616         array initializer syntax that also works in C++ mode.
37617         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37618
37619 2009-01-16  Jim Meyering  <meyering@redhat.com>
37620
37621         poll: suppress a warning
37622         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
37623         to ignore "...unsigned expression < 0 is always false" warnings.
37624
37625 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
37626
37627         poll: remove declarations of unused variables
37628         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
37629         sockbuf and optlen.
37630
37631 2009-01-15  Bruno Haible  <bruno@clisp.org>
37632
37633         Make fflush-after-ungetc POSIX compliant on BSD systems.
37634         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
37635         (clear_ungetc_buffer): Implement also for other systems.
37636         (rpl_fflush): On glibc systems, invoke
37637         clear_ungetc_buffer_preserving_position. Otherwise, invoke
37638         clear_ungetc_buffer after fetching the stream's position, not before.
37639
37640 2009-01-15  Bruno Haible  <bruno@clisp.org>
37641
37642         Make fflush-after-ungetc POSIX compliant on glibc systems.
37643         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
37644         after ungetc.
37645         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
37646         (rpl_fflush): On glibc systems, simply call the system's fflush
37647         function after clearing the ungetc buffer.
37648         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
37649         Instead, lseek only to the end of file, then use the system's fseeko
37650         for the rest. On glibc systems, reset the EOF indicator bit.
37651
37652 2009-01-15  Jim Meyering  <meyering@redhat.com>
37653
37654         openmp.m4: revert quote-adding change, for portability to older autoconf
37655         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
37656         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
37657         Simon Josefsson noticed the problem when using autoconf-2.61.
37658
37659 2009-01-15  Bruno Haible  <bruno@clisp.org>
37660
37661         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
37662         * tests/test-fflush2.c (ASSERT): Always fail.
37663         (main): Add two tests for fflush() after ungetc(), taking into account
37664         the Austin Group's clarification.
37665         Suggested by Eric Blake.
37666
37667 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
37668
37669         mktime.m4: remove K&R-style function prototypes
37670         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
37671         for the Sun C++ compiler.
37672
37673 2009-01-14  Bruno Haible  <bruno@clisp.org>
37674
37675         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
37676         while including <wchar.h>.
37677         * lib/wchar.in.h: In two particular situations on HP-UX, include only
37678         the system's <wchar.h> file.
37679         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37680
37681 2009-01-14  Bruno Haible  <bruno@clisp.org>
37682
37683         * m4/csharp.m4: Don't mention gettext on the serial number line.
37684         * m4/csharpexec.m4: Likewise.
37685         * m4/eaccess.m4: Likewise.
37686         * m4/javaexec.m4: Likewise.
37687         * m4/sig_atomic_t.m4: Likewise.
37688         * m4/tmpdir.m4: Likewise.
37689         * m4/intldir.m4: Bump gettext version.
37690         * m4/lib-ld.m4: Likewise.
37691
37692 2009-01-14  Bruno Haible  <bruno@clisp.org>
37693
37694         * lib/progname.c (set_program_name): Add more comments.
37695         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
37696
37697 2009-01-14  Simon Josefsson  <simon@josefsson.org>
37698
37699         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
37700         were sys/stat.h does not define it.
37701
37702 2009-01-14  Jim Meyering  <meyering@redhat.com>
37703
37704         many *.m4 files: improve m4 quoting
37705         99% of this change was performed by running the following commands:
37706         git ls-files | grep '\.m4$' | xargs perl -pi \
37707           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
37708           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
37709           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
37710           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
37711         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
37712         The remainder were to add Copyright dates, increment serial numbers,
37713         undo some changes in comments, exclude m4/intl.m4, and add quotes
37714         around the "1" in ",1" where the unusual spacing prohibited the
37715         above regexps from doing the job.  For more details, see
37716         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
37717         * m4/acl.m4: Modified.
37718         * m4/afs.m4: Likewise.
37719         * m4/alloca.m4: Likewise.
37720         * m4/argp.m4: Likewise.
37721         * m4/argz.m4: Likewise.
37722         * m4/atexit.m4: Likewise.
37723         * m4/bison-i18n.m4: Likewise.
37724         * m4/bison.m4: Likewise.
37725         * m4/byteswap.m4: Likewise.
37726         * m4/c-stack.m4: Likewise.
37727         * m4/c-strtod.m4: Likewise.
37728         * m4/calloc.m4: Likewise.
37729         * m4/canonicalize-lgpl.m4: Likewise.
37730         * m4/chown.m4: Likewise.
37731         * m4/clock_time.m4: Likewise.
37732         * m4/codeset.m4: Likewise.
37733         * m4/copy-file.m4: Likewise.
37734         * m4/csharp.m4: Likewise.
37735         * m4/csharpcomp.m4: Likewise.
37736         * m4/csharpexec.m4: Likewise.
37737         * m4/d-ino.m4: Likewise.
37738         * m4/d-type.m4: Likewise.
37739         * m4/dirfd.m4: Likewise.
37740         * m4/double-slash-root.m4: Likewise.
37741         * m4/eaccess.m4: Likewise.
37742         * m4/eealloc.m4: Likewise.
37743         * m4/environ.m4: Likewise.
37744         * m4/errno_h.m4: Likewise.
37745         * m4/euidaccess.m4: Likewise.
37746         * m4/execute.m4: Likewise.
37747         * m4/fatal-signal.m4: Likewise.
37748         * m4/fchdir.m4: Likewise.
37749         * m4/fcntl_h.m4: Likewise.
37750         * m4/fileblocks.m4: Likewise.
37751         * m4/filenamecat.m4: Likewise.
37752         * m4/findprog.m4: Likewise.
37753         * m4/flexmember.m4: Likewise.
37754         * m4/fnmatch.m4: Likewise.
37755         * m4/fopen.m4: Likewise.
37756         * m4/fpending.m4: Likewise.
37757         * m4/fprintf-posix.m4: Likewise.
37758         * m4/free.m4: Likewise.
37759         * m4/frexp.m4: Likewise.
37760         * m4/frexpl.m4: Likewise.
37761         * m4/fsusage.m4: Likewise.
37762         * m4/ftruncate.m4: Likewise.
37763         * m4/gc-camellia.m4: Likewise.
37764         * m4/gc-random.m4: Likewise.
37765         * m4/gc.m4: Likewise.
37766         * m4/getaddrinfo.m4: Likewise.
37767         * m4/getcwd-abort-bug.m4: Likewise.
37768         * m4/getcwd-path-max.m4: Likewise.
37769         * m4/getdate.m4: Likewise.
37770         * m4/getdomainname.m4: Likewise.
37771         * m4/getgroups.m4: Likewise.
37772         * m4/gethostname.m4: Likewise.
37773         * m4/gethrxtime.m4: Likewise.
37774         * m4/getline.m4: Likewise.
37775         * m4/getloadavg.m4: Likewise.
37776         * m4/getndelim2.m4: Likewise.
37777         * m4/getpass.m4: Likewise.
37778         * m4/gettext.m4: Likewise.
37779         * m4/gettime.m4: Likewise.
37780         * m4/gettimeofday.m4: Likewise.
37781         * m4/gnulib-common.m4: Likewise.
37782         * m4/group-member.m4: Likewise.
37783         * m4/host-os.m4: Likewise.
37784         * m4/iconv.m4: Likewise.
37785         * m4/iconv_open.m4: Likewise.
37786         * m4/inet_ntop.m4: Likewise.
37787         * m4/inet_pton.m4: Likewise.
37788         * m4/inline.m4: Likewise.
37789         * m4/intldir.m4: Likewise.
37790         * m4/intlmacosx.m4: Likewise.
37791         * m4/intmax.m4: Likewise.
37792         * m4/intmax_t.m4: Likewise.
37793         * m4/inttypes.m4: Likewise.
37794         * m4/inttypes_h.m4: Likewise.
37795         * m4/inttypes-pri.m4: Likewise.
37796         * m4/isapipe.m4: Likewise.
37797         * m4/isnand.m4: Likewise.
37798         * m4/isnanf.m4: Likewise.
37799         * m4/isnanl.m4: Likewise.
37800         * m4/javacomp.m4: Likewise.
37801         * m4/javaexec.m4: Likewise.
37802         * m4/jm-winsz1.m4: Likewise.
37803         * m4/jm-winsz2.m4: Likewise.
37804         * m4/lchown.m4: Likewise.
37805         * m4/lcmessage.m4: Likewise.
37806         * m4/ldexpl.m4: Likewise.
37807         * m4/lib-ld.m4: Likewise.
37808         * m4/lib-link.m4: Likewise.
37809         * m4/libsigsegv.m4: Likewise.
37810         * m4/link-follow.m4: Likewise.
37811         * m4/localcharset.m4: Likewise.
37812         * m4/locale-fr.m4: Likewise.
37813         * m4/locale-ja.m4: Likewise.
37814         * m4/locale-tr.m4: Likewise.
37815         * m4/locale-zh.m4: Likewise.
37816         * m4/lock.m4: Likewise.
37817         * m4/longlong.m4: Likewise.
37818         * m4/ls-mntd-fs.m4: Likewise.
37819         * m4/lstat.m4: Likewise.
37820         * m4/malloc.m4: Likewise.
37821         * m4/mathl.m4: Likewise.
37822         * m4/mbrtowc.m4: Likewise.
37823         * m4/mbstate_t.m4: Likewise.
37824         * m4/mbswidth.m4: Likewise.
37825         * m4/memchr.m4: Likewise.
37826         * m4/memcmp.m4: Likewise.
37827         * m4/memcpy.m4: Likewise.
37828         * m4/memmem.m4: Likewise.
37829         * m4/memmove.m4: Likewise.
37830         * m4/mempcpy.m4: Likewise.
37831         * m4/memrchr.m4: Likewise.
37832         * m4/memset.m4: Likewise.
37833         * m4/minmax.m4: Likewise.
37834         * m4/mkdir-slash.m4: Likewise.
37835         * m4/mkdtemp.m4: Likewise.
37836         * m4/mktime.m4: Likewise.
37837         * m4/mmap-anon.m4: Likewise.
37838         * m4/mountlist.m4: Likewise.
37839         * m4/nanosleep.m4: Likewise.
37840         * m4/nls.m4: Likewise.
37841         * m4/nocrash.m4: Likewise.
37842         * m4/open.m4: Likewise.
37843         * m4/openat.m4: Likewise.
37844         * m4/openmp.m4: Likewise.
37845         * m4/pathmax.m4: Likewise.
37846         * m4/perl.m4: Likewise.
37847         * m4/physmem.m4: Likewise.
37848         * m4/pipe.m4: Likewise.
37849         * m4/po.m4: Likewise.
37850         * m4/poll.m4: Likewise.
37851         * m4/posixtm.m4: Likewise.
37852         * m4/posixver.m4: Likewise.
37853         * m4/printf-frexp.m4: Likewise.
37854         * m4/printf-frexpl.m4: Likewise.
37855         * m4/printf-posix.m4: Likewise.
37856         * m4/printf-posix-rpl.m4: Likewise.
37857         * m4/printf.m4: Likewise.
37858         * m4/progtest.m4: Likewise.
37859         * m4/putenv.m4: Likewise.
37860         * m4/readline.m4: Likewise.
37861         * m4/readlink.m4: Likewise.
37862         * m4/readutmp.m4: Likewise.
37863         * m4/realloc.m4: Likewise.
37864         * m4/regex.m4: Likewise.
37865         * m4/relocatable.m4: Likewise.
37866         * m4/relocatable-lib.m4: Likewise.
37867         * m4/rename-dest-slash.m4: Likewise.
37868         * m4/rename.m4: Likewise.
37869         * m4/rmdir-errno.m4: Likewise.
37870         * m4/rmdir.m4: Likewise.
37871         * m4/roundf.m4: Likewise.
37872         * m4/roundl.m4: Likewise.
37873         * m4/rpmatch.m4: Likewise.
37874         * m4/save-cwd.m4: Likewise.
37875         * m4/selinux-selinux-h.m4: Likewise.
37876         * m4/setenv.m4: Likewise.
37877         * m4/settime.m4: Likewise.
37878         * m4/sig2str.m4: Likewise.
37879         * m4/sig_atomic_t.m4: Likewise.
37880         * m4/signalblocking.m4: Likewise.
37881         * m4/signbit.m4: Likewise.
37882         * m4/sigpipe.m4: Likewise.
37883         * m4/sockets.m4: Likewise.
37884         * m4/sockpfaf.m4: Likewise.
37885         * m4/st_dm_mode.m4: Likewise.
37886         * m4/stat-time.m4: Likewise.
37887         * m4/stdbool.m4: Likewise.
37888         * m4/stdint.m4: Likewise.
37889         * m4/stdint_h.m4: Likewise.
37890         * m4/stpcpy.m4: Likewise.
37891         * m4/stpncpy.m4: Likewise.
37892         * m4/strcase.m4: Likewise.
37893         * m4/strchrnul.m4: Likewise.
37894         * m4/strcspn.m4: Likewise.
37895         * m4/strdup.m4: Likewise.
37896         * m4/strftime.m4: Likewise.
37897         * m4/strndup.m4: Likewise.
37898         * m4/strnlen.m4: Likewise.
37899         * m4/strpbrk.m4: Likewise.
37900         * m4/strptime.m4: Likewise.
37901         * m4/strsep.m4: Likewise.
37902         * m4/strtod.m4: Likewise.
37903         * m4/strtoimax.m4: Likewise.
37904         * m4/strtok_r.m4: Likewise.
37905         * m4/strtol.m4: Likewise.
37906         * m4/strtoll.m4: Likewise.
37907         * m4/strtoul.m4: Likewise.
37908         * m4/strtoull.m4: Likewise.
37909         * m4/strtoumax.m4: Likewise.
37910         * m4/strverscmp.m4: Likewise.
37911         * m4/threadlib.m4: Likewise.
37912         * m4/timegm.m4: Likewise.
37913         * m4/tm_gmtoff.m4: Likewise.
37914         * m4/tmpdir.m4: Likewise.
37915         * m4/tmpfile.m4: Likewise.
37916         * m4/tzset.m4: Likewise.
37917         * m4/uintmax_t.m4: Likewise.
37918         * m4/unlinkdir.m4: Likewise.
37919         * m4/unlocked-io.m4: Likewise.
37920         * m4/uptime.m4: Likewise.
37921         * m4/userspec.m4: Likewise.
37922         * m4/utimbuf.m4: Likewise.
37923         * m4/utime.m4: Likewise.
37924         * m4/utimes-null.m4: Likewise.
37925         * m4/utimes.m4: Likewise.
37926         * m4/vararrays.m4: Likewise.
37927         * m4/vasnprintf.m4: Likewise.
37928         * m4/vfprintf-posix.m4: Likewise.
37929         * m4/vprintf-posix.m4: Likewise.
37930         * m4/wait-process.m4: Likewise.
37931         * m4/wchar_t.m4: Likewise.
37932         * m4/wint_t.m4: Likewise.
37933         * m4/write-any-file.m4: Likewise.
37934         * m4/yield.m4: Likewise.
37935
37936 2009-01-13  Bruno Haible  <bruno@clisp.org>
37937
37938         Avoid test-copy-file.sh failures when ACL support insufficient.
37939         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
37940         TESTS_ENVIRONMENT.
37941         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
37942         Reported by Jim Meyering.
37943
37944 2009-01-13  Bruno Haible  <bruno@clisp.org>
37945
37946         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
37947         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
37948         * modules/unistdio/u8-printf-parse (Files): Likewise.
37949         * modules/unistdio/u32-printf-parse (Files): Likewise.
37950         * modules/unistdio/ulc-printf-parse (Files): Likewise.
37951
37952 2009-01-13  Simon Josefsson  <simon@josefsson.org>
37953
37954         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
37955         and m4/inttypes_h.m4 too.
37956
37957 2009-01-12  Eric Blake  <ebb9@byu.net>
37958
37959         tests: IRIX 6.2 cc can't compile -0.0 into .data
37960         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
37961         rather than at compile-time.
37962         * tests/test-floorl.c (minus_zero): Likewise.
37963         * tests/test-frexpl.c (minus_zero): Likewise.
37964         * tests/test-isnan.c (minus_zerol): Likewise.
37965         * tests/test-isnanl.h (minus_zero): Likewise.
37966         * tests/test-ldexpl.c (minus_zero): Likewise.
37967         * tests/test-roundl.c (minus_zero): Likewise.
37968         * tests/test-signbit.c (minus_zerol): Likewise.
37969         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
37970         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
37971         * tests/test-truncl.c (minus_zero): Likewise.
37972         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
37973         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
37974         Reported by Tom G. Christensen and Nelson H. F. Beebe.
37975
37976 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
37977
37978         regex: fix glibc bug 9697
37979         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
37980         handling.
37981
37982 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
37983
37984         regex: fix glibc bug 697
37985         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
37986         being NULL also if there are no backreferences.
37987
37988 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
37989
37990         regex: merge glibc changes
37991         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
37992         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
37993         re_string_skip_chars, re_string_reconstruct): Likewise.
37994         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
37995
37996 2009-01-07  Jim Meyering  <meyering@redhat.com>
37997
37998         poll: filter through cppi
37999         * lib/poll.c: Indent cpp directives to reflect nesting.
38000
38001 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
38002
38003         poll: don't return uninitialized
38004         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
38005
38006 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
38007
38008         avoid compile failure on AIX 6.1
38009         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
38010         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
38011
38012 2009-01-04  Jim Meyering  <meyering@redhat.com>
38013
38014         remove duplicate inclusion of <stdio.h>
38015         * tests/test-fprintf-posix.c: Likewise.
38016         * tests/test-printf-posix.c: Likewise.
38017         * tests/test-snprintf-posix.c: Likewise.
38018         * tests/test-sprintf-posix.c: Likewise.
38019         * tests/test-vasprintf-posix.c: Likewise.
38020         * tests/test-vfprintf-posix.c: Likewise.
38021         * tests/test-vprintf-posix.c: Likewise.
38022         * tests/test-vsnprintf-posix.c: Likewise.
38023         * tests/test-vsprintf-posix.c: Likewise.
38024
38025 2009-01-03  Jim Meyering  <meyering@redhat.com>
38026
38027         gnulib-tool: fix sed-based filtering
38028         * gnulib-tool (func_filter_filelist): Remove extra backslash
38029         in sed_fff_filter definition.
38030
38031 2009-01-02  Jim Meyering  <meyering@redhat.com>
38032
38033         strftime: avoid compilation failure on Solaris 2.6
38034         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
38035         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
38036         Don't #define mbrlen or mbsinit, since now they're guaranteed to
38037         be available.  Reported by Tom G. Christensen.  Details in
38038         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
38039
38040 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38041             Bruno Haible  <bruno@clisp.org>
38042
38043         Speed up gnulib-tool by doing more string processing through shell
38044         built-ins.
38045         * gnulib-tool (fast_func_append): New variable.
38046         (func_remove_prefix, func_remove_suffix): New functions.
38047         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
38048         (func_filter_filelist): New function.
38049         (func_get_dependencies): Use func_remove_suffix instead of sed.
38050         (func_get_automake_snippet): Use func_filter_filelist instead of a
38051         subshell and sed invocation.
38052
38053 2009-01-01  Bruno Haible  <bruno@clisp.org>
38054
38055         Fix a security bug.
38056         * gnulib-tool (func_import, import, update): Don't allow the characters
38057         '"', '$', '`', '\' in macro arguments that become part of commands that
38058         are evaluated.
38059
38060 2009-01-01  Bruno Haible  <bruno@clisp.org>
38061
38062         * gnulib-tool (func_reset_sigpipe): Add more comments.
38063
38064 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38065
38066         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
38067         func_emit_tests_Makefile_am, func_import): Abort loops early if we
38068         already know the answer.
38069
38070 2009-01-01  Jim Meyering  <meyering@redhat.com>
38071
38072         * lib/version-etc.c (version_etc_va): Update copyright year.
38073
38074 2008-12-30  Bruno Haible  <bruno@clisp.org>
38075
38076         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
38077         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
38078         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
38079
38080 2008-12-29  Eric Blake  <ebb9@byu.net>
38081
38082         multiarch: avoid autoconf AC_REQUIRE bug
38083         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
38084         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
38085         2.63 and older.
38086         Reported by Bruno Haible, and analyzed in
38087         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
38088
38089 2008-12-29  Bruno Haible  <bruno@clisp.org>
38090
38091         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
38092         files in subdirectories correctly.
38093         Reported by Ralf Wildenhues.
38094
38095 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38096
38097         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
38098         rather than 'join FILE -', for Solaris join.
38099
38100 2008-12-29  Bruno Haible  <bruno@clisp.org>
38101
38102         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
38103         quoting.
38104         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
38105         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
38106         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
38107         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
38108         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
38109         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
38110         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
38111         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
38112         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
38113         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
38114         * m4/nls.m4 (AM_NLS): Likewise.
38115         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
38116         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
38117         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
38118         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
38119         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
38120         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
38121         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
38122         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
38123         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
38124         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
38125         * m4/xsize.m4 (gl_XSIZE): Likewise.
38126         Suggested by Jim Meyering.
38127
38128 2008-11-17  Bruce Korb  <bkorb@gnu.org>
38129
38130         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
38131         * lib/parse-duration.c: use a switch instead of cascading if's.
38132
38133 2008-12-29  Eric Blake  <ebb9@byu.net>
38134
38135         wchar.h: supply WEOF on Irix 5.3
38136         * lib/wchar.in.h (wint_t): Also supply WEOF.
38137         * lib/wctype.in.h (wint_t): Likewise.
38138         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
38139         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
38140         Reported by Tom G. Christensen.
38141
38142 2008-12-26  Bruno Haible  <bruno@clisp.org>
38143
38144         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
38145         i486, i586, i686.
38146
38147 2008-12-26  Bruno Haible  <bruno@clisp.org>
38148
38149         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
38150
38151 2008-12-26  Bruno Haible  <bruno@clisp.org>
38152
38153         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
38154         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
38155         not __STDC_CONSTANT_MACROS.
38156         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
38157
38158 2008-12-25  Bruno Haible  <bruno@clisp.org>
38159
38160         Add support for universal builds to vasnprintf.
38161         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
38162         universal builds, guess no.
38163         * modules/vasnprintf-posix (Depends-on): Add multiarch.
38164         * modules/vasprintf-posix (Depends-on): Likewise.
38165         * modules/fprintf-posix (Depends-on): Likewise.
38166         * modules/vfprintf-posix (Depends-on): Likewise.
38167         * modules/snprintf-posix (Depends-on): Likewise.
38168         * modules/vsnprintf-posix (Depends-on): Likewise.
38169         * modules/sprintf-posix (Depends-on): Likewise.
38170         * modules/vsprintf-posix (Depends-on): Likewise.
38171         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
38172         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
38173         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
38174         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
38175         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
38176         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
38177         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
38178
38179         Add support for universal builds to <inttypes.h>.
38180         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
38181         _SCNu64_PREFIX): In Apple
38182         universal builds, define directly, using _LP64.
38183         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
38184         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
38185         * modules/inttypes (Depends-on): Add multiarch.
38186         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
38187
38188         Add support for universal builds to <stdint.h>.
38189         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
38190         universal builds, define directly, using _LP64.
38191         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
38192         Apple universal builds, don't test for the size and suffix of ptrdiff_t
38193         and size_t.
38194         * modules/stdint (Depends-on): Add multiarch.
38195         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
38196
38197         New module 'multiarch'.
38198         * modules/multiarch: New file.
38199         * m4/multiarch.m4: New file.
38200
38201 2008-12-25  Bruno Haible  <bruno@clisp.org>
38202
38203         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
38204
38205 2008-12-25  Bruno Haible  <bruno@clisp.org>
38206
38207         * modules/btowc (License): Relicense under LGPLv2+.
38208         * modules/mbsinit (License): Likewise.
38209         * modules/mbrtowc (License): Likewise.
38210         * modules/wcrtomb (License): Likewise.
38211         * modules/streq (License): Likewise.
38212         Reported by David Lutterkort <lutter@redhat.com>.
38213
38214 2008-12-23  Bruno Haible  <bruno@clisp.org>
38215
38216         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
38217
38218 2008-12-23  Bruno Haible  <bruno@clisp.org>
38219
38220         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
38221         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
38222         GETADDRINFO_LIB, not in LIBS.
38223         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
38224         * modules/canon-host (Link): Likewise.
38225         * NEWS: Mention the change.
38226         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
38227         GETADDRINFO_LIB.
38228
38229 2008-12-22  Bruno Haible  <bruno@clisp.org>
38230
38231         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
38232         * doc/posix-functions/iswalpha_l.texi: Likewise.
38233         * doc/posix-functions/iswblank_l.texi: Likewise.
38234         * doc/posix-functions/iswcntrl_l.texi: Likewise.
38235         * doc/posix-functions/iswctype_l.texi: Likewise.
38236         * doc/posix-functions/iswdigit_l.texi: Likewise.
38237         * doc/posix-functions/iswgraph_l.texi: Likewise.
38238         * doc/posix-functions/iswlower_l.texi: Likewise.
38239         * doc/posix-functions/iswprint_l.texi: Likewise.
38240         * doc/posix-functions/iswpunct_l.texi: Likewise.
38241         * doc/posix-functions/iswspace_l.texi: Likewise.
38242         * doc/posix-functions/iswupper_l.texi: Likewise.
38243         * doc/posix-functions/iswxdigit_l.texi: Likewise.
38244         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
38245         * doc/posix-functions/open_wmemstream.texi: Likewise.
38246         * doc/posix-functions/swscanf.texi: Likewise.
38247         * doc/posix-functions/towctrans_l.texi: Likewise.
38248         * doc/posix-functions/towlower.texi: Likewise.
38249         * doc/posix-functions/towlower_l.texi: Likewise.
38250         * doc/posix-functions/towupper.texi: Likewise.
38251         * doc/posix-functions/towupper_l.texi: Likewise.
38252         * doc/posix-functions/vfwprintf.texi: Likewise.
38253         * doc/posix-functions/vfwscanf.texi: Likewise.
38254         * doc/posix-functions/vswscanf.texi: Likewise.
38255         * doc/posix-functions/vwprintf.texi: Likewise.
38256         * doc/posix-functions/vwscanf.texi: Likewise.
38257         * doc/posix-functions/wcpcpy.texi: Likewise.
38258         * doc/posix-functions/wcpncpy.texi: Likewise.
38259         * doc/posix-functions/wcscasecmp.texi: Likewise.
38260         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
38261         * doc/posix-functions/wcscoll_l.texi: Likewise.
38262         * doc/posix-functions/wcsdup.texi: Likewise.
38263         * doc/posix-functions/wcsncasecmp.texi: Likewise.
38264         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
38265         * doc/posix-functions/wcsnlen.texi: Likewise.
38266         * doc/posix-functions/wcsnrtombs.texi: Likewise.
38267         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
38268         * doc/posix-functions/wctrans_l.texi: Likewise.
38269         * doc/posix-functions/wctype_l.texi: Likewise.
38270         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
38271         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
38272         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
38273         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
38274         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
38275         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
38276         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
38277         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
38278         * doc/glibc-functions/wcschrnul.texi: Likewise.
38279         * doc/glibc-functions/wcsftime_l.texi: Likewise.
38280         * doc/glibc-functions/wcstod_l.texi: Likewise.
38281         * doc/glibc-functions/wcstof_l.texi: Likewise.
38282         * doc/glibc-functions/wcstol_l.texi: Likewise.
38283         * doc/glibc-functions/wcstold_l.texi: Likewise.
38284         * doc/glibc-functions/wcstoll_l.texi: Likewise.
38285         * doc/glibc-functions/wcstoq.texi: Likewise.
38286         * doc/glibc-functions/wcstoul_l.texi: Likewise.
38287         * doc/glibc-functions/wcstoull_l.texi: Likewise.
38288         * doc/glibc-functions/wcstouq.texi: Likewise.
38289         * doc/glibc-functions/wmempcpy.texi: Likewise.
38290
38291 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
38292             Eric Blake  <ebb9@byu.net>
38293             Paolo Bonzini  <bonzini@gnu.org>
38294             Bruno Haible  <bruno@clisp.org>
38295
38296         Make c-stack work on Haiku.
38297         * lib/c-stack.c (SA_ONSTACK): Define fallback.
38298         (c_stack_action): Use SA_ONSTACK flag.
38299
38300 2008-12-22  Bruno Haible  <bruno@clisp.org>
38301
38302         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
38303
38304 2008-12-22  Bruno Haible  <bruno@clisp.org>
38305
38306         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
38307         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
38308         being overridden.
38309         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
38310         New macros.
38311         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
38312         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
38313         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
38314         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
38315
38316 2008-12-22  Bruno Haible  <bruno@clisp.org>
38317
38318         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
38319         from test code.
38320
38321 2008-12-22  Eric Blake  <ebb9@byu.net>
38322
38323         Avoid gcc warnings on cygwin.
38324         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
38325         Avoid unused variable.
38326         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
38327         Likewise.
38328
38329 2008-12-22  Bruno Haible  <bruno@clisp.org>
38330
38331         Remove HAVE_MBRTOWC conditionals.
38332         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
38333         (mbscasecmp): Assume mbrtowc function.
38334         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
38335         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
38336         * lib/mbschr.c: Include mbuiter.h unconditionally.
38337         (mbschr): Assume mbrtowc function.
38338         * lib/mbscspn.c: Include mbuiter.h unconditionally.
38339         (mbscspn): Assume mbrtowc function.
38340         * lib/mbslen.c: Include mbuiter.h unconditionally.
38341         (mbslen): Assume mbrtowc function.
38342         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
38343         (mbsncasecmp): Assume mbrtowc function.
38344         * lib/mbsnlen.c: Include mbiter.h unconditionally.
38345         (mbsnlen): Assume mbrtowc function.
38346         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
38347         (mbspbrk): Assume mbrtowc function.
38348         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
38349         (mbspcasecmp): Assume mbrtowc function.
38350         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
38351         (mbsrchr): Assume mbrtowc function.
38352         * lib/mbssep.c: Include mbuiter.h unconditionally.
38353         (mbssep): Assume mbrtowc function.
38354         * lib/mbsspn.c: Include mbuiter.h unconditionally.
38355         (mbsspn): Assume mbrtowc function.
38356         * lib/mbsstr.c: Include mbuiter.h unconditionally.
38357         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
38358         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
38359         (mbstok_r): Assume mbrtowc function.
38360         * lib/propername.c: Include mbuiter.h unconditionally.
38361         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
38362         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
38363         (trim2): Assume mbrtowc function.
38364         * lib/mbswidth.c (mbsinit): Remove fallback definition.
38365         (mbsnwidth): Assume mbrtowc function.
38366         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
38367         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
38368         fallback definitions.
38369         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
38370
38371 2008-12-22  Bruno Haible  <bruno@clisp.org>
38372
38373         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
38374
38375 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
38376
38377         * modules/regex: Request emulations for the mb*/wc* functions we need.
38378         * m4/regex.m4: Don't look for those functions here.
38379         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
38380
38381 2008-12-22  Bruno Haible  <bruno@clisp.org>
38382
38383         * modules/fnmatch (Depends-on): Remove duplicated dependency.
38384
38385 2008-12-21  Bruno Haible  <bruno@clisp.org>
38386
38387         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
38388         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
38389         (Include): Remove conditionalization.
38390         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
38391         (Include): Remove conditionalization.
38392         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
38393         (Include): Remove conditionalization.
38394         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
38395         * m4/mbfile.m4 (gl_MBFILE): Likewise.
38396         * NEWS: Mention the change.
38397         Reported by Alan Hourihane <alanh@fairlite.co.uk>
38398         via Sergey Poznyakoff <gray@gnu.org.ua>.
38399
38400 2008-12-21  Bruno Haible  <bruno@clisp.org>
38401
38402         * MODULES.html.sh (Extended multibyte and wide character utilities
38403         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
38404         wcrtomb, wcsrtombs.
38405         (Support for systems lacking POSIX:2008): Add accept, bind, close,
38406         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
38407         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
38408         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
38409
38410 2008-12-21  Bruno Haible  <bruno@clisp.org>
38411
38412         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
38413
38414 2008-12-21  Bruno Haible  <bruno@clisp.org>
38415
38416         * modules/wcsnrtombs-tests: New file.
38417         * tests/test-wcsnrtombs1.sh: New file.
38418         * tests/test-wcsnrtombs2.sh: New file.
38419         * tests/test-wcsnrtombs3.sh: New file.
38420         * tests/test-wcsnrtombs4.sh: New file.
38421         * tests/test-wcsnrtombs.c: New file.
38422
38423         New module 'wcsnrtombs'.
38424         * lib/wchar.in.h (wcsnrtombs): New declaration.
38425         * lib/wcsnrtombs.c: New file.
38426         * lib/wcsrtombs-state.c: New file.
38427         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
38428         (internal_state): Remove variable.
38429         * m4/wcsnrtombs.m4: New file.
38430         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
38431         compilation units.
38432         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
38433         HAVE_WCSNRTOMBS.
38434         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
38435         HAVE_WCSNRTOMBS.
38436         * modules/wcsnrtombs: New file.
38437         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
38438         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
38439
38440 2008-12-21  Bruno Haible  <bruno@clisp.org>
38441
38442         * modules/wcsrtombs-tests: New file.
38443         * tests/test-wcsrtombs1.sh: New file.
38444         * tests/test-wcsrtombs2.sh: New file.
38445         * tests/test-wcsrtombs3.sh: New file.
38446         * tests/test-wcsrtombs4.sh: New file.
38447         * tests/test-wcsrtombs.c: New file.
38448
38449         New module 'wcsrtombs'.
38450         * lib/wchar.in.h (wcsrtombs): New declaration.
38451         * lib/wcsrtombs.c: New file.
38452         * m4/wcsrtombs.m4: New file.
38453         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
38454         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
38455         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
38456         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
38457         * modules/wcsrtombs: New file.
38458         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
38459         bugs.
38460
38461 2008-12-21  Bruno Haible  <bruno@clisp.org>
38462
38463         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
38464         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
38465         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
38466         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
38467         if not correct.
38468         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
38469         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
38470         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
38471         m4/locale-zh.m4, m4/codeset.m4.
38472         * doc/posix-functions/wcrtomb.texi: Document the bug.
38473
38474 2008-12-21  Bruno Haible  <bruno@clisp.org>
38475
38476         Work around a btowc() bug on IRIX 6.5.
38477         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
38478         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
38479         REPLACE_WTOBC if not.
38480         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
38481         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
38482         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
38483
38484 2008-12-21  Bruno Haible  <bruno@clisp.org>
38485
38486         * modules/wcrtomb-tests: New file.
38487         * tests/test-wcrtomb.sh: New file.
38488         * tests/test-wcrtomb.c: New file.
38489
38490         New module 'wcrtomb'.
38491         * lib/wchar.in.h (wcrtomb): New declaration.
38492         * lib/wcrtomb.c: New file.
38493         * m4/wcrtomb.m4: New file.
38494         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
38495         HAVE_WCRTOMB.
38496         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
38497         HAVE_WCRTOMB.
38498         * modules/wcrtomb: New file.
38499         * doc/posix-functions/wcrtomb.texi: Mention the new module.
38500
38501 2008-12-21  Bruno Haible  <bruno@clisp.org>
38502
38503         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
38504         * modules/mbsrtowcs (Files): Likewise.
38505         * modules/wctob (Files): Likewise.
38506         * modules/c-strcase-tests (Files): Likewise.
38507         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
38508         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
38509         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
38510         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
38511         * modules/vasnprintf-posix-tests (Files): Likewise.
38512
38513 2008-12-21  William Pursell  <bill.pursell@gmail.com>
38514
38515         gitlog-to-changelog: pass all command-line arguments to git-log
38516         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
38517         it is sometimes convenient to filter the commits in various ways.
38518         gitlog-to-changelog only allows --since to specify a start date,
38519         but git-log itself supports many other filtering mechanisms.
38520         At the moment, I want to filter by branch name.  Rather than
38521         adding a --branch option to gitlog-to-changelog, it seems more
38522         flexible to simply pass all options directly to git-log and let
38523         git do the work.  Notice that this effectively makes --since a
38524         redundant option for gitlog-to-changelog, but removing it would
38525         require current usage to change since calls would then require
38526         an additional '--'.
38527
38528 2008-12-21  Bruno Haible  <bruno@clisp.org>
38529
38530         * modules/mbsnrtowcs-tests: New file.
38531         * tests/test-mbsnrtowcs1.sh: New file.
38532         * tests/test-mbsnrtowcs2.sh: New file.
38533         * tests/test-mbsnrtowcs3.sh: New file.
38534         * tests/test-mbsnrtowcs4.sh: New file.
38535         * tests/test-mbsnrtowcs.c: New file.
38536
38537         New module 'mbsnrtowcs'.
38538         * lib/wchar.in.h (mbsnrtowcs): New declaration.
38539         * lib/mbsnrtowcs.c: New file.
38540         * lib/mbsrtowcs-state.c: New file.
38541         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
38542         (internal_state): Remove variable.
38543         * m4/mbsnrtowcs.m4: New file.
38544         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
38545         compilation units.
38546         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
38547         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
38548         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
38549         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
38550         * modules/mbsnrtowcs: New file.
38551         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
38552         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
38553         portability problem.
38554
38555 2008-12-21  Bruno Haible  <bruno@clisp.org>
38556
38557         Work around mbsrtowcs bug.
38558         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
38559         (gl_FUNC_MBSRTOWCS): Invoke it.
38560         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
38561         m4/locale-zh.m4.
38562         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
38563
38564 2008-12-21  Bruno Haible  <bruno@clisp.org>
38565
38566         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
38567
38568 2008-12-21  Bruno Haible  <bruno@clisp.org>
38569
38570         Update doc for AIX.
38571         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
38572         16-bit wchar_t type.
38573         * doc/posix-functions/btowc.texi: Likewise.
38574         * doc/posix-functions/fgetwc.texi: Likewise.
38575         * doc/posix-functions/fgetws.texi: Likewise.
38576         * doc/posix-functions/fputwc.texi: Likewise.
38577         * doc/posix-functions/fputws.texi: Likewise.
38578         * doc/posix-functions/fwide.texi: Likewise.
38579         * doc/posix-functions/fwprintf.texi: Likewise.
38580         * doc/posix-functions/fwscanf.texi: Likewise.
38581         * doc/posix-functions/getwchar.texi: Likewise.
38582         * doc/posix-functions/getwc.texi: Likewise.
38583         * doc/posix-functions/iswalnum.texi: Likewise.
38584         * doc/posix-functions/iswalpha.texi: Likewise.
38585         * doc/posix-functions/iswblank.texi: Likewise.
38586         * doc/posix-functions/iswcntrl.texi: Likewise.
38587         * doc/posix-functions/iswctype.texi: Likewise.
38588         * doc/posix-functions/iswdigit.texi: Likewise.
38589         * doc/posix-functions/iswgraph.texi: Likewise.
38590         * doc/posix-functions/iswlower.texi: Likewise.
38591         * doc/posix-functions/iswprint.texi: Likewise.
38592         * doc/posix-functions/iswpunct.texi: Likewise.
38593         * doc/posix-functions/iswspace.texi: Likewise.
38594         * doc/posix-functions/iswupper.texi: Likewise.
38595         * doc/posix-functions/iswxdigit.texi: Likewise.
38596         * doc/posix-functions/mbrtowc.texi: Likewise.
38597         * doc/posix-functions/mbsrtowcs.texi: Likewise.
38598         * doc/posix-functions/mbstowcs.texi: Likewise.
38599         * doc/posix-functions/mbtowc.texi: Likewise.
38600         * doc/posix-functions/putwchar.texi: Likewise.
38601         * doc/posix-functions/putwc.texi: Likewise.
38602         * doc/posix-functions/swprintf.texi: Likewise.
38603         * doc/posix-functions/tolower.texi: Likewise.
38604         * doc/posix-functions/toupper.texi: Likewise.
38605         * doc/posix-functions/towctrans.texi: Likewise.
38606         * doc/posix-functions/ungetwc.texi: Likewise.
38607         * doc/posix-functions/vswprintf.texi: Likewise.
38608         * doc/posix-functions/wcrtomb.texi: Likewise.
38609         * doc/posix-functions/wcscat.texi: Likewise.
38610         * doc/posix-functions/wcschr.texi: Likewise.
38611         * doc/posix-functions/wcscmp.texi: Likewise.
38612         * doc/posix-functions/wcscoll.texi: Likewise.
38613         * doc/posix-functions/wcscpy.texi: Likewise.
38614         * doc/posix-functions/wcscspn.texi: Likewise.
38615         * doc/posix-functions/wcsftime.texi: Likewise.
38616         * doc/posix-functions/wcslen.texi: Likewise.
38617         * doc/posix-functions/wcsncat.texi: Likewise.
38618         * doc/posix-functions/wcsncmp.texi: Likewise.
38619         * doc/posix-functions/wcsncpy.texi: Likewise.
38620         * doc/posix-functions/wcspbrk.texi: Likewise.
38621         * doc/posix-functions/wcsrchr.texi: Likewise.
38622         * doc/posix-functions/wcsrtombs.texi: Likewise.
38623         * doc/posix-functions/wcsspn.texi: Likewise.
38624         * doc/posix-functions/wcsstr.texi: Likewise.
38625         * doc/posix-functions/wcstod.texi: Likewise.
38626         * doc/posix-functions/wcstof.texi: Likewise.
38627         * doc/posix-functions/wcstoimax.texi: Likewise.
38628         * doc/posix-functions/wcstok.texi: Likewise.
38629         * doc/posix-functions/wcstold.texi: Likewise.
38630         * doc/posix-functions/wcstoll.texi: Likewise.
38631         * doc/posix-functions/wcstol.texi: Likewise.
38632         * doc/posix-functions/wcstombs.texi: Likewise.
38633         * doc/posix-functions/wcstoull.texi: Likewise.
38634         * doc/posix-functions/wcstoul.texi: Likewise.
38635         * doc/posix-functions/wcstoumax.texi: Likewise.
38636         * doc/posix-functions/wcswidth.texi: Likewise.
38637         * doc/posix-functions/wcsxfrm.texi: Likewise.
38638         * doc/posix-functions/wctob.texi: Likewise.
38639         * doc/posix-functions/wctomb.texi: Likewise.
38640         * doc/posix-functions/wctrans.texi: Likewise.
38641         * doc/posix-functions/wctype.texi: Likewise.
38642         * doc/posix-functions/wcwidth.texi: Likewise.
38643         * doc/posix-functions/wmemchr.texi: Likewise.
38644         * doc/posix-functions/wmemcmp.texi: Likewise.
38645         * doc/posix-functions/wmemcpy.texi: Likewise.
38646         * doc/posix-functions/wmemmove.texi: Likewise.
38647         * doc/posix-functions/wmemset.texi: Likewise.
38648         * doc/posix-functions/wprintf.texi: Likewise.
38649         * doc/posix-functions/wscanf.texi: Likewise.
38650
38651 2008-12-21  Bruno Haible  <bruno@clisp.org>
38652
38653         Update doc for HP-UX 11.11.
38654         * doc/posix-functions/btowc.texi: Clarify that the function is missing
38655         in HP-UX version 11.00, not in all versions of HP-UX 11.
38656         * doc/posix-functions/fwide.texi: Likewise.
38657         * doc/posix-functions/fwprintf.texi: Likewise.
38658         * doc/posix-functions/fwscanf.texi: Likewise.
38659         * doc/posix-functions/inet_ntop.texi: Likewise.
38660         * doc/posix-functions/inet_pton.texi: Likewise.
38661         * doc/posix-functions/mbrlen.texi: Likewise.
38662         * doc/posix-functions/mbrtowc.texi: Likewise.
38663         * doc/posix-functions/mbsinit.texi: Likewise.
38664         * doc/posix-functions/mbsrtowcs.texi: Likewise.
38665         * doc/posix-functions/swprintf.texi: Likewise.
38666         * doc/posix-functions/swscanf.texi: Likewise.
38667         * doc/posix-functions/towctrans.texi: Likewise.
38668         * doc/posix-functions/vfwprintf.texi: Likewise.
38669         * doc/posix-functions/vswprintf.texi: Likewise.
38670         * doc/posix-functions/vwprintf.texi: Likewise.
38671         * doc/posix-functions/wcrtomb.texi: Likewise.
38672         * doc/posix-functions/wcsrtombs.texi: Likewise.
38673         * doc/posix-functions/wcsstr.texi: Likewise.
38674         * doc/posix-functions/wctob.texi: Likewise.
38675         * doc/posix-functions/wctrans.texi: Likewise.
38676         * doc/posix-functions/wmemchr.texi: Likewise.
38677         * doc/posix-functions/wmemcmp.texi: Likewise.
38678         * doc/posix-functions/wmemcpy.texi: Likewise.
38679         * doc/posix-functions/wmemmove.texi: Likewise.
38680         * doc/posix-functions/wmemset.texi: Likewise.
38681         * doc/posix-functions/wprintf.texi: Likewise.
38682         * doc/posix-functions/wscanf.texi: Likewise.
38683
38684 2008-12-21  Bruno Haible  <bruno@clisp.org>
38685
38686         Work around a portability problem.
38687         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
38688         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
38689
38690 2008-12-20  Bruno Haible  <bruno@clisp.org>
38691
38692         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
38693         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
38694         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
38695         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
38696         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
38697
38698         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
38699         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
38700         set.
38701         (GNULIB_defined_mbstate_t): New macro.
38702         (mbsinit): Redefine if REPLACE_MBSINIT is set.
38703         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
38704         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
38705         reuses the system's mbrtowc function but works around the bugs.
38706         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
38707         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
38708         macros.
38709         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
38710         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
38711         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
38712         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
38713         REPLACE_MBSINIT if mbsinit needs to be overridden.
38714         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
38715         REPLACE_MBSINIT, REPLACE_MBRTOWC.
38716         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
38717         REPLACE_MBSINIT, REPLACE_MBRTOWC.
38718         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
38719         m4/locale-zh.m4.
38720         (Depends): Add mbsinit.
38721         * modules/mbsinit (Depends): Add mbrtowc.
38722         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
38723
38724 2008-12-20  Bruno Haible  <bruno@clisp.org>
38725
38726         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
38727         so that there are no conversion errors on AIX.
38728         * tests/test-mbsrtowcs.c (main): LIkewise.
38729
38730 2008-12-20  Bruno Haible  <bruno@clisp.org>
38731
38732         Work around wctob bug on Solaris <= 9.
38733         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
38734         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
38735         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
38736         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
38737         * modules/wctob (Files): Add m4/locale-fr.m4.
38738         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
38739
38740 2008-12-20  Bruno Haible  <bruno@clisp.org>
38741
38742         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
38743         /dev/null.
38744         * tests/test-select-in.sh: Likewise.
38745         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38746
38747 2008-12-20  Bruno Haible  <bruno@clisp.org>
38748
38749         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
38750         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
38751         Cygwin 1.5.x.
38752
38753 2008-12-20  Bruno Haible  <bruno@clisp.org>
38754
38755         Ensure mbstate_t is defined on HP-UX 11.11.
38756         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
38757         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
38758         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
38759         AC_USE_SYSTEM_EXTENSIONS.
38760         * modules/fnmatch (Depends-on): Add extensions.
38761         * modules/mbrlen (Depends-on): Likewise.
38762         * modules/mbrtowc (Depends-on): Likewise.
38763         * modules/mbsinit (Depends-on): Likewise.
38764         * modules/mbsrtowcs (Depends-on): Likewise.
38765         * modules/mbswidth (Depends-on): Likewise.
38766         * modules/quotearg (Depends-on): Likewise.
38767         * modules/strftime (Depends-on): Likewise.
38768
38769 2008-12-20  Bruno Haible  <bruno@clisp.org>
38770
38771         Ensure wctob is declared on IRIX 6.5.
38772         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
38773         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
38774         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
38775         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
38776         of HAVE_WCTOB.
38777         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
38778         HAVE_WCTOB.
38779         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
38780
38781 2008-12-19  Bruno Haible  <bruno@clisp.org>
38782
38783         * modules/mbsrtowcs-tests: New file.
38784         * tests/test-mbsrtowcs1.sh: New file.
38785         * tests/test-mbsrtowcs2.sh: New file.
38786         * tests/test-mbsrtowcs3.sh: New file.
38787         * tests/test-mbsrtowcs4.sh: New file.
38788         * tests/test-mbsrtowcs.c: New file.
38789
38790         New module 'mbsrtowcs'.
38791         * lib/wchar.in.h (mbsrtowcs): New declaration.
38792         * lib/mbsrtowcs.c: New file.
38793         * m4/mbsrtowcs.m4: New file.
38794         * modules/mbsrtowcs: New file.
38795         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
38796         HAVE_MBSRTOWCS.
38797         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
38798         HAVE_MBSRTOWCS.
38799         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
38800
38801 2008-12-19  Bruno Haible  <bruno@clisp.org>
38802
38803         New module 'mbrlen'.
38804         * lib/wchar.in.h (mbrlen): New declaration.
38805         * lib/mbrlen.c: New file.
38806         * m4/mbrlen.m4: New file.
38807         * modules/mbrlen: New file.
38808         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
38809         HAVE_MBRLEN.
38810         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
38811         HAVE_MBRLEN.
38812         * doc/posix-functions/mbrlen.texi: Document the new module.
38813
38814 2008-12-19  Bruno Haible  <bruno@clisp.org>
38815
38816         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
38817         * modules/mbrtowc (Depends-on): Add verify.
38818         Suggested by Paul Eggert.
38819
38820 2008-12-18  Bruno Haible  <bruno@clisp.org>
38821
38822         * modules/mbsinit-tests: New file.
38823         * tests/test-mbsinit.sh: New file.
38824         * tests/test-mbsinit.c: New file.
38825
38826 2008-12-18  Bruno Haible  <bruno@clisp.org>
38827
38828         * modules/mbrtowc-tests: New file.
38829         * tests/test-mbrtowc1.sh: New file.
38830         * tests/test-mbrtowc2.sh: New file.
38831         * tests/test-mbrtowc3.sh: New file.
38832         * tests/test-mbrtowc4.sh: New file.
38833         * tests/test-mbrtowc.c: New file.
38834
38835         New module 'mbrtowc'.
38836         * lib/wchar.in.h (mbstate_t): Override when the system does not have
38837         mbsinit and mbrtowc.
38838         (mbrtowc): New declaration.
38839         * lib/mbrtowc.c: New file.
38840         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
38841         * modules/mbrtowc: New file.
38842         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
38843         HAVE_MBRTOWC.
38844         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
38845         HAVE_MBRTOWC.
38846         * doc/posix-functions/mbrtowc.texi: Document the new module.
38847
38848 2008-12-18  Bruno Haible  <bruno@clisp.org>
38849
38850         New module 'wctob'.
38851         * lib/wchar.in.h (wctob): New declaration.
38852         * lib/wctob.c: New file.
38853         * m4/wctob.m4: New file.
38854         * modules/wctob: New file.
38855         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
38856         HAVE_WCTOB.
38857         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
38858         * doc/posix-functions/wctob.texi: Document the new module.
38859
38860 2008-12-18  Bruno Haible  <bruno@clisp.org>
38861
38862         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
38863         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
38864
38865 2008-12-18  Simon Josefsson  <simon@josefsson.org>
38866
38867         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
38868         G. Christensen" <tgc@jupiterrise.com>.
38869
38870         * lib/flock.c: Need to include errno.h.  Reported by "Tom
38871         G. Christensen" <tgc@jupiterrise.com>.
38872
38873         * lib/flock.c: Need to include string.h.  Reported by "Tom
38874         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
38875         <ebb9@byu.net>.
38876
38877 2008-12-18  Bruno Haible  <bruno@clisp.org>
38878
38879         * m4/locale-ja.m4: New file, from GNU gettext.
38880
38881 2008-12-17  Bruno Haible  <bruno@clisp.org>
38882
38883         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
38884         Suggested by Eric Blake.
38885
38886 2008-12-17  Bruno Haible  <bruno@clisp.org>
38887
38888         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
38889
38890 2008-12-17  Bruno Haible  <bruno@clisp.org>
38891
38892         * lib/mbsinit.c: Include verify.h. Verify an assumption.
38893         * modules/mbsinit (Depends-on): Add verify.
38894         Suggested by Paul Eggert.
38895
38896 2008-12-17  Bruno Haible  <bruno@clisp.org>
38897
38898         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
38899         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
38900         gl_FUNC_MBRTOWC.
38901         * m4/mbiter.m4 (gl_MBITER): LIkewise.
38902         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
38903         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
38904         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
38905         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
38906         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
38907         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
38908         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
38909         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
38910         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
38911         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
38912         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
38913         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
38914         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
38915         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
38916         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
38917         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
38918         * modules/trim (configure.ac): Likewise.
38919
38920 2008-12-17  Bruno Haible  <bruno@clisp.org>
38921
38922         * modules/btowc-tests: New file.
38923         * tests/test-btowc1.sh: New file.
38924         * tests/test-btowc2.sh: New file.
38925         * tests/test-btowc.c: New file.
38926
38927         New module 'btowc'.
38928         * lib/wchar.in.h (btowc): New declaration.
38929         * lib/btowc.c: New file.
38930         * m4/btowc.m4: New file.
38931         * modules/btowc: New file.
38932         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
38933         HAVE_BTOWC.
38934         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
38935         * doc/posix-functions/btowc.texi: Document the new module.
38936
38937 2008-12-17  Bruno Haible  <bruno@clisp.org>
38938
38939         New module 'mbsinit'.
38940         * lib/wchar.in.h (mbsinit): New declaration.
38941         * lib/mbsinit.c: New file.
38942         * m4/mbsinit.m4: New file.
38943         * modules/mbsinit: New file.
38944         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
38945         HAVE_MBSINIT.
38946         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
38947         HAVE_MBSINIT.
38948         * doc/posix-functions/mbsinit.texi: Document the new module.
38949
38950 2008-12-16  Bruno Haible  <bruno@clisp.org>
38951
38952         * lib/unistd.in.h: Add comment.
38953         * tests/test-environ.c: Don't include <stdlib.h>.
38954
38955 2008-12-16  Bruno Haible  <bruno@clisp.org>
38956
38957         * lib/parse-duration.h (parse_duration): Document return value
38958         convention.
38959         * lib/parse-duration.c: Include specification header first. Add
38960         comments.
38961         (_): Remove macro.
38962         (parse_year_month_day, parse_hour_minute_second): Move side effects
38963         outside of strchr call.
38964         (parse_non_iso8601): Move side effects outside of isspace call.
38965         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
38966         call.
38967
38968 2008-12-16  Bruno Haible  <bruno@clisp.org>
38969
38970         * tests/test-parse-duration.sh: Produce no output when the test
38971         succeeds.
38972
38973 2008-12-16  Bruno Haible  <bruno@clisp.org>
38974
38975         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
38976         expressions.
38977
38978 2008-12-15  Bruno Haible  <bruno@clisp.org>
38979
38980         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
38981         * doc/glibc-functions/flistxattr.texi: Likewise.
38982         * doc/glibc-functions/fopencookie.texi: Likewise.
38983         * doc/glibc-functions/fremovexattr.texi: Likewise.
38984         * doc/glibc-functions/fsetxattr.texi: Likewise.
38985         * doc/glibc-functions/getxattr.texi: Likewise.
38986         * doc/glibc-functions/lgetxattr.texi: Likewise.
38987         * doc/glibc-functions/listxattr.texi: Likewise.
38988         * doc/glibc-functions/llistxattr.texi: Likewise.
38989         * doc/glibc-functions/lremovexattr.texi: Likewise.
38990         * doc/glibc-functions/lsetxattr.texi: Likewise.
38991         * doc/glibc-functions/removexattr.texi: Likewise.
38992         * doc/glibc-functions/setxattr.texi: Likewise.
38993         * doc/posix-functions/open_memstream.texi: Likewise.
38994
38995 2008-12-15  Eric Blake  <ebb9@byu.net>
38996
38997         Update doc for cygwin 1.7.
38998         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
38999         functions.
39000         * doc/posix-functions/fchmodat.texi: Likewise.
39001         * doc/posix-functions/fchownat.texi: Likewise.
39002         * doc/posix-functions/fdopendir.texi: Likewise.
39003         * doc/posix-functions/fmemopen.texi: Likewise.
39004         * doc/posix-functions/freeaddrinfo.texi: Likewise.
39005         * doc/posix-functions/fstatat.texi: Likewise.
39006         * doc/posix-functions/futimens.texi: Likewise.
39007         * doc/posix-functions/gai_strerror.texi: Likewise.
39008         * doc/posix-functions/getaddrinfo.texi: Likewise.
39009         * doc/posix-functions/getnameinfo.texi: Likewise.
39010         * doc/posix-functions/if_freenameindex.texi: Likewise.
39011         * doc/posix-functions/if_indextoname.texi: Likewise.
39012         * doc/posix-functions/if_nameindex.texi: Likewise.
39013         * doc/posix-functions/if_nametoindex.texi: Likewise.
39014         * doc/posix-functions/insque.texi: Likewise.
39015         * doc/posix-functions/linkat.texi: Likewise.
39016         * doc/posix-functions/llrint.texi: Likewise.
39017         * doc/posix-functions/llrintf.texi: Likewise.
39018         * doc/posix-functions/llrintl.texi: Likewise.
39019         * doc/posix-functions/lockf.texi: Likewise.
39020         * doc/posix-functions/lrintl.texi: Likewise.
39021         * doc/posix-functions/mkdirat.texi: Likewise.
39022         * doc/posix-functions/mkfifoat.texi: Likewise.
39023         * doc/posix-functions/mknodat.texi: Likewise.
39024         * doc/posix-functions/mq_close.texi: Likewise.
39025         * doc/posix-functions/mq_getattr.texi: Likewise.
39026         * doc/posix-functions/mq_notify.texi: Likewise.
39027         * doc/posix-functions/mq_open.texi: Likewise.
39028         * doc/posix-functions/mq_receive.texi: Likewise.
39029         * doc/posix-functions/mq_send.texi: Likewise.
39030         * doc/posix-functions/mq_setattr.texi: Likewise.
39031         * doc/posix-functions/mq_timedreceive.texi: Likewise.
39032         * doc/posix-functions/mq_timedsend.texi: Likewise.
39033         * doc/posix-functions/mq_unlink.texi: Likewise.
39034         * doc/posix-functions/open_memstream.texi: Likewise.
39035         * doc/posix-functions/openat.texi: Likewise.
39036         * doc/posix-functions/posix_fadvise.texi: Likewise.
39037         * doc/posix-functions/posix_fallocate.texi: Likewise.
39038         * doc/posix-functions/posix_madvise.texi: Likewise.
39039         * doc/posix-functions/posix_memalign.texi: Likewise.
39040         * doc/posix-functions/posix_openpt.texi: Likewise.
39041         * doc/posix-functions/readlinkat.texi: Likewise.
39042         * doc/posix-functions/remque.texi: Likewise.
39043         * doc/posix-functions/renameat.texi: Likewise.
39044         * doc/posix-functions/rintl.texi: Likewise.
39045         * doc/posix-functions/sem_unlink.texi: Likewise.
39046         * doc/posix-functions/shm_open.texi: Likewise.
39047         * doc/posix-functions/shm_unlink.texi: Likewise.
39048         * doc/posix-functions/signgam.texi: Likewise.
39049         * doc/posix-functions/sigset.texi: Likewise.
39050         * doc/posix-functions/stpcpy.texi: Likewise.
39051         * doc/posix-functions/stpncpy.texi: Likewise.
39052         * doc/posix-functions/strerror.texi: Likewise.
39053         * doc/posix-functions/strtod.texi: Likewise.
39054         * doc/posix-functions/symlinkat.texi: Likewise.
39055         * doc/posix-functions/unlinkat.texi: Likewise.
39056         * doc/posix-functions/utimensat.texi: Likewise.
39057         * doc/glibc-functions/bindresvport.texi: Likewise.
39058         * doc/glibc-functions/dn_expand.texi: Likewise.
39059         * doc/glibc-functions/exp10.texi: Likewise.
39060         * doc/glibc-functions/exp10f.texi: Likewise.
39061         * doc/glibc-functions/fgetxattr.texi: Likewise.
39062         * doc/glibc-functions/flistxattr.texi: Likewise.
39063         * doc/glibc-functions/fopencookie.texi: Likewise.
39064         * doc/glibc-functions/freeifaddrs.texi: Likewise.
39065         * doc/glibc-functions/fremovexattr.texi: Likewise.
39066         * doc/glibc-functions/fsetxattr.texi: Likewise.
39067         * doc/glibc-functions/getifaddrs.texi: Likewise.
39068         * doc/glibc-functions/getxattr.texi: Likewise.
39069         * doc/glibc-functions/lgetxattr.texi: Likewise.
39070         * doc/glibc-functions/listxattr.texi: Likewise.
39071         * doc/glibc-functions/llistxattr.texi: Likewise.
39072         * doc/glibc-functions/lremovexattr.texi: Likewise.
39073         * doc/glibc-functions/lsetxattr.texi: Likewise.
39074         * doc/glibc-functions/pow10.texi: Likewise.
39075         * doc/glibc-functions/pow10f.texi: Likewise.
39076         * doc/glibc-functions/rcmd_af.texi: Likewise.
39077         * doc/glibc-functions/removexattr.texi: Likewise.
39078         * doc/glibc-functions/res_init.texi: Likewise.
39079         * doc/glibc-functions/res_mkquery.texi: Likewise.
39080         * doc/glibc-functions/res_query.texi: Likewise.
39081         * doc/glibc-functions/res_querydomain.texi: Likewise.
39082         * doc/glibc-functions/res_send.texi: Likewise.
39083         * doc/glibc-functions/rresvport_af.texi: Likewise.
39084         * doc/glibc-functions/setxattr.texi: Likewise.
39085         * doc/glibc-functions/strcasestr.texi: Likewise.
39086
39087 2008-12-15  Bruno Haible  <bruno@clisp.org>
39088
39089         Fix compilation error on OSF/1 4.0.
39090         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
39091         <sys/time.h>, simply delegate to the system header.
39092         Reported by Daniel Richard G. <oss@teragram.com>.
39093
39094 2008-12-15  Bruno Haible  <bruno@clisp.org>
39095
39096         * doc/posix-functions/openat.texi: Mention the 'openat' module.
39097         * doc/posix-functions/fchmodat.texi: Likewise.
39098         * doc/posix-functions/fchownat.texi: Likewise.
39099         * doc/posix-functions/fdopendir.texi: Likewise.
39100         * doc/posix-functions/fstatat.texi: Likewise.
39101         * doc/posix-functions/mkdirat.texi: Likewise.
39102         * doc/posix-functions/unlinkat.texi: Likewise.
39103
39104 2008-12-14  Bruno Haible  <bruno@clisp.org>
39105
39106         Update doc for POSIX:2008.
39107         * doc/posix-functions/faccessat.texi: New file.
39108         * doc/posix-functions/fchmodat.texi: New file.
39109         * doc/posix-functions/fchownat.texi: New file.
39110         * doc/posix-functions/fdopendir.texi: New file.
39111         * doc/posix-functions/fstatat.texi: New file.
39112         * doc/posix-functions/futimens.texi: New file.
39113         * doc/posix-functions/linkat.texi: New file.
39114         * doc/posix-functions/mkdirat.texi: New file.
39115         * doc/posix-functions/mkfifoat.texi: New file.
39116         * doc/posix-functions/mknodat.texi: New file.
39117         * doc/posix-functions/open_wmemstream.texi: New file.
39118         * doc/posix-functions/openat.texi: New file.
39119         * doc/posix-functions/psiginfo.texi: New file.
39120         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
39121         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
39122         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
39123         * doc/posix-functions/readlinkat.texi: New file.
39124         * doc/posix-functions/renameat.texi: New file.
39125         * doc/posix-functions/strerror_l.texi: New file.
39126         * doc/posix-functions/symlinkat.texi: New file.
39127         * doc/posix-functions/unlinkat.texi: New file.
39128         * doc/posix-functions/utimensat.texi: New file.
39129         * doc/gnulib.texi (Function Substitutes): Add these subsections.
39130
39131 2008-12-14  Bruno Haible  <bruno@clisp.org>
39132
39133         Update doc for POSIX:2008.
39134         * doc/posix-functions/alphasort.texi: Renamed from
39135         doc/glibc-functions/alphasort.texi.
39136         * doc/posix-functions/dirfd.texi: Renamed from
39137         doc/glibc-functions/dirfd.texi.
39138         * doc/posix-functions/dprintf.texi: Renamed from
39139         doc/glibc-functions/dprintf.texi.
39140         * doc/posix-functions/duplocale.texi: Renamed from
39141         doc/glibc-functions/duplocale.texi.
39142         * doc/posix-functions/fexecve.texi: Renamed from
39143         doc/glibc-functions/fexecve.texi.
39144         * doc/posix-functions/fmemopen.texi: Renamed from
39145         doc/glibc-functions/fmemopen.texi.
39146         * doc/posix-functions/freelocale.texi: Renamed from
39147         doc/glibc-functions/freelocale.texi.
39148         * doc/posix-functions/getdate_err.texi: Renamed from
39149         doc/glibc-functions/getdate_err.texi.
39150         * doc/posix-functions/isalnum_l.texi: Renamed from
39151         doc/glibc-functions/isalnum_l.texi.
39152         * doc/posix-functions/isalpha_l.texi: Renamed from
39153         doc/glibc-functions/isalpha_l.texi.
39154         * doc/posix-functions/isblank_l.texi: Renamed from
39155         doc/glibc-functions/isblank_l.texi.
39156         * doc/posix-functions/iscntrl_l.texi: Renamed from
39157         doc/glibc-functions/iscntrl_l.texi.
39158         * doc/posix-functions/isdigit_l.texi: Renamed from
39159         doc/glibc-functions/isdigit_l.texi.
39160         * doc/posix-functions/isgraph_l.texi: Renamed from
39161         doc/glibc-functions/isgraph_l.texi.
39162         * doc/posix-functions/islower_l.texi: Renamed from
39163         doc/glibc-functions/islower_l.texi.
39164         * doc/posix-functions/isprint_l.texi: Renamed from
39165         doc/glibc-functions/isprint_l.texi.
39166         * doc/posix-functions/ispunct_l.texi: Renamed from
39167         doc/glibc-functions/ispunct_l.texi.
39168         * doc/posix-functions/isspace_l.texi: Renamed from
39169         doc/glibc-functions/isspace_l.texi.
39170         * doc/posix-functions/isupper_l.texi: Renamed from
39171         doc/glibc-functions/isupper_l.texi.
39172         * doc/posix-functions/iswalnum_l.texi: Renamed from
39173         doc/glibc-functions/iswalnum_l.texi.
39174         * doc/posix-functions/iswalpha_l.texi: Renamed from
39175         doc/glibc-functions/iswalpha_l.texi.
39176         * doc/posix-functions/iswblank_l.texi: Renamed from
39177         doc/glibc-functions/iswblank_l.texi.
39178         * doc/posix-functions/iswcntrl_l.texi: Renamed from
39179         doc/glibc-functions/iswcntrl_l.texi.
39180         * doc/posix-functions/iswctype_l.texi: Renamed from
39181         doc/glibc-functions/iswctype_l.texi.
39182         * doc/posix-functions/iswdigit_l.texi: Renamed from
39183         doc/glibc-functions/iswdigit_l.texi.
39184         * doc/posix-functions/iswgraph_l.texi: Renamed from
39185         doc/glibc-functions/iswgraph_l.texi.
39186         * doc/posix-functions/iswlower_l.texi: Renamed from
39187         doc/glibc-functions/iswlower_l.texi.
39188         * doc/posix-functions/iswprint_l.texi: Renamed from
39189         doc/glibc-functions/iswprint_l.texi.
39190         * doc/posix-functions/iswpunct_l.texi: Renamed from
39191         doc/glibc-functions/iswpunct_l.texi.
39192         * doc/posix-functions/iswspace_l.texi: Renamed from
39193         doc/glibc-functions/iswspace_l.texi.
39194         * doc/posix-functions/iswupper_l.texi: Renamed from
39195         doc/glibc-functions/iswupper_l.texi.
39196         * doc/posix-functions/iswxdigit_l.texi: Renamed from
39197         doc/glibc-functions/iswxdigit_l.texi.
39198         * doc/posix-functions/isxdigit_l.texi: Renamed from
39199         doc/glibc-functions/isxdigit_l.texi.
39200         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
39201         doc/glibc-functions/mbsnrtowcs.texi.
39202         * doc/posix-functions/mkdtemp.texi: Renamed from
39203         doc/glibc-functions/mkdtemp.texi.
39204         * doc/posix-functions/newlocale.texi: Renamed from
39205         doc/glibc-functions/newlocale.texi.
39206         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
39207         doc/glibc-functions/nl_langinfo_l.texi.
39208         * doc/posix-functions/open_memstream.texi: Renamed from
39209         doc/glibc-functions/open_memstream.texi.
39210         * doc/posix-functions/opterr.texi: Renamed from
39211         doc/glibc-functions/opterr.texi.
39212         * doc/posix-functions/optind.texi: Renamed from
39213         doc/glibc-functions/optind.texi.
39214         * doc/posix-functions/optopt.texi: Renamed from
39215         doc/glibc-functions/optopt.texi.
39216         * doc/posix-functions/psignal.texi: Renamed from
39217         doc/glibc-functions/psignal.texi.
39218         * doc/posix-functions/scandir.texi: Renamed from
39219         doc/glibc-functions/scandir.texi.
39220         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
39221         doc/glibc-functions/sched_get_priority_min.texi.
39222         * doc/posix-functions/signgam.texi: Renamed from
39223         doc/glibc-functions/signgam.texi.
39224         * doc/posix-functions/stpcpy.texi: Renamed from
39225         doc/glibc-functions/stpcpy.texi.
39226         * doc/posix-functions/stpncpy.texi: Renamed from
39227         doc/glibc-functions/stpncpy.texi.
39228         * doc/posix-functions/strcasecmp_l.texi: Renamed from
39229         doc/glibc-functions/strcasecmp_l.texi.
39230         * doc/posix-functions/strcoll_l.texi: Renamed from
39231         doc/glibc-functions/strcoll_l.texi.
39232         * doc/posix-functions/strfmon_l.texi: Renamed from
39233         doc/glibc-functions/strfmon_l.texi.
39234         * doc/posix-functions/strftime_l.texi: Renamed from
39235         doc/glibc-functions/strftime_l.texi.
39236         * doc/posix-functions/strncasecmp_l.texi: Renamed from
39237         doc/glibc-functions/strncasecmp_l.texi.
39238         * doc/posix-functions/strndup.texi: Renamed from
39239         doc/glibc-functions/strndup.texi.
39240         * doc/posix-functions/strnlen.texi: Renamed from
39241         doc/glibc-functions/strnlen.texi.
39242         * doc/posix-functions/strsignal.texi: Renamed from
39243         doc/glibc-functions/strsignal.texi.
39244         * doc/posix-functions/strxfrm_l.texi: Renamed from
39245         doc/glibc-functions/strxfrm_l.texi.
39246         * doc/posix-functions/timer_gettime.texi: Renamed from
39247         doc/glibc-functions/timer_gettime.texi.
39248         * doc/posix-functions/tolower_l.texi: Renamed from
39249         doc/glibc-functions/tolower_l.texi.
39250         * doc/posix-functions/toupper_l.texi: Renamed from
39251         doc/glibc-functions/toupper_l.texi.
39252         * doc/posix-functions/towctrans_l.texi: Renamed from
39253         doc/glibc-functions/towctrans_l.texi.
39254         * doc/posix-functions/towlower_l.texi: Renamed from
39255         doc/glibc-functions/towlower_l.texi.
39256         * doc/posix-functions/towupper_l.texi: Renamed from
39257         doc/glibc-functions/towupper_l.texi.
39258         * doc/posix-functions/uselocale.texi: Renamed from
39259         doc/glibc-functions/uselocale.texi.
39260         * doc/posix-functions/vdprintf.texi: Renamed from
39261         doc/glibc-functions/vdprintf.texi.
39262         * doc/posix-functions/wcpcpy.texi:
39263         Renamed from doc/glibc-functions/wcpcpy.texi.
39264         * doc/posix-functions/wcpncpy.texi: Renamed from
39265         doc/glibc-functions/wcpncpy.texi.
39266         * doc/posix-functions/wcscasecmp.texi: Renamed from
39267         doc/glibc-functions/wcscasecmp.texi.
39268         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
39269         doc/glibc-functions/wcscasecmp_l.texi.
39270         * doc/posix-functions/wcscoll_l.texi: Renamed from
39271         doc/glibc-functions/wcscoll_l.texi.
39272         * doc/posix-functions/wcsdup.texi: Renamed from
39273         doc/glibc-functions/wcsdup.texi.
39274         * doc/posix-functions/wcsncasecmp.texi: Renamed from
39275         doc/glibc-functions/wcsncasecmp.texi.
39276         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
39277         doc/glibc-functions/wcsncasecmp_l.texi.
39278         * doc/posix-functions/wcsnlen.texi: Renamed from
39279         doc/glibc-functions/wcsnlen.texi.
39280         * doc/posix-functions/wcsnrtombs.texi: Renamed from
39281         doc/glibc-functions/wcsnrtombs.texi.
39282         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
39283         doc/glibc-functions/wcsxfrm_l.texi.
39284         * doc/posix-functions/wctrans_l.texi: Renamed from
39285         doc/glibc-functions/wctrans_l.texi.
39286         * doc/posix-functions/wctype_l.texi: Renamed from
39287         doc/glibc-functions/wctype_l.texi.
39288         * doc/gnulib.texi (Function Substitutes): Add these subsections.
39289         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
39290         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
39291         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
39292         these subsections.
39293         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
39294         Remove sections.
39295
39296 2008-12-14  Bruno Haible  <bruno@clisp.org>
39297
39298         Update doc for POSIX:2008.
39299         * doc/posix-functions/*.texi: Update URL of POSIX specification.
39300
39301 2008-12-14  Bruno Haible  <bruno@clisp.org>
39302
39303         Update doc for POSIX:2008.
39304         * doc/pastposix-functions/bcmp.texi: Renamed from
39305         doc/posix-functions/bcmp.texi.
39306         * doc/pastposix-functions/bcopy.texi: Renamed from
39307         doc/posix-functions/bcopy.texi.
39308         * doc/pastposix-functions/bsd_signal.texi: Renamed from
39309         doc/posix-functions/bsd_signal.texi.
39310         * doc/pastposix-functions/bzero.texi: Renamed from
39311         doc/posix-functions/bzero.texi.
39312         * doc/pastposix-functions/ecvt.texi: Renamed from
39313         doc/posix-functions/ecvt.texi.
39314         * doc/pastposix-functions/fcvt.texi: Renamed from
39315         doc/posix-functions/fcvt.texi.
39316         * doc/pastposix-functions/ftime.texi: Renamed from
39317         doc/posix-functions/ftime.texi.
39318         * doc/pastposix-functions/gcvt.texi: Renamed from
39319         doc/posix-functions/gcvt.texi.
39320         * doc/pastposix-functions/getcontext.texi: Renamed from
39321         doc/posix-functions/getcontext.texi.
39322         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
39323         doc/posix-functions/gethostbyaddr.texi.
39324         * doc/pastposix-functions/gethostbyname.texi: Renamed from
39325         doc/posix-functions/gethostbyname.texi.
39326         * doc/pastposix-functions/getwd.texi: Renamed from
39327         doc/posix-functions/getwd.texi.
39328         * doc/pastposix-functions/h_errno.texi: Renamed from
39329         doc/posix-functions/h_errno.texi.
39330         * doc/pastposix-functions/index.texi: Renamed from
39331         doc/posix-functions/index.texi.
39332         * doc/pastposix-functions/makecontext.texi: Renamed from
39333         doc/posix-functions/makecontext.texi.
39334         * doc/pastposix-functions/mktemp.texi: Renamed from
39335         doc/posix-functions/mktemp.texi.
39336         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
39337         doc/posix-functions/pthread_attr_getstackaddr.texi.
39338         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
39339         doc/posix-functions/pthread_attr_setstackaddr.texi.
39340         * doc/pastposix-functions/rindex.texi: Renamed from
39341         doc/posix-functions/rindex.texi.
39342         * doc/pastposix-functions/scalb.texi: Renamed from
39343         doc/posix-functions/scalb.texi.
39344         * doc/pastposix-functions/setcontext.texi: Renamed from
39345         doc/posix-functions/setcontext.texi.
39346         * doc/pastposix-functions/swapcontext.texi: Renamed from
39347         doc/posix-functions/swapcontext.texi.
39348         * doc/pastposix-functions/ualarm.texi: Renamed from
39349         doc/posix-functions/ualarm.texi.
39350         * doc/pastposix-functions/usleep.texi: Renamed from
39351         doc/posix-functions/usleep.texi.
39352         * doc/pastposix-functions/vfork.texi: Renamed from
39353         doc/posix-functions/vfork.texi.
39354         * doc/pastposix-functions/wcswcs.texi: Renamed from
39355         doc/posix-functions/wcswcs.texi.
39356         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
39357         (Function Substitutes): Update.
39358
39359 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39360
39361         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
39362         m4/strerror.m4.
39363
39364 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39365             Bruno Haible  <bruno@clisp.org>
39366
39367         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
39368
39369 2008-12-13  Bruno Haible  <bruno@clisp.org>
39370
39371         * modules/strtoull (Depends-on): Remove unistd.
39372
39373 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39374
39375         * modules/strtoull (Depends-on): Add stdlib.
39376
39377 2008-12-11  Simon Josefsson  <simon@josefsson.org>
39378
39379         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
39380
39381 2008-12-10  Jim Meyering  <meyering@redhat.com>
39382
39383         gl_ASSERT: don't say assertions are disabled when they're not
39384         * m4/assert.m4 (gl_ASSERT): Do not make configure report
39385         "checking whether to enable assertions... no", when they are in
39386         fact enabled.  This is solely a bug in the output of configure.
39387         In spite of saying "no", NDEBUG was not defined in that case.
39388         Also, as noted by Eric Blake, leave assertions enabled upon
39389         --enable-assert=INVALID.
39390
39391 2008-12-10  Bruno Haible  <bruno@clisp.org>
39392
39393         Change MODULES.html to refer to POSIX:2008 where possible.
39394         * MODULES.html.sh (POSIX2008_URL): New variable.
39395         (posix_headers): Remove sys/timeb, ucontext.
39396         (posix2001_headers): New variable.
39397         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
39398         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
39399         index, makecontext, mktemp, pthread_attr_getstackaddr,
39400         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
39401         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
39402         (posix2001_functions): New variable.
39403         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
39404         otherwise.
39405
39406 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39407
39408         add missing include to parse-duration.c
39409         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
39410         * modules/parse-duration (Depends-on): Add xalloc.
39411
39412         fix sed script reading maint.mk
39413         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
39414         (syntax-check-rules): Use it.
39415
39416 2008-12-09  Bruno Haible  <bruno@clisp.org>
39417
39418         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
39419         MacOS X 10.4/PowerPC.
39420         Reported by Simon Josefsson.
39421
39422 2008-12-08  Jim Meyering  <meyering@redhat.com>
39423
39424         work around mingw's lack of some S_IF definitions
39425         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
39426         Reported by Simon Josefsson.
39427
39428 2008-12-08  Bruno Haible  <bruno@clisp.org>
39429
39430         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
39431         applied to variables. Needed on MacOS X 10.4/PowerPC.
39432         Reported by Simon Josefsson.
39433
39434 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
39435         and Eric Blake  <ebb9@byu.net>
39436
39437         assert: honor --enable-assert
39438         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
39439         order to honor --enable-assert, rather than treating it as a
39440         synonym for --disable-assert.
39441
39442 2008-12-08  Jim Meyering  <meyering@redhat.com>
39443
39444         * lib/posixtm.c: Remove now-useless declaration of mktime.
39445
39446         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
39447
39448 2008-12-07  Bruno Haible  <bruno@clisp.org>
39449
39450         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
39451         test_once): Mark functions as static.
39452         * tests/test-tls.c (test_tls): Likewise.
39453
39454 2008-12-07  Bruno Haible  <bruno@clisp.org>
39455
39456         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
39457         iconv_register_autodetect.
39458
39459 2008-12-07  Jim Meyering  <meyering@redhat.com>
39460
39461         posixtm.c: avoid a warning
39462         * lib/posixtm.c (posixtime): Don't initialize tm0.
39463         It's no longer needed to placate gcc4's -Wuninitialized,
39464         and the attempt to placate would elicit a new warning.
39465
39466         unicodeio.c: mark unused parameters
39467         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
39468         (fallback_failure_callback): Likewise.
39469
39470 2008-12-07  Bruno Haible  <bruno@clisp.org>
39471
39472         * gnulib-tool (func_create_testdir): When building the tests
39473         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
39474         Reported by Simon Josefsson.
39475
39476 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39477
39478         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
39479
39480 2008-12-06  Bruno Haible  <bruno@clisp.org>
39481
39482         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
39483         Suggested by Eric Blake.
39484
39485 2008-12-06  Bruno Haible  <bruno@clisp.org>
39486
39487         Fix a c-stack test failure on MacOS X.
39488         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
39489         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
39490         handler for SIGBUS as well.
39491         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
39492         install a signal handler for SIGBUS as well.
39493         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
39494
39495 2008-12-06  Bruno Haible  <bruno@clisp.org>
39496
39497         Advocacy documentation.
39498         * doc/gnulib-intro.texi (Benefits): New section.
39499         * doc/gnulib.texi: Update.
39500
39501 2008-12-06  Bruno Haible  <bruno@clisp.org>
39502
39503         Document the 'manywarnings' module.
39504         * doc/manywarnings.texi: New file.
39505         * doc/gnulib.texi: Include it.
39506
39507 2008-12-05  Eric Blake  <ebb9@byu.net>
39508
39509         tests: silence some gcc warnings
39510         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
39511         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
39512         type mismatches.
39513
39514 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39515             Bruno Haible  <bruno@clisp.org>
39516
39517         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
39518
39519 2008-11-29  Jim Meyering  <meyering@redhat.com>
39520
39521         unicodeio.c: mark unused parameters
39522         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
39523         (fallback_failure_callback): Likewise.
39524
39525         fts: fix a thinko
39526         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
39527         (set_stat_type): Return S_IF*-valued "type" directly.
39528         Prompted by James Youngman's spotting a related bug.
39529         Confirmed by further testing through find.
39530
39531         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
39532         * lib/fts.c (D_TYPE): Define.
39533         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
39534         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
39535         (s_ifmt_shift_bits): New function.
39536         (set_stat_type): New function.
39537         (fts_build): When not calling fts_stat, call set_stat_type
39538         to propagate dirent.d_type info to fts_read caller.
39539         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
39540         fts_statp->st_mode type information may be valid.
39541
39542 2008-11-28  Simon Josefsson  <simon@josefsson.org>
39543
39544         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
39545         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
39546         <sds@gnu.org>.
39547
39548 2008-11-20  Bruno Haible  <bruno@clisp.org>
39549
39550         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
39551         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
39552         INCLUDE_NEXT.
39553         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
39554         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
39555         * modules/math (Makefile.am): Substitute
39556         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
39557         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
39558
39559 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
39560             Bruno Haible  <bruno@clisp.org>
39561
39562         * lib/stdint.in.h: Define all type macros so that their expansion is
39563         a single typedef'ed token. Fixes a compilation failure in Boost which
39564         does "using ::int8_t;".
39565
39566 2008-11-18  Simon Josefsson  <simon@josefsson.org>
39567
39568         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
39569         gl_MANYWARN_ALL_GCC.
39570         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
39571         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
39572         * modules/manywarnings: New file.
39573         * MODULES.html.sh: Mention manywarnings module.
39574
39575 2008-11-18  Bruno Haible  <bruno@clisp.org>
39576
39577         * doc/gnulib-tool.texi (Unit tests): New section.
39578
39579 2008-11-18  Simon Josefsson  <simon@josefsson.org>
39580
39581         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
39582         paths like 'lib/po/foo.po'.
39583
39584 2008-11-17  Simon Josefsson  <simon@josefsson.org>
39585
39586         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
39587         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
39588
39589 2008-11-17  Simon Josefsson  <simon@josefsson.org>
39590
39591         * m4/warnings.m4: Use CPPFLAGS to really check whether the
39592         parameter works.
39593
39594 2008-11-17  Simon Josefsson  <simon@josefsson.org>
39595
39596         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
39597
39598 2008-11-17  Bruce Korb  <bkorb@gnu.org>
39599
39600         * modules/parse-duration-tests: New file.
39601         * tests/test-parse-duration.sh: New file.
39602         * tests/test-parse-duration.c: New file.
39603
39604         New module 'parse-duration'.
39605         * lib/parse-duration.h: New file.
39606         * lib/parse-duration.c: New file.
39607         * modules/parse-duration: New file.
39608
39609 2008-11-17  Bruno Haible  <bruno@clisp.org>
39610
39611         * tests/test-select-out.sh: Comment out the first pipe test.
39612         Reported by Simon Josefsson.
39613
39614 2008-11-17  Bruno Haible  <bruno@clisp.org>
39615
39616         * modules/getaddrinfo (Depends-on): Add servent, hostent.
39617         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
39618         gl_HOSTENT.
39619
39620 2008-11-17  Bruno Haible  <bruno@clisp.org>
39621
39622         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
39623         -lnetwork and -lnet. Needed for Haiku and BeOS.
39624
39625 2008-11-16  Bruno Haible  <bruno@clisp.org>
39626
39627         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
39628
39629 2008-11-16  Bruno Haible  <bruno@clisp.org>
39630
39631         Avoid test failure on Haiku.
39632         * tests/test-fsync.c: Include <errno.h>.
39633         (main): Don't require that fsync (0) fails.
39634
39635 2008-11-15  Bruno Haible  <bruno@clisp.org>
39636
39637         New module 'hostent'.
39638         * modules/hostent: New file.
39639         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
39640
39641 2008-11-15  Bruno Haible  <bruno@clisp.org>
39642
39643         New module 'servent'.
39644         * modules/servent: New file.
39645         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
39646
39647 2008-11-15  Bruno Haible  <bruno@clisp.org>
39648
39649         Avoid generating same test program with two different rules.
39650         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
39651         test-frexp to test-frexp-nolibm.
39652         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
39653         test-frexpl to test-frexpl-nolibm.
39654
39655 2008-11-15  Bruno Haible  <bruno@clisp.org>
39656
39657         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
39658         $(FREXPL_LIBM).
39659
39660 2008-11-15  Bruno Haible  <bruno@clisp.org>
39661
39662         * lib/netdb.in.h: Activate the definitions also when the system's
39663         <netdb.h> has 'struct addrinfo'.
39664         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
39665         EAI_OVERFLOW or AI_NUMERICSERV.
39666         * doc/posix-headers/netdb.texi: Document the problem.
39667
39668 2008-11-15  Bruno Haible  <bruno@clisp.org>
39669
39670         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
39671
39672         Make the 'sched' module work on platforms where <sched.h> exists but
39673         is incomplete (such as Haiku).
39674         * lib/sched.in.h; Include the system's <sched.h> if it exists.
39675         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
39676         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
39677         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
39678         HAVE_STRUCT_SCHED_PARAM.
39679         * modules/sched (Depends-on): Add include_next.
39680         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
39681         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
39682         * doc/posix-headers/sched.texi: Document the issue.
39683
39684 2008-11-13  Jim Meyering  <meyering@redhat.com>
39685
39686         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
39687         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
39688         test would fail due to the difference in the Report bugs to ...
39689         line.  The expected address is empty, "<>", while the actual
39690         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
39691
39692 2008-11-12  Bruno Haible  <bruno@clisp.org>
39693
39694         lstat: don't compile lstat.c on systems lacking lstat
39695         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
39696         which don't have lstat; this is handled by lib/sys_stat.in.h already.
39697         Reported by Daniel P. Berrange via Jim Meyering.
39698
39699 2008-11-12  Jim Meyering  <meyering@redhat.com>
39700
39701         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
39702
39703 2008-11-12  Simon Josefsson  <simon@josefsson.org>
39704
39705         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
39706         instead.
39707
39708 2008-11-12  Bruno Haible  <bruno@clisp.org>
39709
39710         * lib/unicodeio.c: Include unistr.h.
39711         (utf8_wctomb): Remove function.
39712         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
39713
39714 2008-11-12  Simon Josefsson  <simon@josefsson.org>
39715
39716         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
39717         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
39718         <bruno@clisp.org>.
39719         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
39720
39721 2008-11-12  Simon Josefsson  <simon@josefsson.org>
39722
39723         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
39724         * doc/gnulib.texi: Add section for warnings.
39725
39726 2008-11-11  Bruno Haible  <bruno@clisp.org>
39727
39728         * lib/sockets.h: Add a comment.
39729
39730 2008-11-11  Karl Berry  <karl@gnu.org>
39731
39732         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
39733
39734 2008-11-11  Eric Blake  <ebb9@byu.net>
39735
39736         fdl.texi: avoid git symlinks
39737         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
39738
39739 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39740
39741         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
39742
39743 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39744
39745         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
39746         (gl_WARN_ADD): Substitute $2 if literal.
39747
39748 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39749
39750         * m4/warning.m4: Remove.
39751
39752 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
39753
39754         * m4/warnings.m4: Almost complete rewrite. :-)
39755
39756 2008-11-10  Simon Josefsson  <simon@josefsson.org>
39757
39758         * modules/warnings: New module.
39759         * m4/warnings.m4: New file.
39760         * MODULES.html.sh: Mention warnings module.
39761         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
39762         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39763
39764 2008-11-10  Eric Blake  <ebb9@byu.net>
39765
39766         fdl.texi: make a symlink to the latest version
39767         * doc/standards.texi: Revert today's earlier change.
39768         * doc/fdl-1.2.texi: Rename from old fdl.texi...
39769         * doc/fdl.texi: ...and replace this with a symlink to the newer
39770         fdl-1.3.texi.
39771
39772 2008-11-10  Bruno Haible  <bruno@clisp.org>
39773
39774         * tests/test-select-fd.c (main): Accept the result file name as fourth
39775         argument.
39776         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
39777         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
39778
39779 2008-11-10  Bruno Haible  <bruno@clisp.org>
39780
39781         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
39782         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
39783         as autoconf-substituted macros.
39784         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
39785         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
39786         gl_NETDB_H_DEFAULTS. Set these variables.
39787         * modules/netdb (Makefile.am): Substitute these variables.
39788
39789 2008-11-10  Eric Blake  <ebb9@byu.net>
39790
39791         standards.texi: include correct file for FDL 1.3
39792         * doc/standards.texi (GNU Free Documentation License): Change
39793         include file to pull in FDL 1.3, not 1.2.
39794
39795         fdl.texi: revert accidental change to license
39796         * doc/fdl.texi: This is FDL 1.2, not 1.3.
39797
39798 2008-11-10  Bruno Haible  <bruno@clisp.org>
39799
39800         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
39801         cross-compiling guesses also when the native compile gives no result.
39802
39803 2008-11-10  Bruno Haible  <bruno@clisp.org>
39804
39805         * lib/spawni.c (__spawni): Force variable into the stack.
39806
39807 2008-11-10  Bruno Haible  <bruno@clisp.org>
39808
39809         Add support for Haiku.
39810         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
39811         glibc and BeOS, but also on Haiku.
39812         * lib/fpurge.c (fpurge): Likewise.
39813         * lib/freadable.c (freadable): Likewise.
39814         * lib/freadahead.c (freadahead): Likewise.
39815         * lib/freading.c (freading): Likewise.
39816         * lib/freadptr.c (freadptr): Likewise.
39817         * lib/freadseek.c (freadptrinc): Likewise.
39818         * lib/fseeko.c (rpl_fseeko): Likewise.
39819         * lib/fseterr.c (fseterr): Likewise.
39820         * lib/fwritable.c (fwritable): Likewise.
39821         * lib/fwriting.c (fwriting): Likewise.
39822         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
39823
39824 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
39825
39826         * lib/config.charset: Treat Haiku like BeOS.
39827
39828 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
39829
39830         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
39831         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
39832
39833 2008-11-08  Bruno Haible  <bruno@clisp.org>
39834
39835         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
39836         AC_CACHE_CHECK.
39837
39838 2008-11-08  Bruno Haible  <bruno@clisp.org>
39839
39840         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
39841
39842 2008-11-08  Bruno Haible  <bruno@clisp.org>
39843
39844         * tests/test-select-fd.c: New file.
39845         * tests/test-select-in.sh: New file.
39846         * tests/test-select-out.sh: New file.
39847         * tests/test-select-stdin.c: New file.
39848         * modules/select-tests (Files): Add the new files.
39849         (Depends-on): Add gettimeofday.
39850         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
39851         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
39852         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
39853
39854 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
39855             Bruno Haible  <bruno@clisp.org>
39856
39857         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
39858
39859 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
39860
39861         * build-aux/pmccabe2html: Added support for C++ source files.
39862
39863 2008-11-05  Ben Pfaff  <blp@gnu.org>
39864
39865         Fix lib/close.c build on Windows.
39866         * modules/close (Files): Add lib/w32sock.h.
39867
39868 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
39869
39870         Accept Bison's NEWS format.
39871         * build-aux/announce-gen (print_news_deltas): Tweak
39872         $re_prefix.
39873
39874 2008-11-04  Bruno Haible  <bruno@clisp.org>
39875
39876         * modules/random_r (Maintainer): Add glibc.
39877
39878 2008-11-04  Simon Josefsson  <simon@josefsson.org>
39879
39880         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
39881         by karl@freefriends.org (Karl Berry).
39882         * doc/alloca.texi: Likewise.
39883         * doc/c-ctype.texi: Likewise.
39884         * doc/c-strcase.texi: Likewise.
39885         * doc/c-strcaseeq.texi: Likewise.
39886         * doc/c-strcasestr.texi: Likewise.
39887         * doc/c-strstr.texi: Likewise.
39888         * doc/c-strtod.texi: Likewise.
39889         * doc/c-strtold.texi: Likewise.
39890         * doc/ctime.texi: Likewise.
39891         * doc/error.texi: Likewise.
39892         * doc/fdl.texi: Likewise.
39893         * doc/gcd.texi: Likewise.
39894         * doc/getdate.texi: Likewise.
39895         * doc/gnulib-intro.texi: Likewise.
39896         * doc/gnulib-tool.texi: Likewise.
39897         * doc/gnulib.texi: Likewise.
39898         * doc/inet_ntoa.texi: Likewise.
39899         * doc/maintain.texi: Likewise.
39900         * doc/make-stds.texi: Likewise.
39901         * doc/quote.texi: Likewise.
39902         * doc/regexprops-generic.texi: Likewise.
39903         * doc/standards.texi: Likewise.
39904         * doc/verify.texi: Likewise.
39905         * doc/visibility.texi: Likewise.
39906         * doc/gnulib.texi (GNU Free Documentation License): Include
39907         fdl-1.3.texi instead of fdl.texi.
39908
39909 2008-11-04  Simon Josefsson  <simon@josefsson.org>
39910
39911         * doc/fdl-1.3.texi: New file, from
39912         <http://www.gnu.org/licenses/fdl-1.3.texi>.
39913         * modules/fdl-1.3: Add.
39914         * MODULES.html.sh: Add fdl-1.3.
39915
39916 2008-11-03  Bruno Haible  <bruno@clisp.org>
39917
39918         Make determination of absolute name of header file work with AIX xlc.
39919         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
39920         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
39921         preprocessing.
39922         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39923         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
39924
39925 2008-11-03  Simon Josefsson  <simon@josefsson.org>
39926
39927         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
39928         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
39929         <ludo@gnu.org>.
39930
39931 2008-11-02  Bruno Haible  <bruno@clisp.org>
39932
39933         Mark 'strpbrk' obsolete.
39934         * modules/strpbrk (Status, Notice): New sections.
39935         * modules/strtok_r (Depends-on): Add strpbrk.
39936
39937 2008-11-02  Bruno Haible  <bruno@clisp.org>
39938
39939         Mark 'strdup' obsolete.
39940         * modules/strdup (Status, Notice): New sections.
39941         * modules/findprog (Depends-on): Add strdup.
39942         * modules/getaddrinfo (Depends-on): Likewise.
39943         * modules/localename (Depends-on): Likewise.
39944         * modules/relocatable-lib (Depends-on): Likewise.
39945         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
39946         * modules/relocatable-prog (Depends-on): Likewise.
39947         * modules/trim (Depends-on): Likewise.
39948         * modules/unictype/gen-ctype (Depends-on): Likewise.
39949         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
39950
39951 2008-11-02  Bruno Haible  <bruno@clisp.org>
39952
39953         Mark 'strcspn' obsolete.
39954         * modules/strcspn (Status, Notice): New sections.
39955
39956 2008-11-02  Bruno Haible  <bruno@clisp.org>
39957
39958         Mark 'rmdir' obsolete.
39959         * modules/rmdir (Status, Notice): New sections.
39960         * modules/clean-temp (Depends-on): Add rmdir.
39961         * modules/openat (Depends-on): Likewise.
39962
39963 2008-11-02  Bruno Haible  <bruno@clisp.org>
39964
39965         Mark 'raise' obsolete.
39966         * modules/raise (Status, Notice): New sections.
39967         (Include): Specify <signal.h>.
39968         * modules/stdio (Depends-on): Add raise.
39969         * modules/write (Depends-on): Likewise.
39970
39971 2008-11-02  Bruno Haible  <bruno@clisp.org>
39972
39973         Mark 'memset' obsolete.
39974         * modules/memset (Status, Notice): New sections.
39975
39976 2008-11-02  Bruno Haible  <bruno@clisp.org>
39977
39978         Mark 'memmove' obsolete.
39979         * modules/memmove (Status, Notice): New sections.
39980         * modules/argp (Depends-on): Add memmove.
39981         * modules/argz (Depends-on): Likewise.
39982         * modules/canonicalize (Depends-on): Likewise.
39983         * modules/canonicalize-lgpl (Depends-on): Likewise.
39984         * modules/fts (Depends-on): Likewise.
39985         * modules/getcwd (Depends-on): Likewise.
39986         * modules/human (Depends-on): Likewise.
39987         * modules/regex (Depends-on): Likewise.
39988         * modules/striconveh (Depends-on): Likewise.
39989         * modules/trim (Depends-on): Likewise.
39990         * modules/unistr/u8-move (Depends-on): Likewise.
39991         * modules/unistr/u16-move (Depends-on): Likewise.
39992         * modules/unistr/u32-move (Depends-on): Likewise.
39993
39994 2008-11-02  Bruno Haible  <bruno@clisp.org>
39995
39996         Mark 'memcpy' obsolete.
39997         * modules/memcpy (Status, Notice): New sections.
39998
39999 2008-11-02  Bruno Haible  <bruno@clisp.org>
40000
40001         Mark 'memcmp' obsolete.
40002         * modules/memcmp (Status, Notice): New sections.
40003         * modules/argmatch (Depends-on): Add memchr.
40004         * modules/backupfile (Depends-on): Likewise.
40005         * modules/c-strcasestr (Depends-on): Likewise.
40006         * modules/crypto/des (Depends-on): Likewise.
40007         * modules/csharpcomp (Depends-on): Likewise.
40008         * modules/fnmatch (Depends-on): Likewise.
40009         * modules/git-merge-changelog (Depends-on): Likewise.
40010         * modules/isnand (Depends-on): Likewise.
40011         * modules/isnand-nolibm (Depends-on): Likewise.
40012         * modules/isnanf (Depends-on): Likewise.
40013         * modules/isnanf-nolibm (Depends-on): Likewise.
40014         * modules/isnanl (Depends-on): Likewise.
40015         * modules/isnanl-nolibm (Depends-on): Likewise.
40016         * modules/mbchar (Depends-on): Likewise.
40017         * modules/memcoll (Depends-on): Likewise.
40018         * modules/quotearg (Depends-on): Likewise.
40019         * modules/regex (Depends-on): Likewise.
40020         * modules/relocatable-prog (Depends-on): Likewise.
40021         * modules/same (Depends-on): Likewise.
40022         * modules/signbit (Depends-on): Likewise.
40023         * modules/strcasestr-simple (Depends-on): Likewise.
40024         * modules/unictype/gen-ctype (Depends-on): Likewise.
40025         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
40026         * modules/uniname/uniname (Depends-on): Likewise.
40027         * modules/unistr/u8-cmp (Depends-on): Likewise.
40028
40029 2008-11-02  Bruno Haible  <bruno@clisp.org>
40030
40031         Mark 'memchr' obsolete.
40032         * modules/memchr (Status, Notice): New sections.
40033         * modules/argp (Depends-on): Add memchr.
40034         * modules/base64 (Depends-on): Likewise.
40035         * modules/c-strcasestr (Depends-on): Likewise.
40036         * modules/chdir-long (Depends-on): Likewise.
40037         * modules/fnmatch (Depends-on): Likewise.
40038         * modules/getsubopt (Depends-on): Likewise.
40039         * modules/git-merge-changelog (Depends-on): Likewise.
40040         * modules/glob (Depends-on): Likewise.
40041         * modules/strcasestr-simple (Depends-on): Likewise.
40042         * modules/strnlen (Depends-on): Likewise.
40043
40044 2008-11-02  Bruno Haible  <bruno@clisp.org>
40045
40046         Mark 'atexit' obsolete.
40047         * modules/atexit (Status, Notice): New sections.
40048         * modules/chdir-long (Depends-on): Add atexit.
40049         * modules/wait-process (Depends-on): Likewise.
40050
40051 2008-11-02  Bruno Haible  <bruno@clisp.org>
40052
40053         * gnulib-tool: New option --with-obsolete.
40054         (func_usage): Document it.
40055         (func_modules_transitive_closure): Drop obsolete dependencies if
40056         incobsolete is not true.
40057         (func_import): Read and save the incobsolete variable to the cache.
40058
40059 2008-11-02  Bruno Haible  <bruno@clisp.org>
40060
40061         * modules/TEMPLATE-EXTENDED: New field 'Status'.
40062         * gnulib-tool: New option --extract-status.
40063         (func_usage): Document it.
40064         (sed_extract_prog): Recognize it.
40065         (func_get_status): New function.
40066
40067 2008-10-30  Simon Josefsson  <simon@josefsson.org>
40068
40069         * modules/sockets (License): Change from LGPL to LGPLv2+.
40070
40071 2008-10-28  Simon Josefsson  <simon@josefsson.org>
40072
40073         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
40074
40075 2008-10-28  Simon Josefsson  <simon@josefsson.org>
40076
40077         * MODULES.html.sh (Support for systems lacking POSIX:2001):
40078         Mention times and sys_times.
40079         * modules/sys_times, modules/sys_times-tests: New modules.
40080         * modules/times, modules/times-tests: Likewise
40081         * m4/sys_times_h.m4: New file.
40082         * lib/sys_times.in.h: Likewise
40083         * lib/times.c: Likewise.
40084         * tests/test-sys_times.c: Likewise.
40085         * tests/test-times.c: Likewise.
40086         * doc/posix-headers/sys_times.texi: Update.
40087         * doc/posix-functions/times.texi: Update.
40088
40089 2008-10-28  Jim Meyering  <meyering@redhat.com>
40090
40091         * modules/tempname (Depends-on): Add lstat.
40092
40093         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
40094
40095 2008-10-28  Simon Josefsson  <simon@josefsson.org>
40096
40097         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
40098         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
40099         using idiom used elsewhere in gnulib.
40100
40101 2008-10-27  Jim Meyering  <meyering@redhat.com>
40102
40103         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
40104
40105 2008-10-27  Simon Josefsson  <simon@josefsson.org>
40106
40107         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
40108         TESTS_ENVIRONMENT, for shell scripts that needs to call built
40109         programs.
40110         * tests/test-argp-2.sh: Use $EXEEXT when needed.
40111
40112 2008-10-27  Simon Josefsson  <simon@josefsson.org>
40113
40114         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
40115
40116 2008-10-27  Bruno Haible  <bruno@clisp.org>
40117
40118         * tests/test-lstat.c: Include <stdio.h>.
40119
40120 2008-10-27  Simon Josefsson  <simon@josefsson.org>
40121
40122         * modules/lstat-tests: New module.
40123         * tests/test-lstat.c: New file.
40124
40125 2008-10-26  Jim Meyering  <meyering@redhat.com>
40126
40127         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
40128
40129 2008-10-26  Simon Josefsson  <simon@josefsson.org>
40130             Bruno Haible  <bruno@clisp.org>
40131
40132         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
40133         * modules/configmake (Include): Add a note that the include must come
40134         after all system headers.
40135         * lib/javaversion.c: Include configmake.h after all other includes.
40136
40137 2008-10-26  Bruno Haible  <bruno@clisp.org>
40138
40139         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
40140         HAVE_STRUCT_RANDOM_DATA to 1.
40141         (gl_STDLIB_H): Simplify.
40142
40143 2008-10-26  Simon Josefsson  <simon@josefsson.org>
40144
40145         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
40146         substitute HAVE_STRUCT_RANDOM_DATA.
40147         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
40148         random_data.
40149         * modules/stdlib (Makefile.am): Substitute
40150         HAVE_STRUCT_RANDOM_DATA.
40151
40152 2008-10-26  Simon Josefsson  <simon@josefsson.org>
40153
40154         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
40155         * doc/gnulib-intro.texi (Copyright): Likewise.
40156
40157 2008-10-26  Simon Josefsson  <simon@josefsson.org>
40158
40159         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
40160         findings.
40161
40162 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
40163             Bruno Haible  <bruno@clisp.org>
40164
40165         * lib/unistd.in.h: Include <winsock2.h>.
40166         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
40167         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
40168         Provide dummy declarations.
40169         (gethostname): Override.
40170         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
40171         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
40172         gl_PREREQ_SYS_H_WINSOCK2.
40173         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
40174         * doc/posix-functions/gethostname.texi: More details.
40175
40176 2008-10-25  Bruno Haible  <bruno@clisp.org>
40177
40178         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
40179         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
40180         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
40181
40182         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
40183         here ...
40184         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
40185         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
40186         gl_UNISTD_H_DEFAULTS.
40187
40188 2008-10-25  Eric Blake  <ebb9@byu.net>
40189
40190         signbit: avoid spurious compiler failure
40191         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
40192         declarations inside function.
40193
40194 2008-10-24  Simon Josefsson  <simon@josefsson.org>
40195             Bruno Haible  <bruno@clisp.org>
40196
40197         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
40198         * modules/random_r (Depends-on): Add stdint.
40199
40200 2008-10-24  Bruno Haible  <bruno@clisp.org>
40201
40202         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
40203         Eggert.
40204         * modules/strerror (License): Likewise.
40205
40206 2008-10-24  Jim Meyering  <meyering@redhat.com>
40207
40208         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
40209         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
40210
40211 2008-10-24  Eric Blake  <ebb9@byu.net>
40212
40213         getgroups: fix compilation when getgroups is available
40214         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
40215         but with <config.h> override of getgroups disabled.
40216
40217 2008-10-24  Simon Josefsson  <simon@josefsson.org>
40218
40219         * doc/gnulib.texi (Header files): Add note about C++ problems.
40220         Explained by Bruno Haible <bruno@clisp.org>.
40221
40222 2008-10-23  Bruno Haible  <bruno@clisp.org>
40223
40224         Define a dummy SA_NODEFER macro on Interix.
40225         * lib/signal.in.h (SA_NODEFER): Define fallback.
40226         Reported by Aleksey Cheusov <cheusov@tut.by> via
40227         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
40228
40229 2008-10-23  Bruno Haible  <bruno@clisp.org>
40230
40231         * modules/freadahead (License): Change to LGPLv2+.
40232         Suggested by Simon Josefsson.
40233
40234 2008-10-23  Jim Meyering  <meyering@redhat.com>
40235
40236         random_r: new module
40237         * modules/random_r: New file.
40238         * m4/random_r.m4: New file.
40239         * lib/random_r.c: New file, from glibc.
40240         * modules/random_r-tests: New file.
40241         * tests/test-random_r.c: New file.
40242         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
40243          Declare.
40244         (RAND_MAX): Define.
40245         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
40246         * modules/stdlib: Substitute them, too.
40247         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
40248         * doc/glibc-functions/initstate_r.texi: Mention the new module.
40249         * doc/glibc-functions/random_r.texi: Likewise.
40250         * doc/glibc-functions/setstate_r.texi: Likewise.
40251         * doc/glibc-functions/srandom_r.texi: Likewise.
40252         * config/srclist.txt: Mention it.
40253
40254 2008-10-23  David Lutterkort  <lutter@redhat.com>
40255
40256         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
40257         link requirement
40258
40259 2008-10-23  Jim Meyering  <meyering@redhat.com>
40260
40261         selinux-h: mark parameters of stub functions as intentionally unused
40262         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
40263         * lib/se-context.in.h: Likewise.
40264
40265 2008-10-22  Simon Josefsson  <simon@josefsson.org>
40266
40267         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
40268
40269 2008-10-22  Simon Josefsson  <simon@josefsson.org>
40270
40271         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
40272
40273 2008-10-22  Eric Blake  <ebb9@byu.net>
40274
40275         glthread/thread: avoid compiler warning
40276         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
40277         Add unreachable abort to silence compiler.
40278
40279 2008-10-22  Eric Blake  <ebb9@byu.net>
40280
40281         netdb: also supply struct addrinfo for cygwin 1.5.x
40282         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
40283         older cygwin.
40284         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
40285         cygwin.
40286         * doc/posix-headers/netdb.texi (netdb.h): Document this.
40287
40288 2008-10-22  Bruno Haible  <bruno@clisp.org>
40289
40290         * users.txt: Update entry about pspp.
40291
40292 2008-10-21  Bruno Haible  <bruno@clisp.org>
40293
40294         Simplification.
40295         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
40296         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
40297
40298         Simplification.
40299         * lib/ioctl.c (ioctl): Don't undefine.
40300         * lib/socket.c (socket): Don't undefine.
40301
40302         Remove unused module indicator macros.
40303         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
40304         GNULIB_$1 as a C macro.
40305
40306         * doc/posix-functions/close.texi: Undo last change.
40307         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
40308         Windows platforms.
40309
40310 2008-10-21  Bruno Haible  <bruno@clisp.org>
40311
40312         Add gethostname() declaration to <unistd.h>.
40313         * lib/unistd.in.h (gethostname): New declaration.
40314         * lib/gethostname.c: Include <unistd.h>.
40315         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
40316         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
40317         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
40318         and HAVE_GETHOSTNAME.
40319         * modules/gethostname (Depends-on): Add unistd.
40320         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40321         (Include): Specify <unistd.h>.
40322         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
40323         HAVE_GETHOSTNAME.
40324         * tests/test-gethostname.c: Include <unistd.h> first.
40325
40326 2008-10-21  Bruno Haible  <bruno@clisp.org>
40327
40328         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
40329         * modules/select-tests (Depends-on): Likewise.
40330         Reported by Simon Josefsson.
40331
40332 2008-10-21  Simon Josefsson  <simon@josefsson.org>
40333
40334         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
40335         * lib/accept.c: New file, based on winsock.c.
40336         * lib/bind.c: New file, based on winsock.c.
40337         * lib/connect.c: New file, based on winsock.c.
40338         * lib/getpeername.c: New file, based on winsock.c.
40339         * lib/getsockname.c: New file, based on winsock.c.
40340         * lib/getsockopt.c: New file, based on winsock.c.
40341         * lib/ioctl.c: New file, based on winsock.c.
40342         * lib/listen.c: New file, based on winsock.c.
40343         * lib/recv.c: New file, based on winsock.c.
40344         * lib/recvfrom.c: New file, based on winsock.c.
40345         * lib/send.c: New file, based on winsock.c.
40346         * lib/sendto.c: New file, based on winsock.c.
40347         * lib/setsockopt.c: New file, based on winsock.c.
40348         * lib/shutdown.c: New file, based on winsock.c.
40349         * lib/socket.c: New file, based on winsock.c.
40350         * lib/w32sock.h: New file, based on winsock.c.
40351         * lib/winsock.c: Remove file.
40352         * modules/accept: Likewise.
40353         * modules/bind: Likewise.
40354         * modules/connect: Likewise.
40355         * modules/getpeername: Likewise.
40356         * modules/getsockname: Likewise.
40357         * modules/getsockopt: Likewise.
40358         * modules/ioctl: Likewise.
40359         * modules/listen: Likewise.
40360         * modules/recv: Likewise.
40361         * modules/recvfrom: Likewise.
40362         * modules/send: Likewise.
40363         * modules/sendto: Likewise.
40364         * modules/setsockopt: Likewise.
40365         * modules/shutdown: Likewise.
40366         * modules/socket: Use socket.c instead of winsock.c.
40367         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
40368         * doc/posix-functions/accept.texi: Doc fix.
40369         * doc/posix-functions/bind.texi: Doc fix.
40370         * doc/posix-functions/close.texi: Doc fix.
40371         * doc/posix-functions/connect.texi: Doc fix.
40372         * doc/posix-functions/getpeername.texi: Doc fix.
40373         * doc/posix-functions/getsockname.texi: Doc fix.
40374         * doc/posix-functions/getsockopt.texi: Doc fix.
40375         * doc/posix-functions/ioctl.texi: Doc fix.
40376         * doc/posix-functions/listen.texi: Doc fix.
40377         * doc/posix-functions/recv.texi: Doc fix.
40378         * doc/posix-functions/recvfrom.texi: Doc fix.
40379         * doc/posix-functions/send.texi: Doc fix.
40380         * doc/posix-functions/sendto.texi: Doc fix.
40381         * doc/posix-functions/setsockopt.texi: Doc fix.
40382         * doc/posix-functions/shutdown.texi: Doc fix.
40383         * doc/posix-functions/socket.texi: Doc fix.
40384
40385 2008-10-20  Bruno Haible  <bruno@clisp.org>
40386
40387         Take into account the role of SIGABRT_COMPAT on Windows 2008.
40388         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
40389         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
40390         as an alias for SIGABRT.
40391         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
40392         (sigaction): Map it to SIGABRT.
40393         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
40394
40395 2008-10-20  Bruno Haible  <bruno@clisp.org>
40396
40397         * lib/fts.c: Don't include lstat.h.
40398         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
40399
40400         Move the lstat() declaration to <sys/stat.h>.
40401         * lib/lstat.h: Remove file.
40402         * lib/sys_stat.in.h: Add special invocation convention.
40403         (lstat): New declaration.
40404         * lib/lstat.c (orig_lstat): New function.
40405         (rpl_lstat): Use orig_lstat instead of lstat.
40406         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
40407         AC_C_INLINE. Set REPLACE_LSTAT.
40408         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
40409         and REPLACE_LSTAT.
40410         * modules/lstat (Files): Remove lib/lstat.h.
40411         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
40412         (Include): Specify <sys/stat.h> instead of lstat.h.
40413         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
40414         REPLACE_LSTAT.
40415         * NEWS: Mention the change.
40416
40417 2008-10-20  Bruno Haible  <bruno@clisp.org>
40418
40419         * modules/posix_spawn-tests: New file.
40420         * tests/test-posix_spawn3.c: New file.
40421
40422 2008-10-20  Bruno Haible  <bruno@clisp.org>
40423
40424         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
40425         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
40426         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
40427         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
40428         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
40429
40430 2008-10-20  Bruno Haible  <bruno@clisp.org>
40431
40432         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
40433         of posix_spawn on AIX 5.3.
40434
40435 2008-10-20  Bruno Haible  <bruno@clisp.org>
40436
40437         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
40438
40439 2008-10-20  Bruno Haible  <bruno@clisp.org>
40440
40441         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
40442         of AC_LANG_PROGRAM.
40443
40444 2008-10-20  Simon Josefsson  <simon@josefsson.org>
40445
40446         * lib/netdb.in.h: Don't define GNU specific constants until they
40447         are supported or needed.  Reported by Bruno Haible
40448         <bruno@clisp.org>.
40449
40450 2008-10-20  Simon Josefsson  <simon@josefsson.org>
40451
40452         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
40453
40454 2008-10-20  Simon Josefsson  <simon@josefsson.org>
40455
40456         * lib/getaddrinfo.h: Remove file.
40457         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
40458         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
40459         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
40460         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
40461         * modules/netdb: Substitute GNULIB_GETADDRINFO.
40462         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
40463         * tests/test-getaddrinfo.c: Likewise.
40464         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
40465         * NEWS: Mention change.
40466
40467 2008-10-19  Bruno Haible  <bruno@clisp.org>
40468
40469         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
40470
40471 2008-10-19  Bruno Haible  <bruno@clisp.org>
40472
40473         * lib/wait-process.c: Include simply <sys/wait.h>.
40474         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
40475         WIFSTOPPED): Remove fallback definitions.
40476         * modules/wait-process (Depends-on): Add sys_wait.
40477
40478         New module 'sys_wait'.
40479         * modules/sys_wait: New file.
40480         * lib/sys_wait.in.h: New file, partially copied from
40481         lib/wait-process.c.
40482         * m4/sys_wait_h.m4: New file.
40483         * doc/posix-headers/sys_wait.texi: Mention the new module.
40484
40485 2008-10-19  Bruno Haible  <bruno@clisp.org>
40486
40487         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
40488
40489 2008-10-19  Bruno Haible  <bruno@clisp.org>
40490
40491         Assume that waitpid() fills an 'int' status, not a 'union wait'.
40492         * lib/wait-process.c (WAIT_T): Remove type.
40493         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
40494         (wait_subprocess): Update.
40495
40496 2008-10-19  Bruno Haible  <bruno@clisp.org>
40497
40498         New module 'atoll'.
40499         * modules/atoll: New file.
40500         * lib/stdlib.in.h (atoll): New declaration.
40501         * lib/atoll.c: New file, from glibc with modifications.
40502         * m4/atoll.m4: New file.
40503         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
40504         HAVE_ATOLL.
40505         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
40506         * doc/posix-functions/atoll.texi: Mention the new module.
40507
40508 2008-10-19  Bruno Haible  <bruno@clisp.org>
40509
40510         Add strtoull() declaration to <stdlib.h>.
40511         * lib/stdlib.in.h (strtoull): New declaration.
40512         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
40513         Set HAVE_STRTOULL.
40514         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
40515         HAVE_STRTOULL.
40516         * modules/strtoull (Depends-on): Add stdlib.
40517         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40518         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
40519         HAVE_STRTOULL.
40520
40521 2008-10-19  Bruno Haible  <bruno@clisp.org>
40522
40523         Add strtoll() declaration to <stdlib.h>.
40524         * lib/stdlib.in.h (strtoll): New declaration.
40525         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
40526         Set HAVE_STRTOLL.
40527         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
40528         HAVE_STRTOLL.
40529         * modules/strtoll (Depends-on): Add stdlib.
40530         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40531         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
40532
40533 2008-10-19  Bruno Haible  <bruno@clisp.org>
40534
40535         * modules/bcopy (Depends-on): Add strings.
40536         (Include): Specify <strings.h>.
40537
40538 2008-10-19  Bruno Haible  <bruno@clisp.org>
40539
40540         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
40541
40542 2008-10-19  Bruno Haible  <bruno@clisp.org>
40543
40544         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
40545         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
40546         mingw.
40547
40548 2008-10-19  Bruno Haible  <bruno@clisp.org>
40549
40550         * lib/atanl.c: Don't include isnanl.h.
40551         * lib/cosl.c: Likewise.
40552         * lib/ldexpl.c: Likewise.
40553         * lib/logl.c: Likewise.
40554         * lib/sinl.c: Likewise.
40555         * lib/sqrtl.c: Likewise.
40556         * lib/tanl.c: Likewise.
40557
40558         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
40559         * lib/isnanf.h: Remove file.
40560         * lib/isnand.h: Remove file.
40561         * lib/isnanl.h: Remove file.
40562         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
40563         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
40564         macros.
40565         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
40566         HAVE_ISNANF, don't define it as a C macro.
40567         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
40568         HAVE_ISNAND, don't define it as a C macro.
40569         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
40570         HAVE_ISNANL, don't define it as a C macro.
40571         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
40572         HAVE_ISNAN[FDL].
40573         * modules/isnanf (Files): Remove lib/isnanf.h.
40574         (Depends-on): Add math.
40575         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
40576         (Include): Specify <math.h> instead of isnanf.h.
40577         * modules/isnand (Files): Remove lib/isnand.h.
40578         (Depends-on): Add math.
40579         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
40580         (Include): Specify <math.h> instead of isnand.h.
40581         * modules/isnanl (Files): Remove lib/isnanl.h.
40582         (Depends-on): Add math.
40583         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
40584         (Include): Specify <math.h> instead of isnanl.h.
40585         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
40586         HAVE_ISNAN[FDL].
40587         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
40588         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
40589         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
40590         * NEWS: Mention the change.
40591
40592 2008-10-18  Bruno Haible  <bruno@clisp.org>
40593
40594         Add getusershell(), setusershell(), endusershell() declarations to
40595         <unistd.h>.
40596         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
40597         declarations.
40598         * lib/getusershell.c: Include unistd.h.
40599         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
40600         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
40601         HAVE_GETUSERSHELL.
40602         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
40603         and HAVE_GETUSERSHELL.
40604         * modules/getusershell (Depends-on): Add unistd, extensions.
40605         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40606         (Include): Specify <unistd.h>.
40607         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
40608         HAVE_GETUSERSHELL.
40609
40610 2008-10-18  Bruno Haible  <bruno@clisp.org>
40611
40612         Add a getloadavg() declaration to <stdlib.h>.
40613         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
40614         getloadavg declaration.
40615         (getloadavg): New declaration.
40616         * lib/getloadavg.c: Include <stdlib.h> first.
40617         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
40618         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
40619         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
40620         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
40621         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
40622         * modules/getloadavg (Depends-on): Add stdlib, extensions.
40623         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
40624         (Include): Specify <stdlib.h>.
40625         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
40626         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
40627
40628 2008-10-18  Bruno Haible  <bruno@clisp.org>
40629
40630         * lib/dirchownmod.c: Don't include lchmod.h.
40631
40632         Move the lchmod() declaration to <sys/stat.h>.
40633         * lib/lchmod.h: Remove file.
40634         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
40635         (lchmod): New declaration, moved here from lib/lchown.h.
40636         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
40637         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
40638         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
40639         and HAVE_LCHMOD.
40640         * modules/lchmod (Files): Remove lib/lchmod.h.
40641         (Depends-on): Add sys_stat, extensions.
40642         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
40643         (Include): Specify <sys/stat.h> instead of lchmod.h.
40644         * modules/sys_stat (Depends-on): Add link-warning.
40645         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
40646         definition of GL_LINK_WARNING.
40647         * NEWS: Mention the change.
40648
40649 2008-10-18  Bruno Haible  <bruno@clisp.org>
40650
40651         * lib/fchdir.c: Don't include dirfd.h.
40652         * lib/fts.c: Likewise.
40653         * lib/getcwd.c: Likewise.
40654         * lib/glob.c: Likewise.
40655
40656         Move the dirfd() declaration to <dirent.h>.
40657         * lib/dirfd.h: Remove file.
40658         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
40659         (dirfd): New declaration.
40660         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
40661         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
40662         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
40663         HAVE_DECL_DIRFD.
40664         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
40665         HAVE_DECL_DIRFD.
40666         * modules/dirfd (Files): Remove lib/dirfd.h.
40667         (Depends-on): Add dirent, extensions.
40668         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
40669         (Include): Specify <dirent.h> instead of dirfd.h.
40670         * modules/dirent (Depends-on): Add link-warning.
40671         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
40672         definition of GL_LINK_WARNING.
40673         * NEWS: Mention the change.
40674
40675 2008-10-18  Bruno Haible  <bruno@clisp.org>
40676
40677         Move the euidaccess() declaration to <unistd.h>.
40678         * lib/euidaccess.h: Remove file.
40679         * lib/unistd.in.h (euidaccess): New declaration.
40680         * lib/euidaccess.c: Don't include euidaccess.h.
40681         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
40682         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
40683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
40684         and HAVE_EUIDACCESS.
40685         * modules/euidaccess (Files): Remove lib/euidaccess.h.
40686         (Depends-on): Add unistd.
40687         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40688         (Include): Specify <unistd.h> instead of euidaccess.h.
40689         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
40690         HAVE_EUIDACCESS.
40691         * NEWS: Mention the change.
40692
40693 2008-10-18  Bruno Haible  <bruno@clisp.org>
40694
40695         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
40696
40697         Move the getdomainname() declaration to <unistd.h>.
40698         * lib/getdomainname.h: Remove file.
40699         * lib/unistd.in.h (getdomainname): New declaration.
40700         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
40701         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
40702         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
40703         HAVE_GETDOMAINNAME.
40704         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40705         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
40706         * modules/getdomainname (Files): Remove lib/getdomainname.h.
40707         (Depends-on): Add unistd, extensions.
40708         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
40709         (Includes): Specify <unistd.h> instead of getdomainname.h.
40710         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
40711         HAVE_GETDOMAINNAME.
40712         * NEWS: Mention the change.
40713
40714 2008-10-18  Bruno Haible  <bruno@clisp.org>
40715
40716         * modules/dirent: New file.
40717         * m4/dirent_h.m4: New file.
40718         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
40719         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
40720         * modules/fchdir (Files): Remove lib/dirent.in.h.
40721         (Depends-on): Add dirent.
40722         (Makefile.am): Move rules to modules/dirent.
40723         * doc/posix-headers/dirent.texi: Mention the new module.
40724
40725 2008-10-18  Bruno Haible  <bruno@clisp.org>
40726
40727         Avoid -Wunused-parameter warnings in public gnulib header files.
40728         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
40729         macro.
40730         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
40731
40732 2008-10-18  Bruno Haible  <bruno@clisp.org>
40733
40734         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
40735         * doc/glibc-functions/error.texi: Mention the module 'error'.
40736         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
40737         * doc/glibc-functions/getdomainname.texi: Mention the module
40738         'getdomainname'.
40739         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
40740         * doc/glibc-functions/getpagesize.texi: Mention the module
40741         'getpagesize'.
40742         * doc/glibc-functions/getusershell.texi: Mention the module
40743         'getusershell'.
40744         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
40745         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
40746         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
40747         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
40748         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
40749         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
40750         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
40751         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
40752         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
40753         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
40754         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
40755         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
40756         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
40757         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
40758
40759 2008-10-17  Bruno Haible  <bruno@clisp.org>
40760
40761         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
40762         HP-UX and IRIX, use -0.0L.
40763         * tests/test-ceill.c (minus_zero): Likewise.
40764         * tests/test-floorl.c (minus_zero): Likewise.
40765         * tests/test-frexpl.c (minus_zero): Likewise.
40766         * tests/test-isnan.c (minus_zerol): Likewise.
40767         * tests/test-isnanl.h (minus_zero): Likewise.
40768         * tests/test-ldexpl.c (minus_zero): Likewise.
40769         * tests/test-roundl.c (minus_zero): Likewise.
40770         * tests/test-signbit.c (minus_zerol): Likewise.
40771         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
40772         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
40773         * tests/test-truncl.c (minus_zero): Likewise.
40774         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
40775         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
40776         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
40777         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
40778
40779 2008-10-17  Bruno Haible  <bruno@clisp.org>
40780
40781         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
40782         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
40783         that it gets activated only for gcc >= 3.0.
40784         * lib/dirent.in.h: Likewise.
40785         * lib/errno.in.h: Likewise.
40786         * lib/fcntl.in.h: Likewise.
40787         * lib/float.in.h: Likewise.
40788         * lib/iconv.in.h: Likewise.
40789         * lib/inttypes.in.h: Likewise.
40790         * lib/locale.in.h: Likewise.
40791         * lib/math.in.h: Likewise.
40792         * lib/netdb.in.h: Likewise.
40793         * lib/netinet_in.in.h: Likewise.
40794         * lib/search.in.h: Likewise.
40795         * lib/signal.in.h: Likewise.
40796         * lib/spawn.in.h: Likewise.
40797         * lib/stdarg.in.h: Likewise.
40798         * lib/stdint.in.h: Likewise.
40799         * lib/stdio.in.h: Likewise.
40800         * lib/stdlib.in.h: Likewise.
40801         * lib/string.in.h: Likewise.
40802         * lib/strings.in.h: Likewise.
40803         * lib/sys_file.in.h: Likewise.
40804         * lib/sys_ioctl.in.h: Likewise.
40805         * lib/sys_select.in.h: Likewise.
40806         * lib/sys_socket.in.h: Likewise.
40807         * lib/sys_stat.in.h: Likewise.
40808         * lib/sys_time.in.h: Likewise.
40809         * lib/sysexits.in.h: Likewise.
40810         * lib/time.in.h: Likewise.
40811         * lib/unistd.in.h: Likewise.
40812         * lib/wchar.in.h: Likewise.
40813         * lib/wctype.in.h: Likewise.
40814         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40815
40816 2008-10-17  Jim Meyering  <meyering@redhat.com>
40817
40818         ignore-value: don't depend on inline module
40819         * modules/ignore-value (Depends-on): Remove 'inline'.
40820         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
40821         Suggestion from Bruno Haible.
40822
40823 2008-10-17  Bruno Haible  <bruno@clisp.org>
40824
40825         New implementation of condition variables for Win32.
40826         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
40827         (gl_linked_waitqueue_t): New type.
40828         (gl_cond_t): Use it.
40829         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
40830         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
40831         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
40832         (glthread_cond_init_func, glthread_cond_wait_func,
40833         glthread_cond_timedwait_func, glthread_cond_signal_func,
40834         glthread_cond_broadcast_func, glthread_cond_destroy_func):
40835         Reimplemented on the basis of gl_linked_waitqueue_t.
40836         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
40837         gl_waitqueue_t.
40838         (gl_rwlock_t): Update.
40839         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
40840
40841 2008-10-17  Simon Josefsson  <simon@josefsson.org>
40842
40843         * modules/recvfrom (Depends-on): Add dependency on getpeername.
40844         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40845
40846 2008-10-17  Jim Meyering  <meyering@redhat.com>
40847
40848         ignore-value: new module
40849         * modules/ignore-value: New file.
40850         * lib/ignore-value.h: New file.
40851         * MODULES.html.sh (Compiler warning management): New section,
40852         just for this module.  More to come.
40853
40854 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
40855
40856         open-safer.c: avoid 'signed and unsigned in conditional...' warning
40857         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
40858         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
40859
40860 2008-10-16  Jim Meyering  <meyering@redhat.com>
40861
40862         openat-die.c: avoid 'no previous prototype' warning
40863         * lib/openat-die.c: Include "openat.h".
40864         Reported by Reuben Thomas <rrt@sc3d.org>.
40865
40866 2008-10-16  Simon Josefsson  <simon@josefsson.org>
40867
40868         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
40869         * lib/netdb.in.h: Fix typo.
40870         Reported by Bruno Haible  <bruno@clisp.org>
40871
40872         * lib/netdb.in.h: Include sys/socket.h for platforms without
40873         netdb.h, to get structures like hostent on MinGW.
40874         * modules/netdb (Depends-on): Add sys_socket.
40875
40876 2008-10-15  Simon Josefsson  <simon@josefsson.org>
40877
40878         * modules/netdb, modules/netdb-tests: New file.
40879         * m4/netdb_h.m4: New file.
40880         * lib/netdb.in.h: Add, currently just an empty file pending
40881         definitions.
40882         * tests/test-netdb.c: New file.
40883         * doc/posix-headers/netdb.texi: Mention that we replace it if
40884         needed.
40885         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40886         netdb.
40887
40888 2008-10-15  Simon Josefsson  <simon@josefsson.org>
40889
40890         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
40891         with code.
40892
40893 2008-10-13  Bruno Haible  <bruno@clisp.org>
40894
40895         * lib/glthread/cond.c (glthread_cond_wait_func,
40896         glthread_cond_timedwait_func): Add a comment.
40897
40898 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40899
40900         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
40901         * tests/test-select.c: Likewise,
40902
40903 2008-10-13  Bruno Haible  <bruno@clisp.org>
40904
40905         * lib/glthread/cond.c (glthread_cond_wait_func,
40906         glthread_cond_timedwait_func): Fix variable name.
40907         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
40908
40909 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
40910
40911         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
40912         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
40913         struct sockaddr.sa_len.
40914         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
40915
40916 2008-10-13  Simon Josefsson  <simon@josefsson.org>
40917
40918         * build-aux/pmccabe2html: Add css and css_url parameters.
40919
40920 2008-10-12  Bruno Haible  <bruno@clisp.org>
40921
40922         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
40923         calling aclx_get.
40924         Reported by Rainer Tammer <tammer@tammer.net>.
40925
40926 2008-10-12  Bruno Haible  <bruno@clisp.org>
40927
40928         Use msvcrt aware primitives for creation/termination of Win32 threads.
40929         * lib/glthread/thread.c: Include <process.h>.
40930         (glthread_create_func): Use _beginthreadex instead of CreateThread.
40931         (wrapper_func): Update signature.
40932         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
40933
40934 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
40935             Bruno Haible  <bruno@clisp.org>
40936
40937         Provide a Win32 implementation of the 'cond' module.
40938         * lib/glthread/cond.h [USE_WIN32]: New implementation.
40939         * lib/glthread/cond.c (glthread_cond_init_func,
40940         glthread_cond_wait_func, glthread_cond_timedwait_func,
40941         glthread_cond_signal_func, glthread_cond_broadcast_func,
40942         glthread_cond_destroy_func) [USE_WIN32]: New functions.
40943         * modules/cond (Dependencies): Add gettimeofday.
40944
40945 2008-10-11  Bruno Haible  <bruno@clisp.org>
40946
40947         Make sleep work on older versions of mingw.
40948         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
40949         only whether it exists.
40950         * doc/posix-functions/sleep.texi: Mention the problem with older
40951         versions of mingw.
40952
40953 2008-10-11  Bruno Haible  <bruno@clisp.org>
40954
40955         New module 'shutdown'.
40956         * modules/shutdown: New file.
40957         * lib/sys_socket.in.h (shutdown): New declaration.
40958         * lib/winsock.c (shutdown): New function.
40959         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40960         GNULIB_SHUTDOWN.
40961         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
40962         * doc/posix-functions/shutdown.texi: Document the new module.
40963
40964 2008-10-11  Jim Meyering  <meyering@redhat.com>
40965
40966         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
40967
40968 2008-10-11  Bruno Haible  <bruno@clisp.org>
40969
40970         New module 'fclose'.
40971         * modules/fclose: New file.
40972         * lib/stdio.in.h (fclose): New declaration.
40973         * lib/fclose.c: New file.
40974         * m4/fclose.m4: New file.
40975         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
40976         REPLACE_FCLOSE.
40977         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
40978         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
40979         REPLACE_FCLOSE.
40980         * modules/close (Depends-on): fclose.
40981         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
40982
40983 2008-10-11  Bruno Haible  <bruno@clisp.org>
40984
40985         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
40986         set errno and don't call _close.
40987
40988 2008-10-10  Bruno Haible  <bruno@clisp.org>
40989
40990         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
40991         ACL, not afterwards. Fixes test failure on Cygwin.
40992
40993 2008-10-09  Ben Pfaff  <blp@gnu.org>
40994
40995         * build-aux/announce-gen: Fix gnulib version related part of usage
40996         message.  Die with a useful error message if no tarballs are
40997         found.
40998
40999 2008-10-10  Jim Meyering  <meyering@redhat.com>
41000
41001         bootstrap: use git's --depth=N option only if it's supported
41002         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
41003         recognize the --depth option.  Reported by Pádraig Brady.
41004
41005 2008-10-09  Bruno Haible  <bruno@clisp.org>
41006
41007         New module 'ioctl'.
41008         * modules/ioctl: New file.
41009         * lib/sys_socket.in.h (ioctl): Remove declaration.
41010         * lib/winsock.c: Include <sys/ioctl.h>.
41011         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
41012         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
41013         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
41014         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
41015         * doc/posix-functions/ioctl.texi: Mention the new module.
41016
41017 2008-10-09  Bruno Haible  <bruno@clisp.org>
41018
41019         New module 'sys_ioctl'.
41020         * lib/sys_ioctl.in.h: New file.
41021         * m4/sys_ioctl_h.m4: New file.
41022         * modules/sys_ioctl: New file.
41023         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
41024
41025 2008-10-09  Bruno Haible  <bruno@clisp.org>
41026
41027         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
41028         * lib/winsock.c: Include <stdarg.h>.
41029         (rpl_ioctl): Change to second argument 'int' and then varargs.
41030
41031 2008-10-09  Bruno Haible  <bruno@clisp.org>
41032
41033         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
41034         when the sys_socket module is present and the system has <winsock2.h>.
41035
41036 2008-10-09  Bruno Haible  <bruno@clisp.org>
41037
41038         * doc/posix-functions/close.texi: Mention module 'close' instead of
41039         module 'sys_socket'.
41040
41041 2008-10-09  Bruno Haible  <bruno@clisp.org>
41042
41043         * doc/glibc-headers/sys_ioctl.texi: New file.
41044         * doc/gnulib.texi: Include it.
41045
41046 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41047             Bruno Haible  <bruno@clisp.org>
41048
41049         Combine the two replacements of 'close'.
41050         * lib/sys_socket.in.h (close): Define to a reminder to include
41051         <unistd.h>.
41052         (_gl_close_fd_maybe_socket): New declaration.
41053         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
41054         * lib/winsock.c (close): Remove undefinition.
41055         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
41056         needed for the gnulib module 'close'.
41057         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
41058         define to an error symbol or to a warning, if suitable.
41059         * lib/close.c: Include <sys/socket.h>.
41060         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
41061         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
41062         UNISTD_H_HAVE_WINSOCK2_H.
41063         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
41064         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41065         UNISTD_H_HAVE_WINSOCK2_H.
41066         * modules/sys_socket (Files): Add m4/unistd_h.m4.
41067         (configure.ac): Set a module indicator.
41068         (Makefile.am): Substitute GNULIB_CLOSE.
41069         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
41070         * modules/poll-tests (Depends-on): Add close.
41071         * modules/select-tests (Depends-on): Likewise.
41072
41073 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41074             Bruno Haible  <bruno@clisp.org>
41075
41076         New module 'close'.
41077         * modules/close: New file.
41078         * lib/unistd.in.h (close): Move declaration out of the
41079         FCHDIR_REPLACEMENT scope.
41080         (_gl_unregister_fd): New declaration.
41081         * lib/close.c: New file.
41082         * lib/fchdir.c (rpl_close): Remove function.
41083         * m4/close.m4: New file.
41084         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
41085         close.
41086         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
41087         REPLACE_CLOSE.
41088         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
41089         REPLACE_CLOSE.
41090         * modules/fchdir (Depends-on): Add close.
41091
41092 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41093             Bruno Haible  <bruno@clisp.org>
41094
41095         * lib/fcntl.in.h (open): Simplify conditionals.
41096         (_gl_register_fd): New declaration.
41097         * lib/fchdir.c (rpl_open): Remove function.
41098         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
41099         also.
41100         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
41101         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
41102         open.
41103
41104 2008-10-09  Jim Meyering  <meyering@redhat.com>
41105
41106         GNUmakefile: use the more name-space-friendly "_version"
41107         * top/GNUmakefile (_dummy): Update.
41108         (_version): Rename from "version".
41109
41110 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41111             Bruno Haible  <bruno@clisp.org>
41112
41113         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
41114         rpl_close.
41115         (_gl_register_fd): New function, extracted from rpl_open.
41116         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
41117         (rpl_open, rpl_opendir): Use _gl_register_fd.
41118
41119 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
41120
41121         Fix organization of 'open' replacement.
41122         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
41123         (gl_FUNC_OPEN): Use it.
41124         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
41125
41126 2008-10-08  Bruno Haible  <bruno@clisp.org>
41127
41128         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
41129
41130 2008-10-08  Simon Josefsson  <simon@josefsson.org>
41131
41132         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
41133         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
41134         listen).
41135
41136 2008-10-08  Eric Blake  <ebb9@byu.net>
41137
41138         GNUmakefile: add 'make version' target
41139         * top/GNUmakefile (_curr-ver): Split version update rules...
41140         (version): ...into a target.
41141
41142 2008-10-07  Bruno Haible  <bruno@clisp.org>
41143
41144         Use a more portable replacement expression for -0.0L.
41145         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
41146         instead of -0.0L. Fix m4 quotation.
41147
41148         * tests/test-signbit.c: Include <float.h>.
41149         (minus_zero): New variable.
41150         (test_signbitl): Use minus_zero instead of -zero.
41151         * modules/signbit-tests (Depends-on): Add float.
41152
41153         * tests/test-ceill.c: Include <float.h>.
41154         (zero): Remove variable.
41155         (minus_zero): New variable.
41156         (main): Use minus_zero instead of -zero.
41157         * modules/ceill-tests (Depends-on): Add float.
41158
41159         * tests/test-floorl.c: Include <float.h>.
41160         (zero): Remove variable.
41161         (minus_zero): New variable.
41162         (main): Use minus_zero instead of -zero.
41163         * modules/floorl-tests (Depends-on): Add float.
41164
41165         * tests/test-roundl.c: Include <float.h>.
41166         (zero): Remove variable.
41167         (minus_zero): New variable.
41168         (main): Use minus_zero instead of -zero.
41169         * modules/roundl-tests (Depends-on): Add float.
41170
41171         * tests/test-truncl.c: Include <float.h>.
41172         (zero): Remove variable.
41173         (minus_zero): New variable.
41174         (main): Use minus_zero instead of -zero.
41175         * modules/truncl-tests (Depends-on): Add float.
41176
41177         * tests/test-frexpl.c (zero): Remove variable.
41178         (minus_zero): New variable.
41179         (main): Use minus_zero instead of -zero.
41180         * modules/frexpl-tests (Depends-on): Add float.
41181
41182         * tests/test-isnan.c (zerol): Remove variable.
41183         (minus_zerol): New variable.
41184         (test_long_double): Use minus_zerol instead of -zerol.
41185         * modules/isnan-tests (Depends-on): Add float.
41186
41187         * tests/test-isnanl.h (zero): Remove variable.
41188         (minus_zero): New variable.
41189         (main): Use minus_zero instead of -zero.
41190         * modules/isnanl-nolibm-tests (Depends-on): Add float.
41191         * modules/isnanl-tests (Depends-on): Add float.
41192
41193         * tests/test-ldexpl.c (zero): Remove variable.
41194         (minus_zero): New variable.
41195         (main): Use minus_zero instead of -zero.
41196         * modules/ldexpl-tests (Depends-on): Add float.
41197
41198         * tests/test-snprintf-posix.h (zerol): Remove variable.
41199         (minus_zerol): New variable.
41200         (test_function): Use minus_zerol instead of -zerol.
41201         * modules/snprintf-posix-tests (Depends-on): Add float.
41202         * modules/vsnprintf-posix-tests (Depends-on): Add float.
41203
41204         * tests/test-sprintf-posix.h (zerol): Remove variable.
41205         (minus_zerol): New variable.
41206         (test_function): Use minus_zerol instead of -zerol.
41207         * modules/sprintf-posix-tests (Depends-on): Add float.
41208         * modules/vsprintf-posix-tests (Depends-on): Add float.
41209
41210         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
41211         (minus_zerol): New variable.
41212         (test_function): Use minus_zerol instead of -zerol.
41213         * modules/vasnprintf-posix-tests (Depends-on): Add float.
41214
41215         * tests/test-vasprintf-posix.c (zerol): Remove variable.
41216         (minus_zerol): New variable.
41217         (test_function): Use minus_zerol instead of -zerol.
41218         * modules/vasprintf-posix-tests (Depends-on): Add float.
41219
41220 2008-10-07  Simon Josefsson  <simon@josefsson.org>
41221
41222         * MODULES.html.sh (Support for building documentation): Mention
41223         pmccabe2html.  Sort entries.
41224
41225         Add pmccabe2html module, from gnupdf.
41226         * build-aux/pmccabe.css: New file.
41227         * build-aux/pmccabe2html: New file.
41228         * m4/pmccabe2html.m4: New file.
41229         * modules/pmccabe2html: New file.
41230
41231 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
41232
41233         flock: new module
41234         * MODULES.html.sh: Add to list of modules.
41235         * lib/flock.c: flock implementation for Windows and Unix systems
41236         which have fcntl.
41237         * doc/glibc-functions/flock.texi: Update documentation.
41238         * lib/sys_file.in.h: <sys/file.h> header file.
41239         * m4/flock.m4: M4 macros.
41240         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
41241         * modules/flock: flock module.
41242         * modules/flock-tests: flock tests module.
41243         * modules/sys_file: sys/file.h module.
41244         * tests/test-flock.c: test suite for flock.
41245
41246 2008-10-06  Jim Meyering  <meyering@redhat.com>
41247
41248         bootstrap: check for LT_INIT more portably still ;-)
41249         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
41250         Spotted by Bruno Haible.
41251
41252 2008-10-06  Eric Blake  <ebb9@byu.net>
41253
41254         test-signbit: avoid tripping Irix cc bug on -0.0L
41255         * tests/test-signbit.c (minus_zerol): Delete, and replace with
41256         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
41257         entire testsuite consistent and avoids an Irix 6.2 bug.
41258
41259 2008-10-05  Bruno Haible  <bruno@clisp.org>
41260             Jim Meyering  <jim@meyering.net>
41261
41262         Add an option for ignoring EPIPE during close_stdout.
41263         * lib/closeout.h: Include <stdbool.h>.
41264         (close_stdout_set_ignore_EPIPE): New declaration.
41265         * lib/closeout.c: Include <stdbool.h>.
41266         (ignore_EPIPE): New variable.
41267         (close_stdout_set_ignore_EPIPE): New function.
41268         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
41269         * lib/close-stream.c (close_stream): Mention the possible EPIPE
41270         failure.
41271         * modules/closeout (Depends-on): Add stdbool.
41272
41273 2008-10-05  Bruno Haible  <bruno@clisp.org>
41274
41275         * modules/accept: New file.
41276         * modules/bind: New file.
41277         * modules/connect: New file.
41278         * modules/getpeername: New file.
41279         * modules/getsockname: New file.
41280         * modules/getsockopt: New file.
41281         * modules/listen: New file.
41282         * modules/recv: New file.
41283         * modules/recvfrom: New file.
41284         * modules/send: New file.
41285         * modules/sendto: New file.
41286         * modules/setsockopt: New file.
41287         * modules/socket: New file.
41288         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
41289         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
41290         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
41291         the particular module is requested. Add a link warning when the
41292         particular module is not requested.
41293         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
41294         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
41295         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
41296         the particular module is requested.
41297         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
41298         gl_SYS_SOCKET_H_DEFAULTS): New macros.
41299         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
41300         * modules/sys_socket (Depends-on): Add link-warning.
41301         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
41302         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
41303         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
41304         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
41305         GL_LINK_WARNING.
41306         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
41307         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
41308         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
41309         * doc/posix-functions/getpeername.texi: Mention the new module
41310         'getpeername'.
41311         * doc/posix-functions/getsockname.texi: Mention the new module
41312         'getsockname'.
41313         * doc/posix-functions/getsockopt.texi: Mention the new module
41314         'getsockopt'.
41315         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
41316         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
41317         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
41318         * doc/posix-functions/send.texi: Mention the new module 'send'.
41319         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
41320         * doc/posix-functions/setsockopt.texi: Mention the new module
41321         'setsockopt'.
41322         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
41323         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
41324         listen, connect, accept.
41325         * modules/select-tests (Depends-on): Likewise.
41326
41327 2008-10-05  Bruno Haible  <bruno@clisp.org>
41328
41329         * lib/winsock.c (strerror): Remove unused #undef.
41330         (rpl_close): Remove unused local variable.
41331
41332         * modules/sys_socket (Depends-on); Add errno.
41333
41334 2008-10-05  Bruno Haible  <bruno@clisp.org>
41335
41336         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
41337         (select): Add a link warning when the 'select' module is not used.
41338         * modules/sys_select (Depends-on): Add link-warning.
41339         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
41340         Suggested by Paolo Bonzini.
41341
41342 2008-10-05  Jim Meyering  <meyering@redhat.com>
41343
41344         bootstrap: check for LT_INIT more portably
41345         * build-aux/bootstrap: Avoid using grep -E, since it's not
41346         portable enough.  Suggestion from Bruno Haible.
41347
41348 2008-10-05  Bruno Haible  <bruno@clisp.org>
41349
41350         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
41351         as being fixed by gnulib.
41352
41353 2008-10-05  Bruno Haible  <bruno@clisp.org>
41354
41355         * modules/select-tests: New file, mostly copied from
41356         modules/sys_select-tests.
41357         * tests/test-select.c: New file, mostly copied from
41358         tests/test-sys_select.c.
41359         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
41360         * modules/sys_select-tests (Depends-on): Remove all dependencies.
41361         (Makefile.am): Remove test_sys_select_LDADD.
41362
41363         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
41364         to an undefined symbol, for an error message.
41365         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
41366         (gl_SYS_SELECT_H_DEFAULTS): New macro.
41367         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
41368         winsock-select.c here.
41369         * modules/sys_select (Files): Remove lib/winsock-select.c.
41370         (Depends-on): Remove alloca.
41371         (Makefile.am): Substitute GNULIB_SELECT.
41372         * modules/select: New file.
41373         * doc/posix-functions/select.texi: Update.
41374
41375 2008-10-05  Bruno Haible  <bruno@clisp.org>
41376
41377         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
41378         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
41379         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
41380         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
41381         getdtablesize.
41382         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
41383         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
41384
41385 2008-10-05  Bruno Haible  <bruno@clisp.org>
41386
41387         * modules/getdtablesize-tests: New file.
41388         * tests/test-getdtablesize.c: New file.
41389
41390         New module 'getdtablesize'.
41391         * lib/unistd.in.h (getdtablesize): New declaration.
41392         * lib/getdtablesize.c: New file.
41393         * m4/getdtablesize.m4: New file.
41394         * modules/getdtablesize: New file.
41395         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41396         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
41397         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
41398         HAVE_GETDTABLESIZE.
41399         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
41400
41401 2008-10-05  Bruno Haible  <bruno@clisp.org>
41402
41403         * modules/sched (Makefile.am): Fix typo.
41404         Reported by Simon Josefsson.
41405
41406 2008-10-05  Jim Meyering  <meyering@redhat.com>
41407
41408         bootstrap: check for LT_INIT, too
41409         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
41410         are deprecated.  Suggestion from Ralf Wildenhues.
41411
41412 2008-10-05  Bruno Haible  <bruno@clisp.org>
41413
41414         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
41415         overriding them by ours.
41416         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
41417
41418 2008-10-05  Jim Meyering  <meyering@redhat.com>
41419
41420         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
41421         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
41422         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
41423
41424 2008-10-04  Bruno Haible  <bruno@clisp.org>
41425
41426         * modules/dup2 (License): Change to LGPLv2+.
41427         * modules/sleep (License): Likewise.
41428         * modules/perror (License): Likewise.
41429         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
41430         Blake.
41431         * modules/signal (License): Likewise.
41432         * modules/sigprocmask (License): Likewise.
41433         * modules/raise (License): Change to LGPLv2+, with approval by Jim
41434         Meyering.
41435
41436 2008-10-04  Bruno Haible  <bruno@clisp.org>
41437
41438         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
41439         Reported by Rainer Tammer <tammer@tammer.net>.
41440
41441 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
41442             Bruno Haible  <bruno@clisp.org>
41443
41444         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
41445         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
41446         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
41447
41448 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
41449
41450         filevercmp: new module
41451         * lib/filevercmp.h: New function filevercmp comparing version strings.
41452         * lib/filevercmp.c: Implementation of filevercmp function.
41453         * modules/filevercmp: Module metadata.
41454         * tests/test-filevercmp.c: Unit test for new module.
41455         * modules/filevercmp-tests: Unit test metadata.
41456         * MODULES.html.sh: Add filevercmp module.
41457
41458 2008-10-03  Bruno Haible  <bruno@clisp.org>
41459
41460         * lib/c-ctype.h: Add comment.
41461         Reported by Jim Meyering.
41462
41463 2008-10-02  Bruno Haible  <bruno@clisp.org>
41464
41465         * modules/posix_spawn-internal (Depends-on): Add 'open'.
41466
41467 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
41468
41469         * build-aux/bootstrap: Allow renaming bootstrap, and change the
41470         name of bootstrap.conf accordingly.
41471
41472 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
41473
41474         * build-aux/bootstrap: Install git-merge-changelog configuration
41475         items into .gitconfig if needed.
41476
41477 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
41478
41479         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
41480         git repository, and initialize/update it accordingly.
41481
41482 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
41483
41484         * modules/fsync-tests: New file.
41485         * tests/test-fsync.c: New file.
41486
41487         New module 'fsync'.
41488         * lib/fsync.c: New file.
41489         * m4/fsync.m4: New file.
41490         * modules/fsync: New file.
41491         * lib/unistd.in.h (fsync): New declaration.
41492         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
41493         GNULIB_FSYNC and HAVE_FSYNC.
41494         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
41495         * MODULES.html.sh (posix_functions): Add fsync.
41496         * doc/posix-functions/fsync.texi: Mention the new module.
41497
41498 2008-10-02  Jim Meyering  <meyering@redhat.com>
41499
41500         fts.c: sync with similar code from coreutils' remove.c
41501         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
41502         Guard also with "#if defined __linux__", since for now at least,
41503         this code is Linux-kernel-specific.
41504
41505 2008-10-02  Jim Meyering  <meyering@redhat.com>
41506
41507         fts: bug fixes
41508         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
41509         Include <sys/vfs.h>, not <sys/statfs.h>.
41510
41511         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
41512         Include <sys/vfs.h>, not <sys/statfs.h>.
41513
41514 2008-10-01  Bruno Haible  <bruno@clisp.org>
41515
41516         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
41517         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
41518         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
41519         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
41520         * doc/posix-functions/posix_spawnp.texi: Likewise.
41521         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
41522         whether posix_spawn actually works.
41523         * m4/pipe.m4 (gl_PIPE): Likewise.
41524         * modules/execute (Files): Add m4/posix_spawn.m4.
41525         * modules/pipe (Files): Add m4/posix_spawn.m4.
41526         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
41527
41528 2008-10-01  Jim Meyering  <meyering@redhat.com>
41529
41530         remove trailing spaces
41531         * NEWS: Likewise.
41532         * lib/poll.c (poll): Likewise.
41533         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
41534         * lib/winsock.c (rpl_close): Likewise.
41535         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
41536         * modules/yield: Likewise.
41537         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
41538         * tests/test-sys_select.c (connect_to_socket): Likewise.
41539
41540         fts.c: adjust a new interface to be more generally useful
41541         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
41542         (fts_build): Adjust caller.
41543
41544 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41545
41546         * modules/cond-tests: New file.
41547         * tests/test-cond.c: New file.
41548
41549 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41550             Bruno Haible  <bruno@clisp.org>
41551
41552         * modules/cond (Dependencies): Add errno, time.
41553         * lib/glthread/cond.h: Include <time.h>.
41554         (gl_cond_define, gl_cond_define_initialized): Use the same definition
41555         across platforms.
41556
41557 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41558             Bruno Haible  <bruno@clisp.org>
41559
41560         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
41561
41562 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41563             Bruno Haible  <bruno@clisp.org>
41564
41565         * modules/tls-tests (Depends-on): Add thread, yield.
41566         (configure.ac): Remove all checks.
41567         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
41568         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
41569         gl_thread_self): Remove definitions. Include glthread/thread.h and
41570         glthread/yield.h instead.
41571         (test_tls): Pass an additional NULL argument to gl_thread_join.
41572
41573 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41574             Bruno Haible  <bruno@clisp.org>
41575
41576         * modules/lock-tests (Depends-on): Add thread, yield.
41577         (configure.ac): Remove all checks.
41578         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
41579         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
41580         gl_thread_self): Remove definitions. Include glthread/thread.h and
41581         glthread/yield.h instead.
41582         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
41583         additional NULL argument to gl_thread_join.
41584
41585 2008-09-30  Bruno Haible  <bruno@clisp.org>
41586
41587         Fix the Win32 implementation of the 'thread' module.
41588         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
41589         pointer type.
41590         (gl_thread_self): Invoke gl_thread_self_func.
41591         (gl_thread_self_func): New declaration.
41592         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
41593         (do_init_self_key, init_self_key): New functions.
41594         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
41595         Remove some fields.
41596         (running_threads, running_lock): Remove variables.
41597         (get_current_thread_handle): New function.
41598         (gl_thread_self_func, wrapper_func, glthread_create_func,
41599         glthread_join_func, gl_thread_exit_func): Largely rewritten and
41600         simplified.
41601
41602 2008-09-30  Bruno Haible  <bruno@clisp.org>
41603
41604         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
41605         files.
41606
41607 2008-09-30  Jim Meyering  <meyering@redhat.com>
41608
41609         fts.m4: correct the test for statfs.f_type
41610         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
41611         when checking for statfs.f_type.
41612
41613 2008-09-15  Simon Josefsson  <simon@josefsson.org>
41614
41615         tests: avoid some compiler warnings
41616         * tests/test-memchr.c (main): Pass NULL indirectly.
41617         * tests/test-getdate.c (main): Remove unused variable 'ret'.
41618
41619 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
41620
41621         getdate.y: disallow countable dayshifts like "4 yesterday ago"
41622         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
41623         exactly specified dayshifts.
41624         (dayshift): New rule.
41625         (rel): Add dayshift.
41626         (relative_time_table) [tomorrow, yesterday, today, now]:
41627         Use tDAY_SHIFT in place of tDAY_UNIT.
41628         * tests/test-getdate.c: Add tests for now-disallowed countable
41629         dayshifts, e.g., "4 yesterday ago".
41630
41631 2008-09-29  Bruno Haible  <bruno@clisp.org>
41632
41633         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
41634         * tests/test-posix_spawn1.in.sh: Renamed from
41635         tests/test-posix_spawn.in.sh.
41636         * tests/test-posix_spawn2.c: New file.
41637         * tests/test-posix_spawn2.in.sh: New file.
41638         * modules/posix_spawnp-tests (Files): Update.
41639         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
41640
41641 2008-09-29  Bruno Haible  <bruno@clisp.org>
41642
41643         Propagate effects of putenv/setenv/unsetenv to child processes.
41644         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
41645         * lib/pipe.c (create_pipe): Likewise.
41646
41647 2008-09-29  Bruno Haible  <bruno@clisp.org>
41648
41649         Enable use of shell scripts as executables in mingw.
41650         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
41651         run the program as a shell script.
41652         * lib/pipe.c (create_pipe): Likewise.
41653         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
41654         resulting array.
41655
41656 2008-09-29  Eric Blake  <ebb9@byu.net>
41657
41658         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
41659
41660 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
41661
41662         * doc/posix-functions/accept.texi: Update mingw problems.
41663         * doc/posix-functions/bind.texi: Update mingw problems.
41664         * doc/posix-functions/close.texi: Update mingw problems.
41665         * doc/posix-functions/connect.texi: Update mingw problems.
41666         * doc/posix-functions/getpeername.texi: Update mingw problems.
41667         * doc/posix-functions/getsockname.texi: Update mingw problems.
41668         * doc/posix-functions/getsockopt.texi: Update mingw problems.
41669         * doc/posix-functions/ioctl.texi: Update mingw problems.
41670         * doc/posix-functions/listen.texi: Update mingw problems.
41671         * doc/posix-functions/recv.texi: Update mingw problems.
41672         * doc/posix-functions/recvfrom.texi: Update mingw problems.
41673         * doc/posix-functions/select.texi: Update mingw problems.
41674         * doc/posix-functions/send.texi: Update mingw problems.
41675         * doc/posix-functions/sendto.texi: Update mingw problems.
41676         * doc/posix-functions/setsockopt.texi: Update mingw problems.
41677         * doc/posix-functions/socket.texi: Update mingw problems.
41678
41679 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
41680             Bruno Haible  <bruno@clisp.org>
41681
41682         * lib/sys_select.in.h: Include sys/time.h.
41683         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
41684         * modules/sys_select: Depend on sys_time.
41685         * tests/test-sys_select.c: Test that sys/select.h defines struct
41686         timeval fully.
41687
41688 2008-09-29  Bruno Haible  <bruno@clisp.org>
41689
41690         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
41691         * lib/sys_select.in.h: Likewise.
41692
41693 2008-09-29  Bruno Haible  <bruno@clisp.org>
41694
41695         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
41696
41697 2008-09-29  Bruno Haible  <bruno@clisp.org>
41698
41699         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
41700         Set LIBSOCKET instead of augmenting LIBS.
41701         * modules/sockets (Link): New section.
41702         * modules/sockets-tests (test_sockets_LDADD): New variable.
41703         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
41704         * modules/poll-tests (test_poll_LDADD): New variable.
41705         * NEWS: Document the change.
41706
41707 2008-09-29  Bruno Haible  <bruno@clisp.org>
41708
41709         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
41710         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
41711         ARPA_INET_H directly.
41712         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
41713
41714 2008-09-28  Bruno Haible  <bruno@clisp.org>
41715
41716         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
41717         from gl_HEADER_SYS_SOCKET.
41718         (gl_HEADER_SYS_SOCKET): Invoke it.
41719         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
41720
41721 2008-09-28  Bruno Haible  <bruno@clisp.org>
41722
41723         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
41724         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
41725         Needed on OSF/1 4.0.
41726
41727 2008-09-28  Bruno Haible  <bruno@clisp.org>
41728
41729         Override open more carefully.
41730         * lib/open.c (orig_open): New function.
41731         (rpl_open): Use orig_open instead of open.
41732         * lib/fcntl.in.h: Add special invocation convention.
41733         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
41734         (gl_FUNC_OPEN): Invoke it.
41735
41736         Override freopen more carefully.
41737         * lib/freopen.c (orig_freopen): New function.
41738         (rpl_freopen): Use orig_freopen instead of freopen.
41739         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
41740         (gl_FUNC_FREOPEN): Invoke it.
41741
41742         Override fopen more carefully.
41743         * lib/fopen.c (orig_fopen): New function.
41744         (rpl_fopen): Use orig_fopen instead of fopen.
41745         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
41746         (gl_FUNC_FOPEN): Invoke it.
41747         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
41748
41749 2008-09-28  Bruno Haible  <bruno@clisp.org>
41750
41751         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
41752         SIGPIPE.
41753
41754 2008-09-28  Bruno Haible  <bruno@clisp.org>
41755
41756         * tests/test-sigaction.c (handler, main): Disable the check whether
41757         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
41758         glibc systems with LinuxThreads.
41759
41760 2008-09-28  Bruno Haible  <bruno@clisp.org>
41761
41762         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
41763
41764         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
41765         with AIX xlc.
41766         * lib/fcntl.in.h (open): Likewise.
41767         Reported by Rainer Tammer <tammer@tammer.net>.
41768
41769 2008-09-28  Bruno Haible  <bruno@clisp.org>
41770
41771         * modules/posix_spawnp-tests: New file.
41772         * tests/test-posix_spawn.c: New file.
41773         * tests/test-posix_spawn.in.sh: New file.
41774
41775         New module 'posix_spawnp'.
41776         * modules/posix_spawnp: New file.
41777         * lib/spawnp.c: New file, from GNU libc with modifications.
41778         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
41779
41780         New module 'posix_spawn'.
41781         * modules/posix_spawn: New file.
41782         * lib/spawn.c: New file, from GNU libc with modifications.
41783         * doc/posix-functions/posix_spawn.texi: Mention the new module.
41784
41785         New module 'posix_spawnattr_destroy'.
41786         * modules/posix_spawnattr_destroy: New file.
41787         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
41788         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
41789         module.
41790
41791         New module 'posix_spawnattr_setsigmask'.
41792         * modules/posix_spawnattr_setsigmask: New file.
41793         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
41794         modifications.
41795         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
41796         new module.
41797
41798         New module 'posix_spawnattr_getsigmask'.
41799         * modules/posix_spawnattr_getsigmask: New file.
41800         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
41801         modifications.
41802         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
41803         new module.
41804
41805         New module 'posix_spawnattr_setsigdefault'.
41806         * modules/posix_spawnattr_setsigdefault: New file.
41807         * lib/spawnattr_setdefault.c: New file, from GNU libc with
41808         modifications.
41809         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
41810         new module.
41811
41812         New module 'posix_spawnattr_getsigdefault'.
41813         * modules/posix_spawnattr_getsigdefault: New file.
41814         * lib/spawnattr_getdefault.c: New file, from GNU libc with
41815         modifications.
41816         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
41817         new module.
41818
41819         New module 'posix_spawnattr_setschedpolicy'.
41820         * modules/posix_spawnattr_setschedpolicy: New file.
41821         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
41822         modifications.
41823         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
41824         new module.
41825
41826         New module 'posix_spawnattr_getschedpolicy'.
41827         * modules/posix_spawnattr_getschedpolicy: New file.
41828         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
41829         modifications.
41830         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
41831         new module.
41832
41833         New module 'posix_spawnattr_setschedparam'.
41834         * modules/posix_spawnattr_setschedparam: New file.
41835         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
41836         modifications.
41837         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
41838         new module.
41839
41840         New module 'posix_spawnattr_getschedparam'.
41841         * modules/posix_spawnattr_getschedparam: New file.
41842         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
41843         modifications.
41844         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
41845         new module.
41846
41847         New module 'posix_spawnattr_setpgroup'.
41848         * modules/posix_spawnattr_setpgroup: New file.
41849         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
41850         modifications.
41851         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
41852         module.
41853
41854         New module 'posix_spawnattr_getpgroup'.
41855         * modules/posix_spawnattr_getpgroup: New file.
41856         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
41857         modifications.
41858         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
41859         module.
41860
41861         New module 'posix_spawnattr_setflags'.
41862         * modules/posix_spawnattr_setflags: New file.
41863         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
41864         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
41865         module.
41866
41867         New module 'posix_spawnattr_getflags'.
41868         * modules/posix_spawnattr_getflags: New file.
41869         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
41870         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
41871         module.
41872
41873         New module 'posix_spawnattr_init'.
41874         * modules/posix_spawnattr_init: New file.
41875         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
41876         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
41877         module.
41878
41879         New module 'posix_spawn_file_actions_destroy'.
41880         * modules/posix_spawn_file_actions_destroy: New file.
41881         * lib/spawn_faction_destroy.c: New file, from GNU libc with
41882         modifications.
41883         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
41884         the new module.
41885
41886         New module 'posix_spawn_file_actions_addopen'.
41887         * modules/posix_spawn_file_actions_addopen: New file.
41888         * lib/spawn_faction_addopen.c: New file, from GNU libc with
41889         modifications.
41890         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
41891         the new module.
41892
41893         New module 'posix_spawn_file_actions_adddup2'.
41894         * modules/posix_spawn_file_actions_adddup2: New file.
41895         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
41896         modifications.
41897         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
41898         the new module.
41899
41900         New module 'posix_spawn_file_actions_addclose'.
41901         * modules/posix_spawn_file_actions_addclose: New file.
41902         * lib/spawn_faction_addclose.c: New file, from GNU libc with
41903         modifications.
41904         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
41905         the new module.
41906
41907         New module 'posix_spawn_file_actions_init'.
41908         * modules/posix_spawn_file_actions_init: New file.
41909         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
41910         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
41911         new module.
41912
41913         New module 'posix_spawn-internal'.
41914         * modules/posix_spawn-internal: New file.
41915         * lib/spawn_int.h: New file, from GNU libc with modifications.
41916         * lib/spawni.c: New file, from GNU libc with modifications.
41917         * m4/posix_spawn.m4: New file.
41918
41919         New module 'spawn'.
41920         * modules/spawn: New file.
41921         * lib/spawn.in.h: New file, from GNU libc with modifications.
41922         * m4/spawn_h.m4: New file.
41923         * doc/posix-headers/spawn.texi: Mention the new module.
41924
41925 2008-09-28  Bruno Haible  <bruno@clisp.org>
41926
41927         * modules/sched-tests: New file.
41928         * tests/test-sched.c: New file.
41929
41930         New module 'sched'.
41931         * modules/sched: New file.
41932         * lib/sched.in.h: New file.
41933         * m4/sched_h.m4: New file.
41934         * doc/posix-headers/sched.texi: Mention the new module.
41935
41936 2008-09-27  Eric Blake  <ebb9@byu.net>
41937
41938         Fix previous patch, and tweak references to $0.
41939         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
41940         (func_version, func_gnulib_dir): Don't call this program
41941         gnulib-tool.
41942         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
41943         with using $0 in function.
41944         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
41945         (func_fatal_error): Reuse the name the user invoked us with.
41946
41947 2008-09-27  Bruno Haible  <bruno@clisp.org>
41948
41949         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
41950         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
41951         (gl_ICONV_H): Not here.
41952         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
41953         instead of assigning ICONV_H directly.
41954
41955         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
41956         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
41957         WCHAR_H directly.
41958
41959 2008-09-27  Bruno Haible  <bruno@clisp.org>
41960
41961         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
41962         * modules/arpa_inet (Depends-on): Add link-warning.
41963         (Makefile.am): Insert the definition of GL_LINK-WARNING.
41964         * modules/unistd (Makefile.am): Likewise.
41965
41966 2008-09-26  Bruno Haible  <bruno@clisp.org>
41967
41968         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
41969         variables.
41970         (func_version): Essentially copied from gnulib-tool.
41971         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
41972         func_readlink): Copied from gnulib-tool.
41973
41974 2008-09-26  Bruno Haible  <bruno@clisp.org>
41975
41976         * gnulib-tool (func_version): Change directory to $gnulib_dir before
41977         invoking git-version-gen.
41978
41979 2008-09-26  Bruno Haible  <bruno@clisp.org>
41980
41981         * posix-modules: Update to directory names changed on 2008-01-19.
41982         Remove commas in output before splitting into words. No more need to
41983         avoid 'ftruncate' since 2007-02-19.
41984
41985 2008-09-26  Bruno Haible  <bruno@clisp.org>
41986
41987         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
41988
41989 2008-09-26  Bruno Haible  <bruno@clisp.org>
41990
41991         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
41992         * modules/fwriteerror (Depends-on): Add errno.
41993
41994 2008-09-26  Bruno Haible  <bruno@clisp.org>
41995
41996         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
41997         * tests/test-vc-list-files-cvs.sh: Likewise.
41998
41999 2008-09-26  Bruno Haible  <bruno@clisp.org>
42000
42001         * doc/posix-headers/sys_resource.texi: Reorder items.
42002
42003 2008-09-26  Jim Meyering  <meyering@redhat.com>
42004
42005         fts: tweak inode comparison function
42006         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
42007         inode numbers, as documented.
42008
42009         fts: sort dirent entries on inode number before traversing
42010         This avoids a quadratic, seek-related performance penalty when
42011         operating on a directory containing many entries (measurable at 10k;
42012         3.5 hours at 2 million entries with a cold cache) on certain types
42013         of file systems, including ext3 and ext4, but not tmpfs.
42014         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
42015         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
42016         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
42017         (fs_handles_readdir_ordered_dirents_efficiently): New function.
42018         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
42019         (fts_build): Set the stat.st_ino member from D_INO.
42020         If it is likely to be useful, sort dirent entries on inode number.
42021
42022         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
42023         and the struct statfs.f_type member.
42024         * modules/fts (Depends-on): Add d-ino.
42025
42026 2008-09-26  Bruno Haible  <bruno@clisp.org>
42027
42028         * modules/sigpipe-die (Depends-on): Add sigpipe.
42029
42030         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
42031         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
42032         and GNULIB_STDIO_H_SIGPIPE are set.
42033         * lib/stdio-write.c: New file.
42034         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
42035         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
42036         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
42037         REPLACE_STDIO_WRITE_FUNCS.
42038         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
42039         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
42040         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
42041         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
42042         * modules/stdio (Files): Add lib/stdio-write.c.
42043         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
42044         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
42045         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
42046         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
42047         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
42048         REPLACE_FPRINTF_POSIX.
42049         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
42050         REPLACE_PRINTF_POSIX.
42051         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
42052         REPLACE_VFPRINTF_POSIX.
42053         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
42054         REPLACE_VPRINTF_POSIX.
42055         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
42056         SIGPIPE issue.
42057         * doc/posix-functions/fputc.texi: Likewise.
42058         * doc/posix-functions/fputs.texi: Likewise.
42059         * doc/posix-functions/fwrite.texi: Likewise.
42060         * doc/posix-functions/printf.texi: Likewise.
42061         * doc/posix-functions/putc.texi: Likewise.
42062         * doc/posix-functions/putchar.texi: Likewise.
42063         * doc/posix-functions/puts.texi: Likewise.
42064         * doc/posix-functions/vfprintf.texi: Likewise.
42065         * doc/posix-functions/vprintf.texi: Likewise.
42066
42067         * modules/safe-write (Depends-on): Add write.
42068
42069         * modules/sigpipe-tests: New file.
42070         * tests/test-sigpipe.c: New file.
42071         * tests/test-sigpipe.sh: New file.
42072
42073         * modules/write: New file.
42074         * lib/unistd.in.h: Include <sys/types.h>.
42075         (write): New declaration.
42076         * lib/write.c: New file.
42077         * m4/write.m4: New file.
42078         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42079         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
42080         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
42081         GNULIB_WRITE, REPLACE_WRITE.
42082         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
42083         and the SIGPIPE issue.
42084
42085         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
42086         (raise): New declaration.
42087         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
42088         (ext_signal): New function.
42089         (rpl_raise): New function.
42090         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
42091         GNULIB_SIGNAL_H_SIGPIPE.
42092         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
42093         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
42094
42095         * modules/sigpipe: New file.
42096         * m4/sigpipe.m4: New file.
42097
42098 2008-09-25  Derek Price  <derek@ximbiot.com>
42099             Bruno Haible  <bruno@clisp.org>
42100
42101         * gnulib-tool (func_import): Report all license incompatibilities, not
42102         just the first one.
42103
42104 2008-09-25  Bruno Haible  <bruno@clisp.org>
42105
42106         * gnulib-tool (func_import): When computing the edits, consider not
42107         only the Makefile.ams that exist but also those that will be generated.
42108
42109 2008-09-25  Simon Josefsson  <simon@josefsson.org>
42110
42111         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
42112         fixes gnulib-tool --test warning about duplicate dependency.
42113
42114 2008-09-25  Bruno Haible  <bruno@clisp.org>
42115
42116         * gnulib-tool: Don't ask the user to perform edits in the generated
42117         Makefile.ams.
42118         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
42119         apply to the Makefile.am being generated.
42120         (func_emit_tests_Makefile_am): Execute edits that apply to the
42121         Makefile.am being generated.
42122         (func_import): Setup list of Makefile.am edits before emitting the
42123         Makefile.ams, not at the end.
42124         (func_create_testdir): Update.
42125         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42126
42127 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42128
42129         * gnulib-tool (func_import): Store the --tests-base option in the
42130         comment in gnulib-cache.m4.
42131
42132 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
42133
42134         * NEWS: Document increased portability that sys_select now provides.
42135
42136         * lib/sys_select.in.h: Install select wrapper.
42137         * lib/sys_socket.in.h: Use more descriptive name when there is no
42138         select wrapper.
42139         * lib/winsock-select.c: New.
42140         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
42141         Require gl_HEADER_SYS_SOCKET.
42142         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
42143         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
42144         * tests/test-sys_select.c: Add functional tests.
42145
42146 2008-09-24  Eric Blake  <ebb9@byu.net>
42147
42148         open, fopen: close fd leak in last patch
42149         * lib/open.c (rpl_open): Close fd before returning error.
42150         * lib/fopen.c (rpl_fopen): Close fd before returning error.
42151         * doc/posix-functions/open.texi (open): Document that Irix also
42152         has the bug.
42153         * doc/posix-functions/fopen.texi (fopen): Likewise.
42154         Reported by Paolo Bonzini.
42155
42156 2008-09-24  Bruno Haible  <bruno@clisp.org>
42157
42158         Ensure that a filename ending in a slash cannot be used to access a
42159         non-directory.
42160         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
42161         to check whether it's really a directory.
42162         * lib/fopen.c: Include fcntl.h, unistd.h.
42163         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
42164         and fdopen().
42165         * modules/fopen (Depends-on): Add unistd.
42166         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
42167         * tests/test-fopen.c (main): Likewise.
42168         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
42169         * doc/posix-functions/fopen.texi: Likewise.
42170         Reported by Eric Blake.
42171
42172 2008-09-23  Eric Blake  <ebb9@byu.net>
42173
42174         c-stack: avoid compiler optimizations when provoking overflow
42175         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
42176         recursion harder to optimize, to ensure a stack overflow occurs.
42177         * tests/test-c-stack.c (recurse): Likewise.
42178         Borrowed from libsigsegv.
42179
42180         c-stack: work around Irix sigaltstack bug
42181         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
42182         whether sigaltstack uses wrong end of stack_t (copied in part from
42183         libsigsegv).
42184         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
42185         Irix bug, without requiring an over-allocation.
42186         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
42187         bug.
42188
42189         fopen: document mingw bug on directories
42190         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
42191         not allowing a stream visiting a directory, even though reading
42192         from such a stream is not portable.
42193
42194 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
42195
42196         * lib/poll.c: Rewrite.
42197         * modules/poll: Depend on alloca.
42198
42199 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
42200
42201         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
42202         instead define prototypes for a full set of wrappers.  Ensure
42203         that Cygwin does not use the compatibility code, which is only
42204         for MinGW.
42205         * lib/winsock.c: New.
42206         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
42207         * modules/sys_socket: Add lib/winsock.c.
42208
42209         * modules/poll-tests: Add errno and perror.
42210         * tests/test-poll.c: Use ioctl, not ioctlsocket.
42211
42212 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
42213
42214         * tests/test-poll.c: Downgrade minimum needed Winsock version.
42215
42216 2008-09-23  Bruno Haible  <bruno@clisp.org>
42217
42218         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
42219         * doc/glibc-functions/*: Likewise.
42220
42221 2008-09-23  Simon Josefsson  <simon@josefsson.org>
42222
42223         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
42224         success.
42225
42226 2008-09-22  Eric Blake  <ebb9@byu.net>
42227             Bruno Haible  <bruno@clisp.org>
42228
42229         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
42230         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
42231         supply %A but mishandle pseudo-NaN.
42232         Reported by Simon Josefsson.
42233
42234 2008-09-21  Bruno Haible  <bruno@clisp.org>
42235
42236         * tests/test-lock.c (main): Tweak skip message.
42237         * tests/test-tls.c (main): Likewise.
42238
42239 2008-09-21  Bruno Haible  <bruno@clisp.org>
42240
42241         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
42242         whether 'struct sigaction' has sa_sigaction here...
42243         (gl_PREREQ_SIG_HANDLER_H): ... not here.
42244         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
42245
42246 2008-09-21  Bruno Haible  <bruno@clisp.org>
42247
42248         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
42249         section.
42250         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
42251         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
42252         the new section.
42253         (Support for obsolete systems lacking POSIX:2001): New section.
42254         (String handling <string.h>): Move strdup to the new section.
42255         Suggested by Simon Josefsson and Paolo Bonzini.
42256
42257 2008-09-21  Bruno Haible  <bruno@clisp.org>
42258
42259         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
42260         exponents in %e and %g results on 'long double'. Needed for mingw's
42261         improved *printf functions.
42262         * tests/test-vasprintf-posix.c (test_function): Likewise.
42263         * tests/test-snprintf-posix.h (test_function): Likewise.
42264         * tests/test-sprintf-posix.h (test_function): Likewise.
42265         Reported by Eric Blake.
42266
42267 2008-09-21  Bruno Haible  <bruno@clisp.org>
42268
42269         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
42270         * tests/test-sprintf-posix.h (test_function): Likewise.
42271
42272 2008-09-21  Bruno Haible  <bruno@clisp.org>
42273
42274         * modules/getpass (Depends-on): Add strdup-posix.
42275
42276         New module 'strdup-posix'.
42277         * modules/strdup-posix: New file.
42278         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
42279         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
42280         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42281         REPLACE_STRDUP.
42282         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
42283         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
42284         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42285         strdup-posix.
42286
42287         * modules/strdup (Depends-on): Remove malloc-posix.
42288
42289 2008-09-20  Bruno Haible  <bruno@clisp.org>
42290
42291         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
42292         Wildenhues.
42293
42294 2008-09-20  Bruno Haible  <bruno@clisp.org>
42295
42296         Ensure that wint_t gets defined on IRIX 5.3.
42297         * lib/wchar.in.h (wint_t): Define if not defined by the system.
42298         * lib/wctype.in.h (wint_t): Likewise.
42299         (__wctype_wint_t): Remove type.
42300         (isw*): Use wint_t instead of __wctype_wint_t.
42301         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
42302         * modules/wchar (Files): Add m4/wint_t.m4.
42303         (Makefile.am): Substitute HAVE_WINT_T.
42304         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
42305         * tests/test-wctype.c: Check that wint_t is defined.
42306         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
42307         * doc/posix-headers/wctype.texi: Likewise.
42308         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42309
42310 2008-09-18  Bruno Haible  <bruno@clisp.org>
42311
42312         * gnulib-tool (func_exit): Update comment.
42313
42314 2008-09-18  Simon Josefsson  <simon@josefsson.org>
42315
42316         * modules/getaddrinfo (Depends-on): Remove strdup, this module
42317         assumes strdup exists and does not depend on strdup to return
42318         ENOMEM on out of memory conditions.
42319
42320 2008-09-18  Bruno Haible  <bruno@clisp.org>
42321
42322         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
42323         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
42324         digits for the exponent.
42325
42326 2008-09-18  Jim Meyering  <meyering@redhat.com>
42327             Bruno Haible  <bruno@clisp.org>
42328
42329         * lib/vasnprintf.c (decimal_point_char): Define also if
42330         NEED_PRINTF_INFINITE_LONG_DOUBLE.
42331
42332 2008-09-16  Bruno Haible  <bruno@clisp.org>
42333         and Eric Blake  <ebb9@byu.net>
42334
42335         vasnprintf: support Irix 5.3
42336         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
42337         that mishandle long double infinity.
42338         Reported by Tom G. Christensen.
42339
42340 2008-09-16  Bruno Haible  <bruno@clisp.org>
42341
42342         * doc/glibc-functions/scandir.texi: Mention the function is missing on
42343         Solaris 9.
42344         * doc/glibc-functions/alphasort.texi: Likewise.
42345         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
42346
42347 2008-09-16  Jim Meyering  <meyering@redhat.com>
42348
42349         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
42350         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
42351         a umask modification leak out of a subshell.  Otherwise, the
42352         opensolaris /bin/sh would be accepted and thus cause unwarranted
42353         failures in the coreutils test suite.
42354
42355 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
42356
42357         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
42358         to succeed.
42359
42360 2008-09-16  Jim Meyering  <meyering@redhat.com>
42361
42362         avoid spurious test failure when library is built without ACL support
42363         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
42364         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
42365         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
42366         * tests/test-copy-acl.sh: Likewise.
42367
42368 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42369
42370         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
42371         based on character occurrence counts.
42372
42373 2008-09-15  Eric Blake  <ebb9@byu.net>
42374
42375         tests: avoid some compiler warnings
42376         * tests/test-memchr.c (main): Pass NULL indirectly.
42377         * tests/test-closein.c (main): Avoid unused variable.
42378
42379 2008-09-15  Bruno Haible  <bruno@clisp.org>
42380
42381         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
42382         are missing on OpenBSD 4.0 individually.
42383         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42384
42385 2008-09-15  Bruno Haible  <bruno@clisp.org>
42386
42387         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
42388         * doc/posix-functions/strerror.texi: Mention also Cygwin.
42389         * doc/posix-functions/perror.texi: Likewise.
42390         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
42391         is missing.
42392         Reported by Eric Blake.
42393
42394         * lib/errno.in.h: Use replacement values >= 2000.
42395         Reported by Eric Blake.
42396
42397 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42398
42399         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
42400         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
42401         limit.
42402         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
42403         compareseq was aborted.
42404
42405 2008-09-14  Bruno Haible  <bruno@clisp.org>
42406
42407         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
42408         yvec_edit_count.
42409         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
42410         (fstrcmp_bounded): Simplify result computation accordingly.
42411
42412 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42413
42414         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
42415         (fstrcmp): Define in terms of fstrcmp_bounded.
42416         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
42417         lower_bound argument.
42418         Return quickly if the result is certainly < lower_bound.
42419         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
42420
42421 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42422
42423         * lib/diffseq.h (EARLY_ABORT): New macro.
42424         (compareseq): Change return type to bool. Return true when EARLY_ABORT
42425         evaluates to true.
42426
42427 2008-09-14  Bruno Haible  <bruno@clisp.org>
42428
42429         * modules/perror-tests: New file.
42430         * tests/test-perror.sh: New file.
42431         * tests/test-perror.c: New file.
42432
42433         New module 'perror'.
42434         * lib/stdio.in.h (perror): New declaration.
42435         * lib/perror.c: New file.
42436         * m4/perror.m4: New file.
42437         * modules/perror: New file.
42438         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
42439         * doc/posix-functions/perror.texi: Mention the perror module.
42440         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
42441         REPLACE_PERROR.
42442         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
42443         REPLACE_PERROR.
42444
42445 2008-09-14  Bruno Haible  <bruno@clisp.org>
42446
42447         * modules/stdio (Makefile.am): Reorder to match the order in
42448         lib/stdio.in.h.
42449         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42450
42451 2008-09-13  Bruno Haible  <bruno@clisp.org>
42452
42453         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
42454
42455 2008-09-13  Bruno Haible  <bruno@clisp.org>
42456
42457         Extend strerror to cover the added errno values.
42458         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
42459         (rpl_strerror): Provide error messages for the added errno values and
42460         for the WSA* values.
42461         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
42462         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
42463         strerror.
42464         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
42465         * modules/strerror (Depends-on): Add errno.
42466         * doc/posix-functions/strerror.texi: Document the change.
42467         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
42468         and EOVERFLOW.
42469
42470 2008-09-13  Bruno Haible  <bruno@clisp.org>
42471
42472         * modules/EOVERFLOW: Remove file.
42473         * m4/eoverflow.m4: Remove file.
42474         * modules/EOVERFLOW-tests: Remove file.
42475         * tests/test-EOVERFLOW.c: Remove file.
42476         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
42477         * modules/ftell (Depends-on): Likewise.
42478         * modules/getdelim (Depends-on): Likewise.
42479         * modules/getugroups (Depends-on): Likewise.
42480         * modules/poll (Depends-on): Likewise.
42481         * modules/snprintf (Depends-on): Likewise.
42482         * modules/sprintf-posix (Depends-on): Likewise.
42483         * modules/vasnprintf (Depends-on): Likewise.
42484         * modules/vasprintf (Depends-on): Likewise.
42485         * modules/vfprintf-posix (Depends-on): Likewise.
42486         * modules/vsnprintf (Depends-on): Likewise.
42487         * modules/vsprintf-posix (Depends-on): Likewise.
42488         * modules/xvasprintf (Depends-on): Likewise.
42489         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42490         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
42491         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
42492         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
42493         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42494         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
42495         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
42496         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
42497         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42498         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
42499         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
42500         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
42501         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42502         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
42503         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
42504         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
42505         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42506         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
42507         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
42508         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
42509         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42510         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
42511         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
42512         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
42513         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
42514         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42515         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
42516         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
42517         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
42518         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
42519         * MODULES.html.sh: Remove EOVERFLOW.
42520         * NEWS: Mention the change.
42521
42522 2008-09-13  Bruno Haible  <bruno@clisp.org>
42523
42524         * modules/errno-tests: New file.
42525         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
42526
42527         * lib/errno.in.h: New file.
42528         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
42529         * modules/errno: New file.
42530         * doc/posix-headers/errno.texi: Update documentation.
42531         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
42532
42533 2008-09-13  Bruno Haible  <bruno@clisp.org>
42534
42535         * tests/test-poll.c: Use #if for native Windows, rather than testing
42536         __MSVCRT__.
42537
42538 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42539             Bruno Haible  <bruno@clisp.org>
42540
42541         * lib/glob.c: Don't include <pwd.h> on native Windows.
42542         (WINDOWS32): New macro.
42543         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
42544
42545 2008-09-13  Bruno Haible  <bruno@clisp.org>
42546
42547         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
42548         (ETIMEDOUT): Remove macro.
42549         (glthread_cond_timedwait_multithreaded): New declaration.
42550         (glthread_cond_timedwait): Use it.
42551         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
42552         (glthread_cond_timedwait_multithreaded): New function.
42553
42554 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
42555
42556         * modules/poll-tests: Do not check for io.h.
42557         * tests/test-poll.c: Check for __MSVCRT__ instead.
42558
42559 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
42560
42561         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
42562         * modules/poll-tests: Add inet_pton, stdbool, sockets.
42563         * tests/test-poll.c: Use them.  Use _pipe on Windows.
42564
42565 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
42566
42567         * modules/poll-tests: New.
42568         * tests/test-poll.c: New.
42569
42570 2008-09-12  Eric Blake  <ebb9@byu.net>
42571
42572         frexp: test for NetBSD failure on -0.0
42573         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
42574         not all, bugs from NetBSD 3.0 have been fixed.
42575         * doc/posix-functions/frexp.texi (frexp): Document bug.
42576         Reported by Thomas Klausner.
42577
42578         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
42579         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
42580         literal -0.0.
42581         Reported by Jonathan C. Patschke <jp@centtech.com>.
42582
42583 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42584
42585         * lib/glthread/cond.h: Use dummy implementation also if
42586         USE_WIN32_THREADS.
42587
42588 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42589
42590         * modules/fnmatch-posix (License): Change to LGPLv2+.
42591         * modules/fnmatch-gnu (License): Likewise.
42592
42593 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
42594
42595         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
42596
42597 2008-09-11  Jim Meyering  <meyering@redhat.com>
42598
42599         * users.txt: Add gtk-vnc.
42600
42601 2008-09-08  Simon Josefsson  <simon@josefsson.org>
42602
42603         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
42604         rotate amounts.
42605
42606         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
42607         required for 16-bit and 8-bit rotates.
42608         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
42609         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
42610         UINT8_MAX instead of hard-coded constants.
42611         Suggested by Paul Eggert.
42612
42613 2008-09-07  Bruno Haible  <bruno@clisp.org>
42614
42615         * tests/test-striconveh.c (main): Check behaviour when converting from
42616         UTF-7.
42617
42618         Make striconveh work better with stateful encodings.
42619         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
42620         that iconv does not increment the inptr when returning -1/EINVAL.
42621
42622 2008-09-07  Bruno Haible  <bruno@clisp.org>
42623
42624         * build-aux/config.rpath: Update according to libtool-2.2.6.
42625         * build-aux/config.libpath: Likewise.
42626
42627 2008-09-06  Bruno Haible  <bruno@clisp.org>
42628
42629         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
42630         * lib/freadptr.c (freadptr): Likewise.
42631         * lib/freadseek.c (freadptrinc): Likewise.
42632         Reported by Simon Josefsson.
42633
42634 2008-09-06  Bruno Haible  <bruno@clisp.org>
42635
42636         * modules/freadptr (License): Change to LGPLv2+.
42637         * modules/freadseek (License): Likewise.
42638         Suggested by Eric Blake.
42639
42640         * modules/memchr2 (License): Change to LGPLv2+.
42641         Approved by Eric Blake.
42642
42643 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42644             Bruno Haible  <bruno@clisp.org>
42645
42646         Make gnulib-tool work with native 'sed' on AIX.
42647         * gnulib-tool (sed_noop): New variable.
42648         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
42649         func_add_or_update, func_create_testdir): Use it to initialize sed
42650         script variables.
42651         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42652
42653 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
42654             Bruno Haible  <bruno@clisp.org>
42655
42656         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
42657         also works after #include directives.
42658
42659 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
42660
42661         getdate.y: reject an out-of-range timezone value
42662         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
42663         the range [-24...+24].  When specified with only one or two digits,
42664         * tests/test-getdate.c: Tests for the fix.
42665         * doc/getdate.texi: Document this change.
42666
42667 2008-09-03  Bruno Haible  <bruno@clisp.org>
42668
42669         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
42670
42671 2008-09-02  Simon Josefsson  <simon@josefsson.org>
42672
42673         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
42674         <bruce.korb@gmail.com> with ideas from Ben Pfaff
42675         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
42676         Blake <ebb9@byu.net>.
42677
42678         * tests/test-bitrotate.c: Add more test vectors.
42679
42680 2008-09-02  Eric Blake  <ebb9@byu.net>
42681
42682         vasnprintf-posix: handle large precision via %.*d
42683         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
42684         when handling it ourselves.
42685         * tests/test-vasnprintf-posix.c (test_function): Add test.
42686         * tests/test-snprintf-posix.h (test_function): Likewise.
42687         * tests/test-sprintf-posix.h (test_function): Likewise.
42688         * tests/test-vasprintf-posix.c (test_function): Likewise.
42689         Reported by Alain Guibert.
42690
42691 2008-09-01  Eric Blake  <ebb9@byu.net>
42692
42693         c-stack: make configure-time check more robust
42694         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
42695         successful sigaction call.
42696         Reported by Tom G. Christensen.
42697
42698 2008-09-01  Bruno Haible  <bruno@clisp.org>
42699
42700         New module 'findprog-lgpl'.
42701         * modules/findprog-lgpl: New file.
42702         * lib/findprog-lgpl.c: New file.
42703         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
42704         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
42705         to decide whether to use strdup or xstrdup, concatenated_filename or
42706         xconcatenated_filename.
42707
42708 2008-09-01  Bruno Haible  <bruno@clisp.org>
42709
42710         Split module 'concat-filename' into 'concat-filename' (LGPL) and
42711         'xconcat-filename' (GPL).
42712         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
42713         (License): Change to LGPLv2+.
42714         * modules/xconcat-filename: New file.
42715         * lib/concat-filename.h (concatenated_filename): Change specification.
42716         (xconcatenated_filename): New declaration.
42717         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
42718         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
42719         memory situations.
42720         * lib/xconcat-filename.c: New file.
42721         * NEWS: Mention the change.
42722         * lib/findprog.c: Include concat-filename.h, not filename.h.
42723         (find_in_path): Use xconcatenated_filename instead of
42724         concatenated_filename.
42725         * lib/javacomp.c: Include concat-filename.h, not filename.h.
42726         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
42727         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
42728         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
42729         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
42730         instead of concatenated_filename.
42731         * lib/javaexec.c: Include concat-filename.h, not filename.h.
42732         (execute_java_class): Use xconcatenated_filename instead of
42733         concatenated_filename.
42734         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
42735         * modules/javacomp (Depends-on): Likewise.
42736         * modules/javaexec (Depends-on): Likewise.
42737
42738 2008-09-01  Bruno Haible  <bruno@clisp.org>
42739
42740         Split module 'filename' into 'filename' and 'concat-filename'.
42741         * modules/filename: Keep only lib/filename.h.
42742         (License): Change to LGPLv2+.
42743         * modules/concat-filename: New file, extracted from modules/filename.
42744         * lib/filename.h (concatenated_filename): Remove declaration.
42745         * lib/concat-filename.h: New file, extracted from lib/filename.h.
42746         * lib/concat-filename.c: Include concat-filename.h.
42747         * NEWS: Mention the change.
42748
42749 2008-09-01  Simon Josefsson  <simon@josefsson.org>
42750
42751         * lib/bitrotate.h (rotl8, rotr8): Add.
42752
42753         * modules/bitrotate (configure.ac): Need
42754         AC_REQUIRE([AC_C_INLINE]).
42755         (Description): Mention stdint.h.  Reported by Bruno Haible
42756         <bruno@clisp.org>.
42757
42758         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
42759         Paolo Bonzini <bonzini@gnu.org>.
42760
42761 2008-08-31  Bruno Haible  <bruno@clisp.org>
42762
42763         Assume Solaris specific bi-arch conventions on Solaris systems.
42764         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
42765         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
42766         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
42767         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
42768         like acl_libdirstem.
42769         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
42770         acl_libdirstem.
42771         * NEWS: Mention the change.
42772         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
42773
42774 2008-08-31  Jim Meyering  <meyering@redhat.com>
42775
42776         * lib/strftime.h: Add comments describing the two added arguments.
42777
42778         remove duplicate #include directives
42779         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
42780         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
42781
42782 2008-08-31  Bruno Haible  <bruno@clisp.org>
42783
42784         New module 'sigpipe-die'.
42785         * modules/sigpipe-die: New file.
42786         * lib/sigpipe-die.h: New file.
42787         * lib/sigpipe-die.c: New file.
42788         * MODULES.html.sh (Signal handling): Add sigpipe-die.
42789
42790 2008-08-31  Bruno Haible  <bruno@clisp.org>
42791
42792         Don't override previously installed signal handlers.
42793         * lib/fatal-signal.c (saved_sigactions): New variable.
42794         (uninstall_handlers): Reset the signal to the saved handler, not
42795         to SIG_DFL (except when ignored).
42796         (install_handlers): Save the previous handlers.
42797
42798 2008-08-30  Bruno Haible  <bruno@clisp.org>
42799
42800         * gnulib-tool (func_reset_sigpipe): New function.
42801         (func_get_automake_snippet, func_modules_transitive_closure,
42802         func_import): Invoke it before a join command that reads from stdin,
42803         to avoid "echo: write error: Broken pipe" error messages on stderr.
42804         Reported by Sam Steingold <sds@gnu.org>.
42805
42806 2008-08-30  Bruno Haible  <bruno@clisp.org>
42807
42808         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
42809         Code copied from m4/open.m4.
42810         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
42811         access and the filename ends in a slash. Code copied from lib/open.c.
42812         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
42813         * tests/test-fopen.c (main): Check against bug with trailing slash.
42814
42815 2008-08-29  Bruno Haible  <bruno@clisp.org>
42816
42817         Avoid some "gcc -pedantic" warnings.
42818         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
42819         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
42820         * lib/dirent.in.h: Likewise.
42821         * lib/fcntl.in.h: Likewise.
42822         * lib/float.in.h: Likewise.
42823         * lib/iconv.in.h: Likewise.
42824         * lib/inttypes.in.h: Likewise.
42825         * lib/locale.in.h: Likewise.
42826         * lib/math.in.h: Likewise.
42827         * lib/netinet_in.in.h: Likewise.
42828         * lib/search.in.h: Likewise.
42829         * lib/signal.in.h: Likewise.
42830         * lib/stdarg.in.h: Likewise.
42831         * lib/stdint.in.h: Likewise.
42832         * lib/stdio.in.h: Likewise.
42833         * lib/stdlib.in.h: Likewise.
42834         * lib/string.in.h: Likewise.
42835         * lib/strings.in.h: Likewise.
42836         * lib/sys_select.in.h: Likewise.
42837         * lib/sys_socket.in.h: Likewise.
42838         * lib/sys_stat.in.h: Likewise.
42839         * lib/sys_time.in.h: Likewise.
42840         * lib/sysexits.in.h: Likewise.
42841         * lib/time.in.h: Likewise.
42842         * lib/unistd.in.h: Likewise.
42843         * lib/wchar.in.h: Likewise.
42844         * lib/wctype.in.h: Likewise.
42845         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
42846         * modules/fchdir (Makefile.am): Likewise.
42847         * modules/fcntl (Makefile.am): Likewise.
42848         * modules/float (Makefile.am): Likewise.
42849         * modules/iconv_open (Makefile.am): Likewise.
42850         * modules/inttypes (Makefile.am): Likewise.
42851         * modules/locale (Makefile.am): Likewise.
42852         * modules/math (Makefile.am): Likewise.
42853         * modules/netinet_in (Makefile.am): Likewise.
42854         * modules/search (Makefile.am): Likewise.
42855         * modules/signal (Makefile.am): Likewise.
42856         * modules/stdarg (Makefile.am): Likewise.
42857         * modules/stdint (Makefile.am): Likewise.
42858         * modules/stdio (Makefile.am): Likewise.
42859         * modules/stdlib (Makefile.am): Likewise.
42860         * modules/string (Makefile.am): Likewise.
42861         * modules/strings (Makefile.am): Likewise.
42862         * modules/sys_select (Makefile.am): Likewise.
42863         * modules/sys_socket (Makefile.am): Likewise.
42864         * modules/sys_stat (Makefile.am): Likewise.
42865         * modules/sys_time (Makefile.am): Likewise.
42866         * modules/sysexits (Makefile.am): Likewise.
42867         * modules/time (Makefile.am): Likewise.
42868         * modules/unistd (Makefile.am): Likewise.
42869         * modules/wchar (Makefile.am): Likewise.
42870         * modules/wctype (Makefile.am): Likewise.
42871         Reported by Reuben Thomas <rrt@sc3d.org>.
42872
42873 2008-08-29  Bruno Haible  <bruno@clisp.org>
42874
42875         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
42876         any more.
42877
42878 2008-08-29  Simon Josefsson  <simon@josefsson.org>
42879
42880         * MODULES.html.sh (Misc): Add bitrotate.
42881
42882         * modules/bitrotate: New file.
42883
42884         * lib/bitrotate.h: New file.
42885
42886         * modules/bitrotate-tests: New file.
42887
42888         * tests/test-bitrotate.c: New file.
42889
42890         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
42891         on the bitrotate module.
42892
42893         * lib/arctwo.c: Use new bitrotate module.
42894
42895 2008-08-29  Jim Meyering  <meyering@redhat.com>
42896
42897         bootstrap: merge changes from coreutils
42898         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
42899         of copied files.  Remove a kludge, now that this is fixed.
42900         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
42901         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
42902         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
42903
42904 2008-08-29  Bruno Haible  <bruno@clisp.org>
42905
42906         * MODULES.html.sh: Remove --cvs-urls option.
42907
42908 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
42909
42910         maint.mk: adjust to file name change
42911         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
42912
42913 2008-08-28  Jim Meyering  <meyering@redhat.com>
42914
42915         * modules/getndelim2 (License): Relicense to LGPLv2+.
42916         Approved by Richard Stallman for the version of 1995, and by
42917         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
42918
42919 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
42920
42921         * lib/getdelim.c (flockfile, funlockfile): Make all of them
42922         dummy if one is not available.  Do not touch them if
42923         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
42924         (getc_maybe_unlocked): New.
42925         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
42926
42927 2008-08-26  Eric Blake  <ebb9@byu.net>
42928
42929         doc/INSTALL: resync from autoconf
42930         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
42931         (INSTALL_PRELUDE): Delete; this is done more efficiently by
42932         moving...
42933         * install.texi [!autoconf]: ...here.  Resync from autoconf.
42934         * INSTALL: Regenerate.
42935         * INSTALL.ISO: New file.
42936         * INSTALL.UTF-8: Likewise.
42937
42938 2008-08-26  Jim Meyering  <meyering@redhat.com>
42939
42940         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
42941         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
42942         these definitions conditional, so that they may be overridden, too.
42943
42944 2008-08-26  Bruno Haible  <bruno@clisp.org>
42945
42946         Generate INSTALL file variants with prettier quotes.
42947         * doc/Makefile (INSTALL_PRELUDE): New macro.
42948         (INSTALL): Use it.
42949         (INSTALL.ISO, INSTALL.UTF-8): New rules.
42950
42951 2008-08-26  Bruno Haible  <bruno@clisp.org>
42952
42953         Run makeinfo in an English locale.
42954         * doc/Makefile (MAKEINFO): New variable.
42955
42956 2008-08-26  Bruno Haible  <bruno@clisp.org>
42957
42958         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
42959         Suggested by Eric Blake.
42960
42961 2008-08-25  Bruno Haible  <bruno@clisp.org>
42962
42963         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
42964
42965 2008-08-25  Eric Blake  <ebb9@byu.net>
42966
42967         c-stack: test that stack overflow can be caught
42968         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
42969         that platform allows handling stack overflow; at least OS/2 EMX
42970         has sigaltstack, but crashes before transferring control to
42971         handler on stack overflow.
42972         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
42973         check for HAVE_STACK_OVERFLOW_HANDLING.
42974         Reported by Elbert Pol.
42975
42976 2008-08-25  Bruno Haible  <bruno@clisp.org>
42977
42978         * doc/posix-functions/strftime.texi: Fix description of strftime
42979         module.
42980
42981 2008-08-24  Bruno Haible  <bruno@clisp.org>
42982
42983         * tests/uniwidth/test-uc_width2.c: New file.
42984         * tests/uniwidth/test-uc_width2.sh: New file.
42985         * modules/uniwidth/width-tests (Files): Add the new files.
42986         (TESTS): Add uniwidth/test-uc_width2.sh.
42987         (TESTS_ENVIRONMENT): New variable.
42988         (check_PROGRAMS): Add test-uc_width2.
42989         (test_uc_width2_SOURCES): New variable.
42990
42991         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
42992         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
42993         not 0x00AB.
42994         Reported by Alexander V. Lukyanov <lav@netis.ru>.
42995
42996 2008-08-22  Eric Blake  <ebb9@byu.net>
42997
42998         test-lock, test-tls: mention why a test is skipped
42999         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
43000         skipped.
43001         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
43002
43003         count-one-bits: relax license
43004         * modules/count-one-bits (License): Relicense to LGPLv2+.
43005         Suggested by Ludovic Courtès, approved by Ben Pfaff.
43006
43007 2008-08-22  Andreas Schwab  <schwab@suse.de>
43008
43009         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
43010         Remove spurious space in assignment.
43011
43012 2008-08-21  Simon Josefsson  <simon@josefsson.org>
43013
43014         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
43015         Paul Eggert <eggert@CS.UCLA.EDU>.
43016
43017 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
43018
43019         * modules/gettext: Add m4/threadlib.m4.
43020
43021 2008-08-19  Eric Blake  <ebb9@byu.net>
43022
43023         test-c-stack: fix compilation failure on FreeBSD 5.0
43024         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
43025         headers before <sys/resource.h>.
43026         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
43027         the bug.
43028         Reported by Nelson H. F. Beebe.
43029
43030         strverscmp: migrate from "strverscmp.h" to <string.h>
43031         * modules/string (Makefile.am): Add new hooks.
43032         * modules/strverscmp (Files): Remove strverscmp.h.
43033         (Depends-on): Add string.
43034         (configure.ac): Add indicator.
43035         (Include): Mention new header.
43036         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
43037         defaults.
43038         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
43039         results.
43040         * lib/strverscmp.h: Delete.
43041         * lib/string.in.h (strverscmp): Provide declaration, when needed.
43042         * tests/test-strverscmp.c (includes): Adjust client.
43043         * lib/check-version.c (includes): Likewise.
43044         * NEWS: Document the change.
43045
43046         strverscmp: add unit test
43047         * modules/strverscmp-tests: New file.
43048         * tests/test-strverscmp.c: Likewise.
43049
43050 2008-08-19  Simon Josefsson  <simon@josefsson.org>
43051
43052         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
43053         regarding Windows crypto stuff, from Mono.
43054
43055 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
43056
43057         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
43058         if present, for intel RND.  Return error on failures.
43059
43060 2008-08-18  Ben Pfaff  <blp@gnu.org>
43061
43062         gitlog-to-changelog: give better diagnostic for failed pipe-open
43063         * build-aux/gitlog-to-changelog: Improve error message: suggest
43064         that the version of Git may be too old.
43065
43066 2008-08-18  Simon Josefsson  <simon@josefsson.org>
43067
43068         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
43069         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
43070
43071 2008-08-18  Bruno Haible  <bruno@clisp.org>
43072
43073         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
43074         pthread_in_use().
43075
43076 2008-08-18  Bruno Haible  <bruno@clisp.org>
43077
43078         * lib/glthread/threadlib.c: Include <pthread.h>.
43079
43080 2008-08-18  Bruno Haible  <bruno@clisp.org>
43081
43082         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
43083         glthread_recursive_lock_* macros.
43084         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
43085         Fix syntax error.
43086
43087 2008-08-18  Bruno Haible  <bruno@clisp.org>
43088
43089         * lib/glthread/thread.c: Avoid forcing a context switch right after
43090         thread creation.
43091
43092 2008-08-17  Bruno Haible  <bruno@clisp.org>
43093
43094         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
43095         * lib/glthread/thread.h: Provide Win32 specific implementation.
43096         * modules/thread (Files): Add lib/glthread/thread.c.
43097         (Depends-on): Add lock.
43098         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
43099
43100 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43101
43102         New module 'yield'.
43103         * modules/yield: New file.
43104         * lib/glthread/yield.h: New file.
43105         * m4/yield.m4: New file.
43106         * MODULES.html.sh (Multithreading): Add yield.
43107
43108 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43109
43110         New module 'thread'.
43111         * modules/thread: New file.
43112         * lib/glthread/thread.h: New file.
43113         * m4/thread.m4: New file.
43114         * MODULES.html.sh (Multithreading): Add thread.
43115
43116 2008-08-17  Bruno Haible  <bruno@clisp.org>
43117
43118         * lib/glthread/lock.h: Include <stdlib.h> always.
43119         * lib/glthread/tls.h: Likewise.
43120         * lib/glthread/cond.h: Likewise.
43121
43122 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43123
43124         New module 'cond'.
43125         * modules/cond: New file.
43126         * lib/glthread/cond.h: New file.
43127         * lib/glthread/cond.c: New file.
43128         * m4/cond.m4: New file.
43129         * MODULES.html.sh (Multithreading): Add cond.
43130
43131 2008-08-16  Eric Blake  <ebb9@byu.net>
43132
43133         c-stack: fix regression on Irix 5.3 from 2008-06-21
43134         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
43135         sa_sigaction...
43136         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
43137         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
43138         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
43139         * modules/signal (Makefile.am): Use the value.
43140         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
43141         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
43142         * doc/posix-headers/signal.texi (signal.h): Document this
43143         portability issue.
43144         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
43145         Reported by Tom G. Christensen.
43146
43147 2008-08-17  Bruno Haible  <bruno@clisp.org>
43148
43149         New module 'threadlib'.
43150         * modules/threadlib: New file.
43151         * lib/glthread/threadlib.c: New file, extracted from
43152         lib/glthread/lock.c.
43153         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
43154         functions.
43155         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
43156         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
43157         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
43158         macros.
43159         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
43160         (gl_DISABLE_THREADS): Remove macro.
43161         * modules/lock (Files): Remove build-aux/config.rpath.
43162         (Depends-on): Remove havelib. Add threadlib.
43163         (configure.ac-early): Remove section.
43164         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
43165         * modules/tls (Depends-on): Remove lock. Add threadlib.
43166         (Link): New section, copied from threadlib.
43167         * MODULES.html.sh (Multithreading): Add threadlib.
43168
43169 2008-08-14  Bruno Haible  <bruno@clisp.org>
43170
43171         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
43172         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
43173         glthread_rwlock_unlock, glthread_rwlock_destroy,
43174         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
43175         glthread_recursive_lock_destroy): Define as macros always.
43176         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
43177         glthread_lock_lock.
43178         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
43179         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
43180         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
43181         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
43182         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
43183         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
43184         (glthread_recursive_lock_lock_func): Renamed from
43185         glthread_recursive_lock_lock.
43186         (glthread_recursive_lock_unlock_func): Renamed from
43187         glthread_recursive_lock_unlock.
43188         (glthread_recursive_lock_destroy_func): Renamed from
43189         glthread_recursive_lock_destroy.
43190
43191 2008-08-14  Bruno Haible  <bruno@clisp.org>
43192
43193         * lib/glthread/lock.h: Renamed from lib/lock.h.
43194         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
43195         * lib/glthread/tls.h: Renamed from lib/tls.h.
43196         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
43197         * lib/fstrcmp.c: Update includes.
43198         * lib/strsignal.c: Update includes.
43199         * modules/lock (Files, Makefile.am): Update.
43200         (Include): Change to "glthread/lock.h".
43201         * modules/tls (Files, Makefile.am): Update.
43202         (Include): Change to "glthread/tls.h".
43203         * tests/test-lock.c: Update includes.
43204         * tests/test-tls.c: Update includes.
43205         * NEWS: Mention the renamed header files.
43206
43207 2008-08-11  Jim Meyering  <meyering@redhat.com>
43208
43209         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
43210
43211 2008-08-11  Eric Blake  <ebb9@byu.net>
43212
43213         test-c-stack: avoid C99-ism
43214         * tests/test-c-stack.c (main): Fix whitespace, move declaration
43215         before statement.
43216         Reported by Alain Guibert.
43217
43218 2008-08-10  Jim Meyering  <meyering@redhat.com>
43219
43220         ensure that return value of uinttostr et al are not ignored
43221         * lib/inttostr.h (__GNUC_PREREQ): Define.
43222         (__attribute_warn_unused_result__): Define.
43223         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
43224
43225 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
43226
43227         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
43228         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
43229
43230 2008-08-07  Jim Meyering  <meyering@redhat.com>
43231
43232         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
43233
43234         * modules/mkstemp (License): Relicense under LGPLv2+.
43235         * modules/tempname (License): Likewise.
43236
43237 2008-08-06  Bruno Haible  <bruno@clisp.org>
43238
43239         * lib/poll.c (poll): Further micro-optimization.
43240
43241 2008-08-06  Jim Meyering  <meyering@redhat.com>
43242
43243         inet_pton.c: use locale-independent tolower
43244         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
43245         (inet_pton6): Use c_tolower rather than tolower.
43246         * modules/inet_pton (Depends-on): Add c-ctype.
43247
43248 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
43249
43250         * lib/poll.c (poll): Avoid division when timeout is 0, cache
43251         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
43252
43253 2008-08-06  Jim Meyering  <meyering@redhat.com>
43254
43255         * modules/inet_pton (License): Relicense under LGPLv2+.
43256
43257 2008-08-03  Bruno Haible  <bruno@clisp.org>
43258
43259         Additional non-aborting API for lock and tls.
43260         * lib/lock.h: Include <errno.h>.
43261         (glthread_lock_init): New macro/function.
43262         (gl_lock_init): Define as wrapper around glthread_lock_init.
43263         (glthread_lock_lock): New macro/function.
43264         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
43265         (glthread_lock_unlock): New macro/function.
43266         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
43267         (glthread_lock_destroy): New macro/function.
43268         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
43269         (glthread_rwlock_init): New macro/function.
43270         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
43271         (glthread_rwlock_rdlock): New macro/function.
43272         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
43273         (glthread_rwlock_wrlock): New macro/function.
43274         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
43275         (glthread_rwlock_unlock): New macro/function.
43276         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
43277         (glthread_rwlock_destroy): New macro/function.
43278         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
43279         (glthread_recursive_lock_init): New macro/function.
43280         (gl_recursive_lock_init): Define as wrapper around
43281         glthread_recursive_lock_init.
43282         (glthread_recursive_lock_lock): New macro/function.
43283         (gl_recursive_lock_lock): Define as wrapper around
43284         glthread_recursive_lock_lock.
43285         (glthread_recursive_lock_unlock): New macro/function.
43286         (gl_recursive_lock_unlock): Define as wrapper around
43287         glthread_recursive_lock_unlock.
43288         (glthread_recursive_lock_destroy): New macro/function.
43289         (gl_recursive_lock_destroy): Define as wrapper around
43290         glthread_recursive_lock_destroy.
43291         (glthread_once): New macro/function.
43292         (gl_once): Define as wrapper around glthread_once.
43293         Update function declarations.
43294         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
43295         glthread_rwlock_init. Return error code.
43296         (glthread_rwlock_rdlock_multithreaded): Renamed from
43297         glthread_rwlock_rdlock. Return error code.
43298         (glthread_rwlock_wrlock_multithreaded): Renamed from
43299         glthread_rwlock_wrlock. Return error code.
43300         (glthread_rwlock_unlock_multithreaded): Renamed from
43301         glthread_rwlock_unlock. Return error code.
43302         (glthread_rwlock_destroy_multithreaded): Renamed from
43303         glthread_rwlock_destroy. Return error code.
43304         (glthread_recursive_lock_init_multithreaded): Renamed from
43305         glthread_recursive_lock_init. Return error code.
43306         (glthread_recursive_lock_lock_multithreaded): Renamed from
43307         glthread_recursive_lock_lock. Return error code.
43308         (glthread_recursive_lock_unlock_multithreaded): Renamed from
43309         glthread_recursive_lock_unlock. Return error code.
43310         (glthread_recursive_lock_destroy_multithreaded): Renamed from
43311         glthread_recursive_lock_destroy. Return error code.
43312         (glthread_once_call): Make static.
43313         (glthread_once_multithreaded): Renamed from glthread_once.
43314         * lib/tls.h: Include <errno.h>.
43315         (glthread_tls_key_init): New macro/function.
43316         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
43317         (glthread_tls_set): New macro/function.
43318         (gl_tls_set): Define as wrapper around glthread_tls_set.
43319         (glthread_tls_key_destroy): New macro/function.
43320         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
43321         Update function declarations.
43322         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
43323         glthread_tls_get.
43324         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
43325
43326 2008-08-04  Eric Blake  <ebb9@byu.net>
43327
43328         gnumakefile: use space, not TAB, outside of targets
43329         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
43330
43331 2008-08-02  Jim Meyering  <meyering@redhat.com>
43332
43333         getdate.y: avoid locale-dependent date parsing failure
43334         In Turkish locales, getdate would fail to recognize keywords
43335         containing a lowercase "i".  The solution is not to rely on
43336         locale-sensitive case-conversion.
43337         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
43338         (lookup_word): Use c_toupper in place of toupper.
43339         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
43340         Reported by Vefa Bicakci <bicave@superonline.com> in
43341         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
43342         * modules/getdate (Depends-on): Add c-ctype.
43343
43344 2008-08-02  Bruno Haible  <bruno@clisp.org>
43345
43346         * gnulib-tool (func_import): When updating or creating a .gitignore
43347         file, prepend each added line with a slash, and ignore leading slashes
43348         from the existing lines.
43349         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
43350
43351 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43352
43353         Portability fix for GNU make 3.79.1.
43354         * top/GNUmakefile: Avoid 'else COND', which older GNU make
43355         versions do not understand.
43356
43357 2008-08-01  Bruno Haible  <bruno@clisp.org>
43358
43359         Work around bug of HP-UX 10.20 cc with -0.0 literal.
43360         * tests/test-isnanf.h (zero): New variable.
43361         (main): Avoid literal -0.0f.
43362         * tests/test-isnand.h (zero): New variable.
43363         (main): Avoid literal -0.0.
43364         * tests/test-isnanl.h (zero): New variable.
43365         (main): Avoid literal -0.0L.
43366         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
43367         (test_float, test_double, test_long_double): Avoid literals -0.0f,
43368         -0.0, -0.0L.
43369         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
43370         (test_signbitd): Avoid literal -0.0.
43371         (test_signbitl): Avoid literal -0.0L.
43372         * tests/test-ceilf1.c (zero): New variable.
43373         (main): Avoid literal -0.0f.
43374         * tests/test-ceill.c (zero): New variable.
43375         (main): Avoid literal -0.0L.
43376         * tests/test-floorf1.c (zero): New variable.
43377         (main): Avoid literal -0.0f.
43378         * tests/test-floorl.c (zero): New variable.
43379         (main): Avoid literal -0.0L.
43380         * tests/test-roundf1.c (zero): New variable.
43381         (main): Avoid literal -0.0f.
43382         * tests/test-round1.c (zero): New variable.
43383         (main): Avoid literal -0.0.
43384         * tests/test-roundl.c (zero): New variable.
43385         (main): Avoid literal -0.0L.
43386         * tests/test-truncf1.c (zero): New variable.
43387         (main): Avoid literal -0.0f.
43388         * tests/test-trunc1.c (zero): New variable.
43389         (main): Avoid literal -0.0.
43390         * tests/test-truncl.c (zero): New variable.
43391         (main): Avoid literal -0.0L.
43392         * tests/test-frexp.c (zero): New variable.
43393         (main): Avoid literal -0.0.
43394         * tests/test-frexpl.c (zero): New variable.
43395         (main): Avoid literal -0.0L.
43396         * tests/test-ldexpl.c (zero): New variable.
43397         (main): Avoid literal -0.0L.
43398         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
43399         (zerod, zerol): New variables.
43400         (test_function): Avoid literals -0.0, -0.0L.
43401         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
43402         (zerod, zerol): New variables.
43403         (test_function): Avoid literals -0.0, -0.0L.
43404         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
43405         (zerod, zerol): New variables.
43406         (test_function): Avoid literals -0.0, -0.0L.
43407         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
43408         (zerod, zerol): New variables.
43409         (test_function): Avoid literals -0.0, -0.0L.
43410         * tests/test-strtod.c (zero): New variable.
43411         (main): Avoid literal -0.0.
43412         Reported by Jonathan C. Patschke <jp@centtech.com>.
43413
43414 2008-07-31  Jim Meyering  <meyering@redhat.com>
43415
43416         sha256.h: correct definition of SHA224_DIGEST_SIZE
43417         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
43418         Reported by Paulie Pena IV <paulie4@gmail.com>.
43419         Define as 224 / 8, rather than as a literal.
43420         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
43421         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
43422         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
43423
43424 2008-07-31  Bruno Haible  <bruno@clisp.org>
43425
43426         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
43427         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
43428         Reported by Jonathan Patschke <jp@centtech.com>.
43429
43430 2008-07-31  Bruno Haible  <bruno@clisp.org>
43431
43432         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
43433         Reported by Paolo Bonzini <bonzini@gnu.org>.
43434
43435 2008-07-30  Eric Blake  <ebb9@byu.net>
43436
43437         test-strtod: allow compilation without -lm
43438         * tests/test-strtod.c (main): Avoid link dependence on fabs.
43439         Reported by Dennis Clarke <blastwave@gmail.com>.
43440
43441 2008-07-28  Jim Meyering  <meyering@redhat.com>
43442
43443         bootstrap: work also when there are no .po files in po/
43444         * build-aux/bootstrap (update_po_files): Complete the change
43445         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
43446
43447 2008-07-27  Jim Meyering  <meyering@redhat.com>
43448
43449         * users.txt: Add zile.
43450
43451 2008-07-26  Ben Pfaff  <blp@gnu.org>
43452
43453         Add missing dependencies on new m4/exponent[fdl].m4 files.
43454         * modules/isnanf-nolibm: Add m4/exponentf.m4.
43455         * modules/isnand-nolibm: Add m4/exponentd.m4.
43456         * modules/isnanl-nolibm: Add m4/exponentl.m4.
43457         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
43458         m4/isnan[fdl].m4, because the macros actually used moved.
43459         Reported by Jim Meyering.
43460
43461 2008-07-14  Ben Pfaff  <blp@gnu.org>
43462
43463         Add isinf module.
43464         * lib/isinf.c: New file.
43465         * lib/math.in.h: Define isinf macro if we have decided to replace
43466         it.
43467         * m4/isinf.m4: New file.
43468         * m4/math_h.m4: Initialize and substitute variables for isinf
43469         module.
43470         * modules/isinf: New file.
43471         * modules/isinf-tests: New file.
43472         * modules/math: Add substitutions for new module.
43473         * tests/test-isinf.c: New file.
43474         * doc/posix-functions/isinf.texi: Mention new module.
43475         * MODULES.html.sh: Mention new module.
43476
43477 2008-07-14  Ben Pfaff  <blp@gnu.org>
43478
43479         Factor out some macros for use by additional modules.
43480         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
43481         exponentf.m4.
43482         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
43483         exponentd.m4.
43484         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
43485         file exponentl.m4.
43486         * m4/exponentf.m4: New file.
43487         * m4/exponentd.m4: New file.
43488         * m4/exponentl.m4: New file.
43489         * modules/isnanf: Use new file m4/exponentf.m4.
43490         * modules/isnand: Use new file m4/exponentd.m4.
43491         * modules/isnanl: Use new file m4/exponentl.m4.
43492
43493 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
43494
43495         mktime.c: normalize tp->tm_isdst value to -1/0/1.
43496         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
43497         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
43498         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
43499
43500         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
43501         readlink on platforms without PATH_MAX.
43502
43503 2008-07-21  Eric Blake  <ebb9@byu.net>
43504
43505         Warn, not fail, on stale version.
43506         * top/GNUmakefile (_curr-ver): Tone down previous patch.
43507
43508         Don't allow installation with stale devel version number.
43509         * top/GNUmakefile (_is-install-target): New macro.
43510         (_curr-ver): Forbid installation with stale version number.
43511
43512 2008-07-20  Bruno Haible  <bruno@clisp.org>
43513
43514         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
43515         TESTS_ENVIRONMENT.
43516         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
43517
43518 2008-07-20  Bruno Haible  <bruno@clisp.org>
43519
43520         * lib/c-stack.h (c_stack_action): Add documentation.
43521         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
43522
43523 2008-07-20  Bruno Haible  <bruno@clisp.org>
43524
43525         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
43526         * modules/readlink (License): Likewise.
43527
43528 2008-07-17  Eric Blake  <ebb9@byu.net>
43529
43530         * modules/c-stack (Link): Fix typo.
43531
43532         Make c-stack use libsigsegv, when available.
43533         * modules/c-stack (Depends-on): Add libsigsegv.
43534         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
43535         needed.
43536         * lib/c-stack.c (SIGSTKSZ): Define fallback.
43537         (segv_handler, overflow_handler, c_stack_action)
43538         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
43539         implementation when libsigsegv is available, but only when using
43540         the library is necessary.
43541         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
43542         comment, explaining why XSI check fails on Linux.
43543         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
43544         * tests/test-c-stack2.sh: Tweak skip message.
43545         * NEWS: Document new link-time requirements.
43546
43547 2008-07-16  Eric Blake  <ebb9@byu.net>
43548
43549         c-stack: Expose false positives when not using libsigsegv.
43550         * modules/c-stack-tests (Files): Expand test.
43551         * tests/test-c-stack.c (main): Add means to conditionally trigger
43552         non-overflow SIGSEGV.
43553         * tests/test-c-stack2.sh: New file.
43554
43555 2008-07-14  Bruno Haible  <bruno@clisp.org>
43556
43557         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
43558         Reported by Eric Blake.
43559
43560 2008-07-14  Sam Steingold  <sds@gnu.org>
43561             Bruno Haible  <bruno@clisp.org>
43562
43563         New module libsigsegv.
43564         * modules/libsigsegv: New file.
43565         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
43566         modifications.
43567         * MODULES.html.sh (Signal handling): New section.
43568
43569 2008-07-14  Bruno Haible  <bruno@clisp.org>
43570
43571         * modules/unictype/ctype-* (Description): Add the word "function".
43572         Improves the resulting doc in MODULES.html.
43573
43574 2008-07-12  Ben Pfaff  <blp@gnu.org>
43575
43576         Add longlong module.
43577         * modules/longlong: New file.
43578
43579 2008-07-12  Bruno Haible  <bruno@clisp.org>
43580
43581         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
43582         to empty.
43583
43584 2008-07-10  Ben Pfaff  <blp@gnu.org>
43585
43586         Add isnan module.
43587         * doc/posix-functions/isnan.texi: Mention new module.
43588         * lib/math.in.h: Define isnan macro if we have decided to replace
43589         it.
43590         * m4/isnan.m4: New file.
43591         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
43592         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
43593         also.
43594         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
43595         redundancy.
43596         * m4/math_h.m4: Initialize and substitute variables for isnan
43597         module.
43598         * modules/isnan: New file.
43599         * modules/isnan-tests: New file.
43600         * modules/math: Add substitutions for new module.
43601         * tests/test-isnan.c: New file.
43602         * MODULES.html.sh: Mention new module.
43603
43604 2008-07-10  Ben Pfaff  <blp@gnu.org>
43605
43606         Add isnanf module.
43607         * lib/isnanf.m4: New file.
43608         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
43609         (gl_HAVE_ISNANF_IN_LIBM): New macro.
43610         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
43611         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
43612         * modules/isnanf: New file.
43613         * modules/isnanf-tests: New file.
43614         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
43615         files.
43616         * tests/test-isnanf-nolibm.c: factored most of its contents into
43617         new file tests/test-isnanf.h.
43618         * tests/test-isnanf.h: New file.
43619         * tests/test-isnanf.c: New file.
43620         * MODULES.html.sh: Mention new module.
43621         * doc/glibc-functions/isnanf.texi: Mention new module.
43622
43623 2008-07-10  Ben Pfaff  <blp@gnu.org>
43624
43625         Add isnand module.
43626         * lib/isnand.h: New file.
43627         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
43628         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
43629         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
43630         functionality also.
43631         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
43632         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
43633         (gl_HAVE_ISNAND_IN_LIBM): New macro.
43634         * modules/isnand: New file.
43635         * modules/isnand-tests: New file.
43636         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
43637         files.
43638         * tests/test-isnand-nolibm.c: factored most of its contents into
43639         new file tests/test-isnand.h.
43640         * tests/test-isnand.h: New file.
43641         * tests/test-isnand.c: New file.
43642         * MODULES.html.sh: Mention new module.
43643
43644 2008-07-10  Ben Pfaff  <blp@gnu.org>
43645
43646         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
43647         * lib/isnand.h: Rename lib/isnand-nolibm.h.
43648         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
43649         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
43650         * modules/isnanf-nolibm: Update references to renamed files.
43651         * modules/isnand-nolibm: Likewise.
43652         * modules/isnanf-nolibm-tests: Likewise.
43653         * modules/isnand-nolibm-tests: Likewise.
43654         * lib/frexp.c: Likewise.
43655         * lib/isfinite.c: Likewise.
43656         * lib/signbitd.c: Likewise.
43657         * lib/signbitf.c: Likewise.
43658         * lib/vasnprintf.c: Likewise.
43659         * tests/test-ceilf1.c: Likewise.
43660         * tests/test-ceilf2.c: Likewise.
43661         * tests/test-floorf1.c: Likewise.
43662         * tests/test-floorf2.c: Likewise.
43663         * tests/test-frexp.c: Likewise.
43664         * tests/test-round1.c: Likewise.
43665         * tests/test-round2.c: Likewise.
43666         * tests/test-roundf1.c: Likewise.
43667         * tests/test-strtod.c: Likewise.
43668         * tests/test-trunc1.c: Likewise.
43669         * tests/test-trunc2.c: Likewise.
43670         * tests/test-truncf1.c: Likewise.
43671         * tests/test-truncf2.c: Likewise.
43672         * NEWS: Mention the renamed header files.
43673
43674 2008-07-11  Jim Meyering  <meyering@redhat.com>
43675
43676         vc-list-files: make the last-resort awk code more portable
43677         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
43678         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
43679         does not support it.
43680
43681 2008-07-10  Eric Blake  <ebb9@byu.net>
43682
43683         Work with tar's bootstrap.
43684         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
43685         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
43686         an m4 comment.
43687
43688 2008-07-09  Jim Meyering  <meyering@redhat.com>
43689
43690         posix-shell.m4: fix typo that made this test malfunction
43691         * m4/posix-shell.m4: Remove capitalization in variable name.
43692
43693 2008-07-08  Bruno Haible  <bruno@clisp.org>
43694
43695         * m4/onceonly.m4: Update comments.
43696         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43697
43698 2008-07-04  Jim Meyering  <meyering@redhat.com>
43699
43700         * users.txt: Add vc-dwim.
43701         (bison, coreutils): Use the gitweb URL.
43702
43703 2008-07-03  Jim Meyering  <meyering@redhat.com>
43704
43705         * users.txt: Add libffcall.  From Sam Steingold.
43706
43707 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
43708
43709         getdate.y: do not ignore TZ with relative day, month or year offset
43710         * lib/getdate.y (get_date): Move the tz-handling block to follow the
43711         relative-date-handling, since otherwise, the latter would clobber the
43712         sole output (an updated Start value) of the tz-handling block.
43713         * tests/test-getdate.c: Tests for the fix
43714
43715 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43716
43717         Recognize 'foo_LIBRARIES += libgnu.a'.
43718         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
43719         makefile snippet has already specified an installation location,
43720         also using '+='.
43721
43722 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
43723
43724         getdate.y: factor out common actions
43725         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
43726         Use them in place of open-coded actions.
43727
43728 2008-07-01  Simon Josefsson  <simon@josefsson.org>
43729
43730         Add self-test for getdate module.
43731         * modules/getdate-tests: New file.
43732         * tests/test-getdate.c: New file.
43733
43734 2008-06-29  Bruno Haible  <bruno@clisp.org>
43735
43736         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
43737         .gitignore.
43738         Reported by Sylvain Beucler <beuc@beuc.net>.
43739
43740 2008-06-29  Bruno Haible  <bruno@clisp.org>
43741
43742         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
43743         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
43744
43745 2008-06-29  Bruno Haible  <bruno@clisp.org>
43746
43747         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
43748         EXTRA_DIST.
43749         Reported by Sylvain Beucler <beuc@beuc.net>.
43750
43751 2008-06-26  Jim Meyering  <meyering@redhat.com>
43752
43753         make several modules depend on the "open" module
43754         This provides slightly increased consistency when opening-for-write
43755         the name of a non-directory spelled with a trailing slash.
43756         * modules/chdir-safer: Likewise.
43757         * modules/chown: Likewise.
43758         * modules/clean-temp: Likewise.
43759         * modules/copy-file: Likewise.
43760         * modules/fchdir: Likewise.
43761         * modules/fcntl-safer: Likewise.
43762         * modules/pipe: Likewise.
43763         * modules/utime: Likewise.
43764         Prompted by Eric Blake and Bruno Haible.
43765
43766 2008-06-24  Andreas Schwab  <schwab@suse.de>
43767
43768         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
43769         literals can be used as initializers for global variables.
43770
43771 2008-06-23  Eric Blake  <ebb9@byu.net>
43772
43773         Make gnulib-cache.m4 easier to diff.
43774         * gnulib-tool (func_import): Allow newlines when reading cached
43775         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
43776
43777 2008-06-23  Bruno Haible  <bruno@clisp.org>
43778
43779         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
43780         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
43781         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
43782         m4/signalblocking.m4.
43783         (gl_PREREQ_SIGACTION): Don't invoke it.
43784         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
43785         gl_PREREQ_SIG_HANDLER_H.
43786         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
43787         Don't check for sigaction here.
43788
43789 2008-06-23  Bruno Haible  <bruno@clisp.org>
43790
43791         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
43792         (install_handlers): Don't set the SA_RESETHAND flag.
43793
43794 2008-06-23  Bruno Haible  <bruno@clisp.org>
43795
43796         * m4/sigaction.m4: Comment fixes.
43797         * lib/signal.in.h: Likewise.
43798
43799 2008-06-23  Eric Blake  <ebb9@byu.net>
43800
43801         Fix typo.
43802         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
43803
43804         Avoid SA_ namespace.
43805         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
43806         Reported by Ralf Wildenhues.
43807
43808         Avoid test failure due to SA_RESTORER.
43809         * tests/test-sigaction.c (SA_MASK): New macro.
43810         (main): Avoid failing due to extension flags being set.
43811         Reported by Jim Meyering.
43812
43813         Revert use of sig-handler.h in sigprocmask.c.
43814         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
43815         it requires the existence of struct sigaction.
43816         * lib/sigprocmask.c (handler_t): Restore typedef.
43817         (rpl_signal, old_handlers): Use local type.
43818
43819 2008-06-22  Bruno Haible  <bruno@clisp.org>
43820
43821         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
43822         conditionally.
43823         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43824
43825 2008-06-22  Bruno Haible  <bruno@clisp.org>
43826
43827         * doc/posix-functions/siginterrupt.texi: Move note.
43828
43829         * lib/signal.in.h (SA_RESTART): New macro.
43830         * lib/sigaction.c: Update comment.
43831
43832         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
43833
43834         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
43835         (gl_PREREQ_SIGPROCMASK): Invoke it.
43836         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
43837
43838         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
43839
43840         * lib/sigprocmask.c: Update a comment.
43841
43842 2008-06-21  Eric Blake  <ebb9@byu.net>
43843
43844         Use sigaction module rather than signal().
43845         * modules/c-stack (Depends-on): Add sigaction.
43846         * modules/fatal-signal (Depends-on): Likewise.
43847         * modules/nanosleep (Depends-on): Likewise.
43848         * modules/sigprocmask (Files): Add sig-handler.h.
43849         * modules/sigaction (Files): Likewise.
43850         * lib/sig-handler.h (get_handler): New file, suggested by Paul
43851         Eggert.
43852         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
43853         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
43854         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
43855         (init_fatal_signals): Likewise.
43856         * lib/nanosleep.c (rpl_nanosleep): Likewise.
43857         (siginterrupt): Delete fallback.
43858         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
43859         instead.
43860         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
43861         siginterrupt.
43862
43863         New module sigaction, for mingw.
43864         * modules/sigaction: New module...
43865         * modules/sigaction-tests: ...and its test.
43866         * m4/sigaction.m4: New file.
43867         * lib/sigaction.c: Likewise.
43868         * tests/test-sigaction.c: Likewise.
43869         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
43870         * modules/signal (Makefile.am): Likewise.
43871         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
43872         needed.
43873         * doc/posix-headers/signal.texi (signal.h): Mention provided
43874         types.
43875         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
43876         that sigaction is preferable.
43877         * doc/posix-functions/sigaction.texi (sigaction): Mention new
43878         module.
43879         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43880         sigaction.
43881
43882         Improve robustness of sigprocmask by overriding signal.
43883         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
43884         is in use.
43885         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
43886         (SIGKILL, SIGSTOP): Provide fallbacks.
43887         (rpl_signal): Implement.
43888         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
43889         signal can be called inside handlers.
43890
43891         Fix nanosleep module on mingw.
43892         * modules/nanosleep (Depends-on): Add sys_select.
43893         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
43894
43895         Fix licensing of sigprocmask.
43896         * modules/raise (License): Relicense as LGPL.
43897
43898 2008-06-21  Bruno Haible  <bruno@clisp.org>
43899
43900         * lib/propername.c (proper_name_utf8): Don't use the transliterated
43901         result if it contains question marks.
43902         Reported by Michael Geng <linux@michaelgeng.de>.
43903
43904 2008-06-19  Bruno Haible  <bruno@clisp.org>
43905
43906         Fix CVS-ism.
43907         * doc/gnulib.texi: Include updated-stamp.texi.
43908         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
43909         (updated-stamp.texi): New rule.
43910         (gnulib.info): Depend on it.
43911         * doc/.gitignore: Add updated-stamp.texi.
43912         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
43913
43914 2008-06-19  Bruno Haible  <bruno@clisp.org>
43915
43916         * doc/Makefile (gnulib.info): Update and simplify dependencies.
43917         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
43918
43919 2008-06-19  Eric Blake  <ebb9@byu.net>
43920
43921         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
43922         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
43923         Reported by Stepan Kasal.
43924
43925 2008-06-18  Bruno Haible  <bruno@clisp.org>
43926
43927         * lib/fatal-signal.c (init_fatal_signals): Add comment.
43928         Reported by Eric Blake.
43929
43930 2008-06-18  Eric Blake  <ebb9@byu.net>
43931
43932         Work around cygwin 1.5.25 strsignal bug.
43933         * tests/test-strsignal.c: Allow for const char *.
43934         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
43935
43936 2008-06-18  Simon Josefsson  <simon@josefsson.org>
43937
43938         * users.txt: Update URL to article and add author/date
43939         information.
43940
43941 2008-06-17  Bruno Haible  <bruno@clisp.org>
43942
43943         New macro gl_DISABLE_THREADS.
43944         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
43945         if the user did not pass --enable-threads or --disable-threads option.
43946         (gl_DISABLE_THREADS): New macro.
43947         Reported by Eric Blake <ebb9@byu.net>.
43948
43949 2008-06-17  Bruno Haible  <bruno@clisp.org>
43950
43951         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
43952         when the macro ignores it.
43953         Based on a patch by Eric Blake <ebb9@byu.net>.
43954
43955 2008-06-17  Bruno Haible  <bruno@clisp.org>
43956
43957         * modules/tls (License): Change to LGPLv2+.
43958         Reported by Eric Blake.
43959
43960 2008-06-17  Eric Blake  <ebb9@byu.net>
43961
43962         Simplify c-stack prerequisites.
43963         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
43964         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
43965         no longer requires <ucontext.h> to exist.  Optimize setrlimit
43966         check.
43967         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
43968         <sys/resource.h>.
43969
43970         Move c-stack test into testsuite.
43971         * modules/c-stack-tests: New file.
43972         * lib/c-stack.c [DEBUG]: Move test program...
43973         * tests/test-c-stack.c: ...into this new file.  Skip rather than
43974         fail test if sigaltstack is lacking.
43975         * tests/test-c-stack.sh: New driver file.
43976
43977 2008-06-16  Eric Blake  <ebb9@byu.net>
43978
43979         Use raise module consistently.
43980         * modules/fatal-signal (Depends-on): Add raise.
43981         * modules/sigprocmask (Depends-on): Likewise.
43982         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
43983         * lib/sigprocmask.c (sigprocmask): Likewise.
43984         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
43985         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
43986
43987         Fix compliance bug in sigpending.
43988         * lib/sigprocmask.c (sigpending): Return pending array via
43989         parameter, not return value.
43990
43991 2008-06-14  Eric Blake  <ebb9@byu.net>
43992
43993         Improve obstack-printf test code.
43994         * tests/test-obstack-printf.c (test_function): Fix comment, and
43995         simplify usage of obstack_* in macros.  Add a test for coverage.
43996         Reported by Bruno Haible.
43997
43998 2008-06-14  Bruno Haible  <bruno@clisp.org>
43999
44000         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
44001         array size as a constant, not as a const variable.
44002         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
44003         AC_USE_SYSTEM_EXTENSIONS.
44004         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
44005         Test whether the obstack_printf function actually exists.
44006         * modules/obstack-printf (Depends-on): Add extensions.
44007         (Include): Remove obstack.h.
44008         * modules/obstack-printf-posix (Depends-on): Add extensions.
44009         (Include): Remove obstack.h.
44010
44011 2008-06-13  Eric Blake  <ebb9@byu.net>
44012
44013         Add obstack-printf and obstack-printf-posix modules.
44014         * modules/obstack-printf: New file.
44015         * modules/obstack-printf-posix: Likewise.
44016         * MODULES.html.sh (Misc): Mention them.
44017         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
44018         Likewise.
44019         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
44020         Likewise.
44021         * modules/stdio (Makefile.am): Accomodate new modules.
44022         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44023         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
44024         Declare.
44025         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
44026         functions.
44027         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
44028         (gl_REPLACE_OBSTACK_PRINTF): New macros
44029         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
44030         * tests/test-obstack-printf.c: New file.
44031         * modules/obstack-printf-tests: Likewise.
44032         * modules/obstack-printf-posix-tests: Likewise.
44033
44034 2008-06-11  Bruno Haible  <bruno@clisp.org>
44035
44036         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
44037         * lib/open.c: Include errno.h.
44038         (open): Fail when attempting to write to a file that has a trailing
44039         slash.
44040         * tests/test-open.c (main): Test against trailing slash bug.
44041         * doc/posix-functions/open.texi: Mention the trailing slash bug.
44042
44043 2008-06-10  Bruno Haible  <bruno@clisp.org>
44044
44045         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
44046         for $? to work inside the trap command, with various /bin/sh-s.
44047         * tests/test-vc-list-files-cvs.sh: Likewise.
44048
44049 2008-06-10  Bruno Haible  <bruno@clisp.org>
44050
44051         * lib/acl-internal.h: Don't include gettext.h here.
44052         * lib/set-mode-acl.c: Include gettext.h here.
44053         * lib/copy-acl.c: Likewise.
44054
44055 2008-06-10  Bruno Haible  <bruno@clisp.org>
44056
44057         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
44058         * lib/wait-process.c (wait_subprocess): Likewise.
44059         * lib/execute.h (execute): Add termsigp argument.
44060         * lib/execute.c (execute): Likewise.
44061         * lib/csharpcomp.c (compile_csharp_using_pnet,
44062         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
44063         * lib/csharpexec.c (execute_csharp_using_pnet,
44064         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
44065         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
44066         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
44067         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
44068         is_jikes_present): Update.
44069         * lib/javaexec.c (execute_java_class): Update.
44070         * lib/javaversion.c (execute_and_read_line): Update.
44071         * NEWS: Document the changes.
44072         Reported by Eric Blake.
44073
44074 2008-06-10  Eric Blake  <ebb9@byu.net>
44075
44076         Add missing include.
44077         * tests/test-strstr.c (includes): Add <signal.h>.
44078         * tests/test-strcasestr.c (includes): Likewise.
44079         * tests/test-memmem.c (includes): Likewise.
44080
44081 2008-06-10  Bruno Haible  <bruno@clisp.org>
44082
44083         * lib/wait-process.c (wait_subprocess): Add an assertion.
44084
44085 2008-06-10  Bruno Haible  <bruno@clisp.org>
44086
44087         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
44088
44089 2008-06-10  Bruno Haible  <bruno@clisp.org>
44090
44091         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
44092         using alarm().
44093         * tests/test-strcasestr.c (main): Likewise.
44094         * tests/test-strstr.c (main): Likewise.
44095
44096 2008-06-09  Bruno Haible  <bruno@clisp.org>
44097
44098         Work around the Solaris 10 ACE ACLs ABI change.
44099         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
44100         declare if ACL_NO_TRIVIAL is present.
44101         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
44102         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
44103         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
44104         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
44105         define if ACL_NO_TRIVIAL is present.
44106         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
44107         and use the current ABI.
44108         (file_has_acl): Use same #if condition as elsewhere.
44109         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
44110         in use, and use the current ABI.
44111         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
44112         Reported by Jim Meyering.
44113
44114 2008-06-09  Eric Blake  <ebb9@byu.net>
44115
44116         Work around environments that (stupidly) ignore SIGALRM.
44117         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
44118         before using alarm().
44119         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44120         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
44121         Reported by Ian Beckwith <ianb@erislabs.net>.
44122
44123         Produce autobuild blurb earlier in log.
44124         * modules/autobuild (configure.ac-early): Move AB_INIT here.
44125
44126 2008-06-09  Jim Meyering  <meyering@redhat.com>
44127         and Ondřej Vašík  <ovasik@redhat.com>
44128
44129         utimens.c: correct kernel bug work-around
44130         Ondřej Vašík found that the invalid return value of 280 indicates
44131         failure, not success, and the kernel bug we're trying to work
44132         around affects not just the utimensat call, but also the fallback
44133         futimens call.
44134         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
44135         not success.
44136         [HAVE_FUTIMENS]: Use the same work-around, here.
44137
44138 2008-06-09  Jim Meyering  <meyering@redhat.com>
44139
44140         add more guards around definition of ACE_-related code
44141         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
44142         ALLOW and ACE_OWNER are also defined.
44143
44144 2008-06-08  Bruno Haible  <bruno@clisp.org>
44145
44146         * lib/acl-internal.h: Add me as co-author.
44147         * lib/file-has-acl.c: Likewise.
44148         * lib/set-mode-acl.c: Likewise.
44149         * lib/copy-acl.c: Likewise.
44150
44151 2008-06-08  Bruno Haible  <bruno@clisp.org>
44152
44153         Add support for AIX ACLs.
44154         * lib/acl-internal.h (acl_nontrivial): New declaration.
44155         * lib/file-has-acl.c (acl_nontrivial): New function.
44156         (file_has_acl): Add implementation using AIX 4 ACL API.
44157         * lib/set-mode-acl.c (qset_acl): Likewise.
44158         * lib/copy-acl.c (qcopy_acl): Likewise.
44159
44160 2008-06-08  Bruno Haible  <bruno@clisp.org>
44161
44162         Add support for HP-UX ACLs.
44163         * lib/acl-internal.h (acl_nontrivial): New declaration.
44164         * lib/file-has-acl.c (acl_nontrivial): New function.
44165         (file_has_acl): Add implementation using HP-UX 11 ACL API.
44166         * lib/set-mode-acl.c (qset_acl): Likewise.
44167         * lib/copy-acl.c (qcopy_acl): Likewise.
44168
44169 2008-06-08  Bruno Haible  <bruno@clisp.org>
44170
44171         Add support for Cygwin ACLs.
44172         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
44173         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
44174         the chmod_or_fchmod call.
44175         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
44176
44177 2008-06-08  Bruno Haible  <bruno@clisp.org>
44178
44179         Fix bug with setuid modes in Solaris 10+ code.
44180         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
44181         succeeded, when the mode contains some special bits.
44182
44183 2008-06-08  Bruno Haible  <bruno@clisp.org>
44184
44185         Add support for Solaris 7..10 ACLs.
44186         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
44187         declarations.
44188         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
44189         functions.
44190         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
44191         * lib/set-mode-acl.c (qset_acl): Likewise.
44192         * lib/copy-acl.c (qcopy_acl): Likewise.
44193
44194 2008-06-08  Bruno Haible  <bruno@clisp.org>
44195
44196         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
44197         declaration.
44198         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
44199         (acl_access_nontrivial): Remove MacOS X case.
44200         (file_has_acl): Use acl_extended_nontrivial.
44201         * lib/copy-acl.c (qcopy_acl): Likewise.
44202
44203 2008-06-08  Bruno Haible  <bruno@clisp.org>
44204
44205         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
44206
44207 2008-06-08  Jim Meyering  <meyering@redhat.com>
44208
44209         * modules/acl (Maintainer): Add Bruno Haible.
44210
44211 2008-06-07  Bruno Haible  <bruno@clisp.org>
44212
44213         Improve support for Tru64 ACLs.
44214         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
44215         ACL on OSF/1.
44216
44217 2008-06-07  Bruno Haible  <bruno@clisp.org>
44218
44219         Add support for MacOS X ACLs.
44220         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
44221         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
44222         * lib/set-mode-acl.c (qset_acl): Likewise.
44223         * lib/copy-acl.c (qcopy_acl): Likewise.
44224
44225 2008-06-07  Bruno Haible  <bruno@clisp.org>
44226
44227         Fix memory leak introduced on 2008-05-22.
44228         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
44229         use.
44230
44231 2008-06-07  Bruno Haible  <bruno@clisp.org>
44232
44233         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
44234         to construct an empty ACL.
44235
44236 2008-06-07  Bruno Haible  <bruno@clisp.org>
44237
44238         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
44239         precisely.
44240         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
44241
44242 2008-06-07  Bruno Haible  <bruno@clisp.org>
44243
44244         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
44245         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
44246
44247 2008-06-07  Bruno Haible  <bruno@clisp.org>
44248
44249         * doc/posix-functions/_setjmp.texi: Explain the use of this function
44250         regardless of POSIX.
44251         * doc/posix-functions/_longjmp.texi: Likewise.
44252         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
44253         SystemV platform in this case.
44254
44255 2008-06-06  Eric Blake  <ebb9@byu.net>
44256
44257         Document abort() bugs.
44258         * doc/posix-functions/abort.texi (abort): Mention anomalies.
44259
44260         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
44261         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
44262         sigsetjmp.
44263         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
44264         siglongjmp, but only as a macro.
44265         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
44266         is obsolete.
44267         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
44268
44269         Tweak documentation to cover cygwin argz bugs.
44270         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
44271         argz bug fix; no code change needed since no cygwin releases
44272         occurred between the last fix and the bug being tested.
44273         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
44274         module and recently fixed cygwin bugs.
44275         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
44276         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
44277         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
44278         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
44279         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
44280         Likewise.
44281         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
44282         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
44283         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
44284         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
44285         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
44286         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
44287         Likewise.
44288
44289         Avoid gcc warning on cygwin.
44290         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
44291         !ACL_NO_TRIVIAL]: Avoid unused variable.
44292
44293 2008-06-05  Eric Blake  <ebb9@byu.net>
44294
44295         Be tolerant of UNKNOWN version in gnulib-tool test dir.
44296         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
44297         git-version-gen fails to come up with a version.
44298         Reported by Simon Josefsson.
44299
44300 2008-06-05  Jim Meyering  <meyering@redhat.com>
44301             Paul Eggert  <eggert@cs.ucla.edu>
44302
44303         utimens.c: work around a probable Linux kernel bug
44304         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
44305         appears to be a kernel bug that causes utimensat to return 280
44306         instead of 0, indicating success.
44307
44308 2008-06-04  Bruno Haible  <bruno@clisp.org>
44309
44310         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
44311         2008-06-01 commit.
44312
44313 2008-06-04  Bruno Haible  <bruno@clisp.org>
44314
44315         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
44316         * lib/file-has-acl.c (acl_access_nontrivial): New function.
44317         (file_has_acl): Use it. Save errno afterwards.
44318         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
44319
44320 2008-06-03  Bruno Haible  <bruno@clisp.org>
44321
44322         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
44323         draft code. Simplify #ifs.
44324         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
44325         Put Solaris code after POSIX-draft code. Fix comments regarding
44326         Solaris 10, HP-UX. Mention Cygwin.
44327         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
44328
44329 2008-06-03  Eric Blake  <ebb9@byu.net>
44330
44331         Provide fallback for older kernels.
44332         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
44333         Provide runtime fallback if kernel lacks support.
44334         Reported by Mike Frysinger.
44335
44336 2008-06-02  Bruno Haible  <bruno@clisp.org>
44337
44338         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
44339         it exists.
44340
44341 2008-06-02  Bruno Haible  <bruno@clisp.org>
44342
44343         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
44344         * lib/copy-acl.c (qcopy_acl): Update comment.
44345
44346 2008-06-02  Bruno Haible  <bruno@clisp.org>
44347
44348         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
44349         like ACL APIs.
44350
44351 2008-06-02  Bruno Haible  <bruno@clisp.org>
44352
44353         * tests/test-file-has-acl.sh: Use different code for Cygwin.
44354         * tests/test-set-mode-acl.sh: Likewise.
44355         * tests/test-copy-acl.sh: Likewise.
44356         * tests/test-copy-file.sh: Likewise.
44357
44358 2008-06-02  Bruno Haible  <bruno@clisp.org>
44359
44360         * tests/test-file-has-acl.sh: Remove unused code.
44361
44362 2008-06-01  Bruno Haible  <bruno@clisp.org>
44363
44364         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
44365         (copy_acl): Just a wrapper around qcopy_acl that emits the error
44366         messages.
44367         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
44368
44369 2008-06-01  Bruno Haible  <bruno@clisp.org>
44370
44371         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
44372         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
44373         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
44374         APIs.
44375         * modules/acl-tests (configure.ac): Remove tests now contained in
44376         m4/acl.m4.
44377
44378 2008-06-02  Jim Meyering  <meyering@redhat.com>
44379
44380         announce-gen: use a better key-server host name
44381         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
44382         it may be more consistently reliable.  Suggested by Werner Koch
44383         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
44384
44385 2008-06-01  Bruno Haible  <bruno@clisp.org>
44386
44387         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
44388         Reported by Voroskoi Andras <voroskoi@gmail.com>.
44389
44390 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
44391
44392         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
44393
44394 2008-06-01  Bruno Haible  <bruno@clisp.org>
44395
44396         New ACL tests.
44397         * tests/test-file-has-acl.sh: New file.
44398         * tests/test-file-has-acl.c: New file.
44399         * tests/test-set-mode-acl.sh: New file.
44400         * tests/test-set-mode-acl.c: New file.
44401         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
44402         * tests/test-copy-acl.c: New file.
44403         * modules/acl-tests: New file, based on modules/copy-file-tests.
44404         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
44405         (Depends-on): Add acl-tests.
44406         (configure.ac): Remove checks.
44407         (Makefile.am): Don't create test-sameacls program here any more.
44408
44409 2008-06-01  Bruno Haible  <bruno@clisp.org>
44410
44411         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
44412         * tests/test-sameacls.c: Include progname.h.
44413         (main): Invoke set_program_name. Portability fixes for MacOS X,
44414         Solaris, HP-UX.
44415
44416 2008-06-01  Bruno Haible  <bruno@clisp.org>
44417
44418         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
44419         function.
44420         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
44421
44422 2008-06-01  Bruno Haible  <bruno@clisp.org>
44423
44424         * modules/rpmatch (Depends-on): Add strdup.
44425
44426 2008-06-01  Bruno Haible  <bruno@clisp.org>
44427
44428         * lib/pipe.c: Include unistd-safer.h.
44429         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
44430         * modules/pipe (Depends-on): Add unistd-safer.
44431
44432 2008-05-30  Simon Josefsson  <simon@josefsson.org>
44433
44434         * modules/autobuild (configure.ac): Call AB_INIT.
44435
44436 2008-05-30  Simon Josefsson  <simon@josefsson.org>
44437
44438         * tests/test-getaddrinfo.c: Don't print debug messages by default.
44439         Suggested by Bruno Haible <bruno@clisp.org>.
44440
44441 2008-05-30  Simon Josefsson  <simon@josefsson.org>
44442
44443         * tests/test-base64.c: Cast size_t to unsigned long when invoking
44444         printf.  Use %lu instead of %d.  Reported by Bruno Haible
44445         <bruno@clisp.org>.
44446
44447 2008-05-29  Eric Blake  <ebb9@byu.net>
44448
44449         Prefer new POSIX 200x interfaces over futimesat.
44450         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
44451         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
44452         when available.
44453         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
44454
44455 2008-05-28  Bruno Haible  <bruno@clisp.org>
44456
44457         * modules/stpcpy (License): Change to LGPLv2+.
44458         Requested by David Lutterkort <dlutter@redhat.com>.
44459
44460 2008-05-27  Bruno Haible  <bruno@clisp.org>
44461
44462         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
44463         current mingw.
44464         Reported by Jose E. Marchesi <jemarch@gnu.org>.
44465
44466 2008-05-27  Bruno Haible  <bruno@clisp.org>
44467
44468         * modules/iconv_open (Link): New section, from module 'iconv'.
44469         * modules/striconv (Link): Likewise.
44470         * modules/striconveh (Link): Likewise.
44471         * modules/xstriconv (Link): Likewise.
44472         * modules/unicodeio (Link): Likewise.
44473         * modules/propername (Link): Likewise.
44474         Reported by Jim Meyering.
44475
44476 2008-05-26  Jim Meyering  <meyering@redhat.com>
44477
44478         sha256: do not artificially restrict buffer length to be < 2^32
44479         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
44480         uint32_t to size_t.
44481         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
44482         to match.
44483
44484         avoid unaligned access errors, e.g., on sparc
44485         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
44486         direct access through a possibly-unaligned uint64* pointer.
44487         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
44488         direct access through a possibly-unaligned uint32* pointer.
44489         Prompted by this patch from Tom "spot" Callaway:
44490         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
44491
44492         sha512.c: fix typo in comment
44493         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
44494
44495 2008-05-25  Bruno Haible  <bruno@clisp.org>
44496
44497         * lib/set-mode-acl.c: Renamed from lib/acl.c.
44498         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
44499         (Makefile.am): Update lib_SOURCES.
44500
44501 2008-05-25  Bruno Haible  <bruno@clisp.org>
44502
44503         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
44504
44505 2008-05-25  Jim Meyering  <meyering@redhat.com>
44506
44507         useless-if-before-free: freed expr may have white-space differences
44508         * build-aux/useless-if-before-free: Recognize cases in which the
44509         freed expression differs from the tested one in embedded white
44510         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
44511         $1 was used, so we can't make any regexp shy.  Improved tests now
44512         detect this.
44513
44514         useless-if-before-free: accept white space in the expression.
44515         * build-aux/useless-if-before-free: For now, any white space
44516         in the expression must be identical in the free argument.
44517
44518         useless-if-before-free: efficiency tweak
44519         * build-aux/useless-if-before-free: Make the expression-matching
44520         regexp "shy".
44521         Make the *outer* regexp shy, not the expr-matching one.
44522
44523         update code-in-comment to accept cast of free arg
44524         * build-aux/useless-if-before-free: Update regexp.
44525
44526 2008-05-25  Bruno Haible  <bruno@clisp.org>
44527
44528         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
44529         * modules/copy-file-tests (Files, Makefile.am): Update.
44530         * tests/test-copy-file.c (func_test_copy): Update.
44531
44532 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
44533
44534         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
44535
44536 2008-05-23  Bruno Haible  <bruno@clisp.org>
44537
44538         Improve support for ACLs on OSF/1.
44539         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
44540         Remove fallback for unknown flavors of ACLs.
44541
44542 2008-05-22  Bruno Haible  <bruno@clisp.org>
44543
44544         Add support for ACLs on OSF/1.
44545         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
44546         replacements.
44547         (acl_free_text): New macro fallback.
44548         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
44549         acl_free.
44550         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
44551         acl_free_text function. Require AC_C_INLINE.
44552
44553 2008-05-22  Bruno Haible  <bruno@clisp.org>
44554
44555         Make copy_acl work on MacOS X 10.5.
44556         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
44557         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
44558         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
44559         If MODE_INSIDE_ACL, don't assume that every system has the same text
44560         representation for ACLs as FreeBSD.
44561         * lib/copy-acl.c (copy_acl): Add support for platforms with
44562         !MODE_INSIDE_ACL.
44563         * lib/file-has-acl.c (file_has_acl): Likewise.
44564         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
44565         FreeBSD, MacOS X, or IRIX, respectively.
44566
44567 2008-05-22  Bruno Haible  <bruno@clisp.org>
44568
44569         * lib/acl.h: Don't include <sys/acl.h>.
44570         (GETACLCNT): Move fallback to lib/acl-internal.h.
44571         * lib/acl-internal.h: Include <sys/acl.h> here.
44572         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
44573
44574 2008-05-22  Bruno Haible  <bruno@clisp.org>
44575
44576         Split off copy_acl function to separate file.
44577         * lib/copy-acl.c: New file, extracted from lib/acl.c.
44578         * lib/acl.c (copy_acl): Moved function to separate file.
44579         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
44580         * modules/acl (Files): Add lib/copy-acl.c.
44581         (Makefiles.am): Augment lib_SOURCES.
44582
44583 2008-05-22  Bruno Haible  <bruno@clisp.org>
44584
44585         * modules/copy-file-tests: New file.
44586         * tests/test-copy-file.sh: New file.
44587         * tests/test-copy-file.c: New file.
44588         * tests/test-copy-file-sameacls.c: New file.
44589
44590 2008-05-22  Eric Blake  <ebb9@byu.net>
44591
44592         Avoid gcc warning.
44593         * tests/test-memcmp.c (main): Pass NULL indirectly.
44594
44595 2008-05-21  Bruno Haible  <bruno@clisp.org>
44596
44597         Add reference doc about ACLs.
44598         * doc/acl-resources.txt: New file.
44599         * doc/acl-cygwin.txt: New file.
44600
44601 2008-05-21  Bruno Haible  <bruno@clisp.org>
44602
44603         Avoid one more warning from gcc.
44604         * lib/vasnprintf.c (IF_LINT): Update comments.
44605         (VASNPRINTF): Use it also for the 'prefix' array initializer.
44606
44607 2008-05-21  Jim Meyering  <meyering@redhat.com>
44608
44609         avoid a warning from gcc
44610         * lib/vasnprintf.c (IF_LINT): Define.
44611         (scale10_round_decimal_long_double):
44612         Use it to avoid a "may be used uninitialized" warning.
44613         (scale10_round_decimal_double): Likewise.
44614
44615 2008-05-21  Simon Josefsson  <simon@josefsson.org>
44616
44617         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
44618         declared.
44619
44620 2008-05-20  Bruno Haible  <bruno@clisp.org>
44621
44622         * tests/test-memcmp.c (main): Test also the sign of the result. Test
44623         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
44624
44625 2008-05-20  Simon Josefsson  <simon@josefsson.org>
44626
44627         * modules/memcmp-tests: New file.
44628         * tests/test-memcmp.c: New file.
44629
44630 2008-05-19  Bruno Haible  <bruno@clisp.org>
44631
44632         * modules/propername (Notice, configure.ac): Put quoted "..." into
44633         --keyword option.
44634         * lib/propername.h: Update comments accordingly.
44635         Reported by Eric Blake.
44636
44637 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
44638
44639         * modules/getpass-gnu (Depends-on): Add fseeko.
44640
44641 2008-05-19  Simon Josefsson  <simon@josefsson.org>
44642
44643         * modules/base64-tests: New file.
44644
44645 2008-05-19  Bo Borgerson <gigabo@gmail.com>
44646
44647         * lib/base64.c (base64_decode_ctx): If a decode context structure
44648         was passed in use it to ignore newlines.  If a context structure
44649         was _not_ passed in, continue to treat newlines as garbage (this
44650         is the historical behavior).  Formerly base64_decode.
44651         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
44652         takes a decode context structure.
44653         * lib/base64.h (base64_decode): Macro for four-argument calls.
44654         (base64_decode_alloc): Likewise.
44655         * lib/base64.c (base64_decode_ctx): If a decode context structure
44656         was passed in use it to ignore newlines.  If a context structure
44657         was _not_ passed in, continue to treat newlines as garbage (this
44658         is the historical behavior).  Formerly base64_decode.
44659         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
44660         takes a decode context structure.
44661         * lib/base64.h (base64_decode): Macro for four-argument calls.
44662         (base64_decode_alloc): Likewise.
44663
44664 2008-05-19  Jim Meyering  <meyering@redhat.com>
44665
44666         avoid a warning from gcc
44667         * lib/trim.c (IF_LINT): Define.
44668         (trim2): Use it to avoid a "may be used uninitialized" warning.
44669
44670         Fix doc typo.
44671         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
44672
44673 2008-05-19  Bruno Haible  <bruno@clisp.org>
44674
44675         * doc/glibc-functions/getpass.texi: Document limits of other
44676         implementations.
44677
44678 2008-05-19  Simon Josefsson  <simon@josefsson.org>
44679             Bruno Haible <bruno@clisp.org>
44680
44681         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
44682
44683 2008-05-18  Bruno Haible  <bruno@clisp.org>
44684
44685         * modules/propername: New file, from GNU gettext.
44686         * lib/propername.h: New file, from GNU gettext.
44687         * lib/propername.c: New file, from GNU gettext.
44688         * MODULES.html.sh (Internationalization functions): Add propername.
44689
44690 2008-05-16  Jim Meyering  <meyering@redhat.com>
44691             Bruno Haible  <bruno@clisp.org>
44692
44693         Avoid some warnings from "gcc -Wshadow".
44694         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
44695
44696 2008-05-15  Eric Blake  <ebb9@byu.net>
44697
44698         Extend previous patch to cygwin 1.7.0.
44699         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
44700         fast implementation in cygwin >= 1.7.0.
44701         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
44702         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44703
44704 2008-05-15  Bruno Haible  <bruno@clisp.org>
44705
44706         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
44707         implementation in glibc >= 2.9.
44708         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
44709         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44710
44711 2008-05-15  Bruno Haible  <bruno@clisp.org>
44712
44713         * MODULES.html.sh (Internationalization functions): Remove linebreak.
44714         (Unicode string functions): Add unilbrk/*.
44715         Reported by Karl Berry.
44716
44717 2008-05-15  Eric Blake  <ebb9@byu.net>
44718
44719         Fix violation of <stdbool.h> replacement in regex.
44720         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
44721         * lib/regexec.c (re_search_internal): Likewise.
44722         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
44723
44724 2008-05-15  Jim Meyering  <meyering@redhat.com>
44725
44726         avoid distracting test output when git or cvs is not found
44727         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
44728         * tests/test-vc-list-files-git.sh: Likewise.
44729
44730 2008-05-15  Eric Blake  <ebb9@byu.net>
44731
44732         Glibc finally accepted the memmem speedup code, bugzilla #5514.
44733         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
44734         glibc version.
44735         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
44736         * doc/posix-functions/strstr.texi (strstr): Likewise.
44737         * lib/str-two-way.h (MAX): Sychronize with glibc.
44738
44739 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
44740
44741         * lib/regcomp.c (optimize_utf8): Add a note on why we test
44742         opr.ctx_type.
44743         (calc_first): Initialize constraint field.
44744         (duplicate_node_closure): Use it instead of special casing ANCHORS.
44745         Fix grammar.
44746         (duplicate_node): Merge constraint field for all node types.
44747         (calc_eclosure_iter): Look at constraint field for all node types.
44748         * lib/regex_internal.c (create_cd_newstate): Don't look at
44749         opr.ctx_type.
44750
44751 2008-05-14  Bruno Haible  <bruno@clisp.org>
44752
44753         Help GCC to do better code generation.
44754         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
44755         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
44756         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
44757         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
44758         Declare with attribute 'malloc' if supported.
44759
44760 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
44761
44762         use "echo STR|wc -c" rather than unportable "expr length STR"
44763         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
44764         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
44765
44766 2008-05-14  Jim Meyering  <meyering@redhat.com>
44767
44768         use dd ibs=$n count=1 ... rather than less-portable head -c$n
44769         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
44770         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
44771         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
44772         via Collin Lasse.
44773
44774 2008-05-14  Eric Blake  <ebb9@byu.net>
44775
44776         Avoid quadratic growth in gl_LIBSOURCES.
44777         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
44778         Suggested by Bruno Haible.
44779
44780         Test xmemdup0.
44781         * modules/xmemdup0-tests: New file.
44782         * tests/test-xmemdup0.c: Likewise.
44783
44784 2008-05-13  Eric Blake  <ebb9@byu.net>
44785
44786         Split xmemdup0 into its own module.
44787         * modules/xmemdup0: New file.
44788         * lib/xmemdup0.h: Likewise.
44789         * lib/xmemdup0.c: Likewise.
44790         * MODULES.html.sh (Memory management functions): Add xmemdup0.
44791         * lib/xalloc.h (xmemdup0): Remove.
44792         * lib/xmalloc.c (xmemdup0): Likewise.
44793
44794 2008-05-13  Eric Blake  <ebb9@byu.net>
44795             Bruno Haible  <bruno@clisp.org>
44796
44797         Reduce number of forks required during autoconf.
44798         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
44799         and gl_LIBSOURCES_DIR.
44800         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
44801         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
44802         m4_syscmd per file.
44803         <m4_foreach_w>: Move...
44804         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
44805
44806 2008-05-13  Eric Blake  <ebb9@byu.net>
44807
44808         * gnulib-tool: Fix various comment typos.
44809
44810 2008-05-12  Bruno Haible  <bruno@clisp.org>
44811
44812         Tailor the linebreaking algorithm.
44813         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
44814
44815 2008-05-12  Bruno Haible  <bruno@clisp.org>
44816
44817         Update to Unicode 5.0.0.
44818         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
44819         LBP_JV, LBP_JT. Redistribute values.
44820         (unilbrk_table): Change size.
44821         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
44822         Unicode TR#14 rev. 22.
44823         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
44824         LBP_JV, LBP_JT. Redistribute values.
44825         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
44826         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
44827         Update.
44828         * lib/unilbrk/lbrkprop1.h: Regenerated.
44829         * lib/unilbrk/lbrkprop2.h: Regenerated.
44830         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
44831         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
44832         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
44833         Likewise.
44834         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
44835         Likewise.
44836         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
44837         result.
44838         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44839         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44840         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
44841         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
44842         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
44843         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
44844
44845 2008-05-11  Bruno Haible  <bruno@clisp.org>
44846
44847         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
44848
44849 2008-05-11  Bruno Haible  <bruno@clisp.org>
44850
44851         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
44852         * modules/unilbrk/gen-lbrk: New file.
44853
44854 2008-05-11  Bruno Haible  <bruno@clisp.org>
44855
44856         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
44857         * m4/sha512.m4 (gl_SHA512): Likewise.
44858
44859 2008-05-11  Jim Meyering  <meyering@redhat.com>
44860
44861         New modules: crypto/sha256, crypto/sha512 (from coreutils)
44862         * modules/crypto/sha256: New file.
44863         * modules/crypto/sha512: Likewise.
44864         * lib/sha256.c: Likewise.
44865         * lib/sha256.h: Likewise.
44866         * lib/sha512.c: Likewise.
44867         * lib/sha512.h: Likewise.
44868         * lib/u64.h: Likewise.
44869         * m4/sha256.m4: Likewise.
44870         * m4/sha512.m4: Likewise.
44871         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
44872
44873 2008-05-10  Bruno Haible  <bruno@clisp.org>
44874
44875         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
44876         (Input/Output <stdio.h>): Add xprintf.
44877         (Signal handling <signal.h>): Add strsignal.
44878         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
44879         (Core language properties): Add func.
44880         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
44881         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
44882         strings.
44883         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
44884         (Input/output): New section.
44885         (File system functions): Add openat-die, stat-macros.
44886         (Networking functions): Add sockets.
44887         (Unicode string functions): Add unictype/*.
44888         (Support for building libraries and executables): Add gperf.
44889         (Support for building documentation): Add agpl-3.0.
44890         (Misc): Add nocrash.
44891
44892 2008-05-10  Bruno Haible  <bruno@clisp.org>
44893
44894         * modules/unictype/gen-ctype: New file.
44895
44896 2008-05-10  Jim Meyering  <meyering@redhat.com>
44897
44898         Make chdir-safer.c more efficient on a system with no symlinks.
44899         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
44900         also if ELOOP is zero.  Suggested by Bruno Haible.
44901
44902         Make chdir-safer.c slightly safer.
44903         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
44904         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
44905
44906         Avoid compile failure on systems without ELOOP (like mingw).
44907         * lib/chdir-safer.c (ELOOP): Define if not already defined.
44908         Reported by Bruno Haible.
44909
44910 2008-05-10  Bruno Haible  <bruno@clisp.org>
44911
44912         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
44913         (is_utf8_encoding): Use a case-insensitive comparison.
44914         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
44915         streq.
44916
44917 2008-05-10  Bruno Haible  <bruno@clisp.org>
44918
44919         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
44920         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
44921         * lib/unilbrk/ulc-common.h (iconv_string_length,
44922         iconv_string_keeping_offsets): Remove declarations.
44923         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
44924         Don't include <iconv.h>, streq.h, xsize.h.
44925         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
44926         conversion.
44927         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
44928         <iconv.h>, streq.h, xsize.h.
44929         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
44930         conversion.
44931         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
44932         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
44933         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
44934         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
44935
44936 2008-05-10  Bruno Haible  <bruno@clisp.org>
44937
44938         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
44939         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
44940
44941         * modules/unilbrk/u32-width-linebreaks-tests: New file.
44942         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
44943
44944         * modules/unilbrk/u16-width-linebreaks-tests: New file.
44945         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
44946
44947         * modules/unilbrk/u8-width-linebreaks-tests: New file.
44948         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
44949
44950         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
44951         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
44952
44953         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
44954         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
44955
44956         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
44957         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
44958
44959         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
44960         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
44961
44962 2008-05-10  Bruno Haible  <bruno@clisp.org>
44963
44964         Split up 'linebreak' module.
44965         * lib/unilbrk.h: New file, based on lib/linebreak.h.
44966         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
44967         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
44968         modifications.
44969         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
44970         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
44971         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
44972         lib/linebreak.c.
44973         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
44974         lib/linebreak.c.
44975         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
44976         lib/linebreak.c.
44977         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
44978         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
44979         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
44980         lib/linebreak.c.
44981         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
44982         lib/linebreak.c.
44983         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
44984         lib/linebreak.c.
44985         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
44986         lib/linebreak.c.
44987         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
44988         lib/linebreak.c.
44989         * modules/unilbrk/base: New file.
44990         * modules/unilbrk/tables: New file.
44991         * modules/unilbrk/u8-possible-linebreaks: New file.
44992         * modules/unilbrk/u16-possible-linebreaks: New file.
44993         * modules/unilbrk/u32-possible-linebreaks: New file.
44994         * modules/unilbrk/ulc-common: New file.
44995         * modules/unilbrk/ulc-possible-linebreaks: New file.
44996         * modules/unilbrk/u8-width-linebreaks: New file.
44997         * modules/unilbrk/u16-width-linebreaks: New file.
44998         * modules/unilbrk/u32-width-linebreaks: New file.
44999         * modules/unilbrk/ulc-width-linebreaks: New file.
45000         * lib/linebreak.h: Remove file.
45001         * lib/linebreak.c: Remove file.
45002         * m4/linebreak.m4: Remove file.
45003         * modules/linebreak: Remove file.
45004         * NEWS: Mention the changes.
45005
45006 2008-05-09  Eric Blake  <ebb9@byu.net>
45007
45008         Add xmemdup0.
45009         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
45010         implementation.
45011         * lib/xmalloc.c (xmemdup0): New C implementation.
45012
45013 2008-05-08  Bruno Haible  <bruno@clisp.org>
45014
45015         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
45016
45017 2008-05-07  Eric Blake  <ebb9@byu.net>
45018
45019         Support cross-compilation of <wctype.h>.
45020         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
45021         AC_CACHE_CHECK.
45022
45023 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
45024
45025         * build-aux/vc-list-files: Add support for bzr.
45026
45027 2008-05-03  Jim Meyering  <meyering@redhat.com>
45028
45029         avoid failed assertion with tight malloc
45030         * tests/test-getndelim2.c: Correct an off-by-one assertion.
45031
45032 2008-05-03  Simon Josefsson  <simon@josefsson.org>
45033
45034         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
45035         are needed from arpa/inet.h.
45036         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
45037         Reported by Bruno Haible.
45038
45039 2008-05-02  Jim Meyering  <meyering@redhat.com>
45040
45041         avoid compilation error on FreeBSD 6
45042         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
45043
45044 2008-05-01  Jim Meyering  <meyering@redhat.com>
45045
45046         useless-if-before-free: correct --help's exit status description
45047         * build-aux/useless-if-before-free (usage): Like grep, exit 0
45048         for one or more matches, etc.  Reported by Bruno Haible.
45049
45050         vc-list-files: make the stand-alone gnulib test work
45051         * modules/vc-list-files-tests (configure.ac):
45052         Define and AC_SUBST abs_aux_dir.
45053         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
45054         $(abs_top_srcdir) to each script and having each of them
45055         duplicate the work of setting PATH, set PATH here, using
45056         the new variable, abs_aux_dir instead.
45057         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
45058         * tests/test-vc-list-files-git.sh: Likewise.
45059         Reported by Bruno Haible.
45060
45061 2008-05-01  Bruno Haible  <bruno@clisp.org>
45062
45063         * lib/getndelim2.c (getndelim2): Fix newsize computation during
45064         reallocation. Rename 'done' to 'found_delimiter'.
45065
45066 2008-05-01  Jim Meyering  <meyering@redhat.com>
45067
45068         vc-list-files: accommodate /bin/sh like the one from Solaris 10
45069         * build-aux/vc-list-files: Use `...`, not $(...).
45070
45071 2008-04-30  Jim Meyering  <meyering@redhat.com>
45072
45073         add tests for vc-list-files
45074         * modules/vc-list-files-tests: New module.
45075         * tests/test-vc-list-files-cvs.sh: New file.
45076         * tests/test-vc-list-files-git.sh: New file.
45077
45078         avoid a warning from gcc
45079         * lib/getndelim2.c (IF_LINT): Define.
45080         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
45081
45082         vc-list-files: work properly with build-aux/cvsu, too
45083         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
45084         to all cvs-based clauses.
45085
45086         vc-list-files: work properly in the CVS+awk case, too
45087         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
45088
45089         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
45090         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
45091         take more than one file argument, so .  Add quotes, just in case $dir
45092         ever contains a shell meta-character.  Prompted by Soren Hansen in
45093         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
45094
45095 2008-04-29  Eric Blake  <ebb9@byu.net>
45096
45097         Optimize getndelim2 to use block operations when possible.
45098         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
45099         freadseek, and memchr2.
45100         * lib/getndelim2.c (getndelim2): Use them for block reads.
45101
45102 2008-04-29  Bruno Haible  <bruno@clisp.org>
45103
45104         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
45105         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
45106         * modules/inet_ntop (Depends-on): Add extensions.
45107         * modules/inet_pton (Depends-on): Likewise.
45108         Reported by Simon Josefsson.
45109
45110 2008-04-29  Jim Meyering  <meyering@redhat.com>
45111
45112         When the is more than one match in a block, match all of them.
45113         * build-aux/useless-if-before-free: Iterate through each block
45114         until there are no more matches.
45115
45116         Fix broken useless-if-before-free script.
45117         * build-aux/useless-if-before-free: Fix typo: missing "?" after
45118         the expression to match cast of argument to free-like function.
45119
45120 2008-04-29  Eric Blake  <ebb9@byu.net>
45121
45122         Use new header.
45123         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
45124
45125 2008-04-29  Jim Meyering  <meyering@redhat.com>
45126
45127         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
45128         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
45129         by gnulib to exist and to declare e.g., inet_ntop.
45130         Don't include "inet_ntop.h", now removed.
45131
45132         * m4/arpa_inet_h.m4: Remove trailing blanks.
45133
45134 2008-04-29  Eric Blake  <ebb9@byu.net>
45135
45136         Silence valgrind on safe reads beyond potential array bounds.
45137         * lib/rawmemchr.valgrind: New file.
45138         * lib/strchrnul.valgrind: Likewise.
45139         * modules/rawmemchr (Files): Distribute new file.
45140         * modules/strchrnul (Files): Likewise.
45141         Suggested by Bruno Haible.
45142
45143 2008-04-29  Bruno Haible  <bruno@clisp.org>
45144
45145         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
45146         (inet_ntop, inet_pton): Change portability warning's wording.
45147         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
45148         Invoke gl_CHECK_NEXT_HEADERS.
45149         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
45150         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
45151         set ARPA_INET_H.
45152         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
45153         * modules/arpa_inet (Description): No longer only for systems that
45154         lack it.
45155         (Depends-on): Add include_next.
45156         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
45157         HAVE_ARPA_INET_H.
45158
45159 2008-04-29  Jim Meyering  <meyering@redhat.com>
45160
45161         * modules/mkdir (License): Re-license as LGPLv2+.
45162
45163 2008-04-29  Bruno Haible  <bruno@clisp.org>
45164
45165         * modules/rawmemchr (Maintainer): Set to Eric.
45166         * modules/strchrnul (Maintainer): Likewise.
45167
45168 2008-04-29  Simon Josefsson  <simon@josefsson.org>
45169
45170         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
45171         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
45172
45173         * modules/arpa_inet (arpa/inet.h): Use them.
45174
45175 2008-04-28  Eric Blake  <ebb9@byu.net>
45176
45177         Test getndelim2.
45178         * modules/getndelim2-tests: New file.
45179         * tests/test-getndelim2.c: Likewise.
45180         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
45181         stream.
45182         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
45183
45184         * MODULES.html.sh: Document new module.
45185
45186 2008-04-20  Bruno Haible  <bruno@clisp.org>
45187
45188         * lib/c-stack.c (die): Use raise.
45189         * modules/c-stack (Depends-on): Add raise.
45190
45191 2008-04-28  Bruno Haible  <bruno@clisp.org>
45192
45193         Expect rpmatch to be declared.
45194         * lib/yesno.c (rpmatch): Remove declaration.
45195
45196         Declare rpmatch.
45197         * lib/stdlib.in.h (rpmatch): New declaration.
45198         * lib/rpmatch.c: Include <stdlib.h> first.
45199         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
45200         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
45201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
45202         HAVE_RPMATCH.
45203         * modules/rpmatch (Depends-on): Add stdlib, extensions.
45204         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
45205         (Include): Set to <stdlib.h>.
45206         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
45207         HAVE_RPMATCH.
45208         * NEWS: Document the change.
45209
45210 2008-04-28  Bruno Haible  <bruno@clisp.org>
45211
45212         Change rpmatch to use nl_langinfo when appropriate.
45213         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
45214         (N_): New macro.
45215         (localized_pattern): New function/macro.
45216         (try): Remove match, nomatch arguments. Copy the pattern into safe
45217         memory before caching it.
45218         (rpmatch): Use localized_pattern. Add translator comments.
45219         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
45220         Suggested by Eric Blake.
45221         * modules/rpmatch (Depends-on): Add stdbool.
45222
45223 2008-04-28  Eric Blake  <ebb9@byu.net>
45224
45225         Add rawmemchr module, matching glibc.
45226         * modules/string (Makefile.am): New indicator.
45227         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
45228         * lib/string.in.h (rawmemchr): Declare when appropriate.
45229         * modules/rawmemchr: New file.
45230         * m4/rawmemchr.m4: Likewise.
45231         * lib/rawmemchr.c: Likewise.
45232         * modules/rawmemchr-tests: Likewise.
45233         * tests/test-rawmemchr.c: Likewise.
45234         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
45235         module.
45236         * modules/strchrnul (Depends-on): Add rawmemchr.
45237         * lib/strchrnul.c (strchrnul): Optimize a corner case.
45238
45239         Whitespace cleanup.
45240         * tests/test-strchrnul.c: Reindent.
45241         * lib/strchrnul.c: Likewise.
45242
45243         Optimize and test strchrnul.
45244         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
45245         * modules/strchrnul-tests: New file.
45246         * tests/test-strchrnul.c: Likewise.
45247
45248         Remove intprops dependency.
45249         * modules/memchr (Depends-on): Remove intprops.
45250         * modules/memrchr (Depends-on): Likewise.
45251         * modules/memchr2 (Depends-on): Likewise.
45252         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
45253         * lib/memrchr.c (__memrchr): Likewise.
45254         * lib/memrchr2.c (memchr2): Likewise.
45255         Reported by Simon Josefsson.
45256
45257 2008-04-28  Simon Josefsson  <simon@josefsson.org>
45258
45259         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
45260         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45261
45262 2008-04-28  Simon Josefsson  <simon@josefsson.org>
45263
45264         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
45265
45266         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
45267
45268         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
45269
45270         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
45271         declarations.
45272         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
45273
45274         * m4/inet_pton.m4: Don't check for header files.
45275
45276         * m4/inet_ntop.m4: Don't check for header files.
45277
45278 2008-04-28  Simon Josefsson  <simon@josefsson.org>
45279
45280         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
45281         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
45282         trigger for cygwin).
45283         Reported by Bruno Haible  <bruno@clisp.org>.
45284
45285 2008-04-28  Bruno Haible  <bruno@clisp.org>
45286
45287         * doc/posix-functions/strdup.texi: Mention mingw problem.
45288
45289 2008-04-27  Bruno Haible  <bruno@clisp.org>
45290
45291         * modules/stat-time-tests (Depends-on): Add sleep.
45292         * tests/test-stat-time.c (force_unlink): New function.
45293         (cleanup): Use it.
45294         (test_mtime): Remove the ctime related tests.
45295         (test_ctime): New function, containing the ctime related tests.
45296         (main): Call test_ctime, except on native Windows platforms.
45297
45298 2008-04-27  Bruno Haible  <bruno@clisp.org>
45299
45300         * lib/rpmatch.c (rpmatch): Add some comments.
45301         Reported by James Youngman <jay@gnu.org>.
45302
45303 2008-04-27  Bruno Haible  <bruno@clisp.org>
45304
45305         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
45306         quiet NaNs.
45307
45308 2008-04-27  Bruno Haible  <bruno@clisp.org>
45309
45310         Make test-yesno.sh work on mingw.
45311         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
45312         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
45313         (main): Set stdin to binary mode.
45314         * modules/yesno-tests (Depends-on): Add binary-io.
45315
45316 2008-04-27  Bruno Haible  <bruno@clisp.org>
45317
45318         Fix 'isfinite' on x86, x86_64, ia64 platforms.
45319         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
45320         argument that lie outside the IEEE 854 domain.
45321         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
45322         (gl_ISFINITE): Use it.
45323         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
45324
45325 2008-04-27  Bruno Haible  <bruno@clisp.org>
45326
45327         Allow local renaming in config.h.
45328         * lib/memrchr.c (memrchr): Don't undefine outside libc.
45329
45330 2008-04-27  Bruno Haible  <bruno@clisp.org>
45331
45332         * lib/memchr.c (__memchr): Change type of 'i'.
45333         * lib/memchr2.c (memchr2): Likewise.
45334
45335 2008-04-26  Eric Blake  <ebb9@byu.net>
45336         and Bruno Haible  <bruno@clisp.org>
45337
45338         Optimize and test memrchr.
45339         * modules/memrchr (Depends-on): Add intprops.
45340         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
45341         * modules/memrchr-tests: New file.
45342         * tests/test-memrchr.c: New file.
45343
45344 2008-04-26  Bruno Haible  <bruno@clisp.org>
45345
45346         Add tentative support for DragonFly BSD.
45347         * lib/stdio-impl.h: Add macros for DragonFly BSD.
45348         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
45349         fp.
45350         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
45351         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
45352         * lib/fpurge.c (fpurge): Likewise.
45353         * lib/freadable.c (freaadable): Likewise.
45354         * lib/freadahead.c (freadahead): Likewise.
45355         * lib/freading.c (freading): Likewise.
45356         * lib/freadptr.c (freadptr): Likewise.
45357         * lib/freadseek.c (freadptrinc): Likewise.
45358         * lib/fseeko.c (fseeko): Likewise.
45359         * lib/fseterr.c (fseterr): Likewise.
45360         * lib/fwritable.c (fwritable): Likewise.
45361         * lib/fwriting.c (fwriting): Likewise.
45362
45363 2008-04-26  Bruno Haible  <bruno@clisp.org>
45364
45365         * lib/stdio-impl.h: New file.
45366         * lib/fbufmode.c: Include stdio-impl.h.
45367         (fbufmode): Use fp_, remove redundant #defines.
45368         * lib/fflush.c: Include stdio-impl.h.
45369         (clear_ungetc_buffer): Remove redundant #defines.
45370         * lib/fpurge.c: Include stdio-impl.h.
45371         (fpurge): Remove redundant #defines.
45372         * lib/freadable.c: Include stdio-impl.h.
45373         (freadable): Remove redundant #defines.
45374         * lib/freadahead.c: Include stdio-impl.h.
45375         (freadahead): Remove redundant #defines.
45376         * lib/freading.c: Include stdio-impl.h.
45377         (freading): Remove redundant #defines.
45378         * lib/freadptr.c: Include stdio-impl.h.
45379         (freadptr): Remove redundant #defines.
45380         * lib/freadseek.c: Include stdio-impl.h.
45381         (freadptrinc): Remove redundant #defines.
45382         * lib/fseeko.c: Include stdio-impl.h.
45383         (rpl_fseeko): Remove redundant #defines.
45384         * lib/fseterr.c: Include stdio-impl.h.
45385         (fseterr): Remove redundant #defines.
45386         * lib/fwritable.c: Include stdio-impl.h.
45387         (fwritable: Remove redundant #defines.
45388         * lib/fwriting.c: Include stdio-impl.h.
45389         (fwriting): Remove redundant #defines.
45390         * modules/fbufmode (Files): Add lib/stdio-impl.h.
45391         * modules/fflush (Files): Likewise.
45392         * modules/fpurge (Files): Likewise.
45393         * modules/freadable (Files): Likewise.
45394         * modules/freadahead (Files): Likewise.
45395         * modules/freading (Files): Likewise.
45396         * modules/freadptr (Files): Likewise.
45397         * modules/freadseek (Files): Likewise.
45398         * modules/fseeko (Files): Likewise.
45399         * modules/fseterr (Files): Likewise.
45400         * modules/fwritable (Files): Likewise.
45401         * modules/fwriting (Files): Likewise.
45402
45403 2008-04-26  Bruno Haible  <bruno@clisp.org>
45404
45405         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
45406         restore_seek_optimization, update_fpos_cache): New functions, extracted
45407         from rpl_fflush.
45408         (rpl_fflush): Use them.
45409         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
45410         (gl_REPLACE_FFLUSH): Use it.
45411
45412 2008-04-26  Bruno Haible  <bruno@clisp.org>
45413
45414         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
45415         on Solaris.
45416         * tests/test-xstrtoimax.sh: Likewise.
45417         * tests/test-xstrtoumax.sh: Likewise.
45418         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45419
45420 2008-04-26  Bruno Haible  <bruno@clisp.org>
45421
45422         * modules/memchr-tests: New file.
45423         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
45424
45425 2008-04-26  Eric Blake  <ebb9@byu.net>
45426             Bruno Haible  <bruno@clisp.org>
45427
45428         * lib/memchr.c: Include intprops.h.
45429         (__memchr): Optimize parallel detection of matching bytes. Rename local
45430         variables. Add explanatory comments.
45431
45432 2008-04-26  Bruno Haible  <bruno@clisp.org>
45433
45434         Fix module 'memchr', broken since 2000-10-28.
45435         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
45436
45437 2008-04-26  Bruno Haible  <bruno@clisp.org>
45438
45439         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
45440         comments.
45441
45442 2008-04-25  Eric Blake  <ebb9@byu.net>
45443
45444         Use native fstatat on cygwin 1.7.0.
45445         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
45446         first.
45447
45448 2008-04-23  Eric Blake  <ebb9@byu.net>
45449
45450         Improve memchr2 performance.
45451         * lib/memchr2.c (memchr2): Further optimize parallel detection of
45452         NUL bytes.
45453         * modules/memchr2 (Depends-on): Use intprops.h.
45454
45455 2008-04-23  Simon Josefsson  <simon@josefsson.org>
45456
45457         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
45458         an inline function instead of a CPP macro.  Patch by Ben Pfaff
45459         <blp@cs.stanford.edu>.
45460
45461 2008-04-23  Simon Josefsson  <simon@josefsson.org>
45462
45463         * lib/arpa_inet.in.h: New file.
45464
45465         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
45466         (Makefile.am): Sed in substitute header file.
45467
45468         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
45469         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
45470
45471         * modules/inet_ntop (configure.ac): Use
45472         gl_ARPA_INET_MODULE_INDICATOR.
45473
45474         * modules/inet_pton (configure.ac): Use
45475         gl_ARPA_INET_MODULE_INDICATOR.
45476
45477 2008-04-22  Jim Meyering  <meyering@redhat.com>
45478
45479         * modules/verify (License): Re-license as LGPLv2+.
45480
45481 2008-04-22  Simon Josefsson  <simon@josefsson.org>
45482
45483         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
45484         parameter to void* as per POSIX standard (MinGW uses char*).
45485
45486 2008-04-21  Bruno Haible  <bruno@clisp.org>
45487
45488         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
45489         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
45490         Define to replacements if REPLACE_ISWCNTRL is 1.
45491         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
45492         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
45493         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
45494         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
45495         what it fixes.
45496         * doc/posix-functions/iswalpha.texi: Likewise.
45497         * doc/posix-functions/iswblank.texi: Likewise.
45498         * doc/posix-functions/iswcntrl.texi: Likewise.
45499         * doc/posix-functions/iswdigit.texi: Likewise.
45500         * doc/posix-functions/iswgraph.texi: Likewise.
45501         * doc/posix-functions/iswlower.texi: Likewise.
45502         * doc/posix-functions/iswprint.texi: Likewise.
45503         * doc/posix-functions/iswpunct.texi: Likewise.
45504         * doc/posix-functions/iswspace.texi: Likewise.
45505         * doc/posix-functions/iswupper.texi: Likewise.
45506         * doc/posix-functions/iswxdigit.texi: Likewise.
45507         Reported by Alain Guibert.
45508
45509 2008-04-21  Bruno Haible  <bruno@clisp.org>
45510
45511         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
45512         Patch by Alain Guibert.
45513
45514 2008-04-21  Bruno Haible  <bruno@clisp.org>
45515
45516         Fix test failures on mingw.
45517         * tests/test-xstrtol.c (print_no_progname): New function.
45518         (main): Install it in error_print_progname hook.
45519         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
45520         * tests/test-xstrtoimax.sh: Likewise.
45521         * tests/test-xstrtoumax.sh: Likewise.
45522
45523 2008-04-21  Bruno Haible  <bruno@clisp.org>
45524
45525         Fix test failure on mingw.
45526         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
45527
45528 2008-04-21  Bruno Haible  <bruno@clisp.org>
45529
45530         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
45531         Actually assign a value.
45532
45533 2008-04-20  Bruno Haible  <bruno@clisp.org>
45534
45535         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
45536         take 2.
45537         * lib/canonicalize.c (canonicalize_file_name): Elide if the
45538         'canonicalize-lgpl' module is also used.
45539         * lib/canonicalize-lgpl.c: Undo last change.
45540         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
45541
45542 2008-04-20  Bruno Haible  <bruno@clisp.org>
45543
45544         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
45545         config.h. Provide _mkdir based fallback for mingw.
45546         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
45547         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
45548         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
45549         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
45550         rather than defining mkdir in config.h.
45551         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
45552         (gl_SYS_STAT_H_DEFAULTS): New macro.
45553         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
45554         HAVE_IO_H any more.
45555         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
45556         HAVE_DECL_MKDIR and HAVE_IO_H.
45557
45558 2008-04-20  Bruno Haible  <bruno@clisp.org>
45559
45560         * lib/isapipe.c: Port to native Windows platforms.
45561
45562 2008-04-20  Bruno Haible  <bruno@clisp.org>
45563
45564         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
45565
45566 2008-04-21  Eric Blake  <ebb9@byu.net>
45567
45568         Work around preprocessors that don't handle UINTMAX_MAX.
45569         * lib/memchr2.c (memchr2): Avoid embedded #if.
45570         Reported by Alain Guibert, fix suggested by Bruno Haible.
45571
45572 2008-04-21  Simon Josefsson  <simon@josefsson.org>
45573
45574         * doc/posix-functions/strftime.texi (strftime): Explain better
45575         Windows incompatibility.  Suggested by Micah Cowan
45576         <micah@cowan.name>.
45577
45578 2008-04-20  Bruno Haible  <bruno@clisp.org>
45579
45580         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
45581         unistr/u8-mblen.
45582
45583 2008-04-20  Bruno Haible  <bruno@clisp.org>
45584
45585         Fix test failure on platforms with non-GNU iconv.
45586         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
45587         (U_TO_U8): Use it, rather than u16_to_u8.
45588         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
45589         units at the end of the input string.
45590         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
45591
45592 2008-04-20  Bruno Haible  <bruno@clisp.org>
45593
45594         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
45595         when the resulting length is 0.
45596         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
45597
45598 2008-04-20  Bruno Haible  <bruno@clisp.org>
45599
45600         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
45601         works.
45602         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
45603
45604 2008-04-20  Bruno Haible  <bruno@clisp.org>
45605
45606         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
45607         * modules/tsearch-tests (configure.ac): Test for initstate function.
45608
45609 2008-04-20  Bruno Haible  <bruno@clisp.org>
45610
45611         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
45612         for nlink_t if missing.
45613         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
45614
45615 2008-04-19  Bruno Haible  <bruno@clisp.org>
45616
45617         Work around snprintf bug on Linux libc5.
45618         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
45619         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
45620         gl_SNPRINTF_SIZE1.
45621         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45622         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
45623         that test failed.
45624         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
45625         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
45626         * modules/snprintf (Files): Add m4/printf.m4.
45627         * modules/vsnprintf (Files): Likewise.
45628         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
45629         * doc/posix-functions/vsnprintf.texi: Likewise.
45630
45631 2008-04-19  Bruno Haible  <bruno@clisp.org>
45632
45633         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
45634         from 0.0058 to less than 10^-7.
45635
45636 2008-04-19  Bruno Haible  <bruno@clisp.org>
45637
45638         Fix rounding when a precision is given.
45639         * lib/vasnprintf.c (is_borderline): New function.
45640         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
45641         9...9x.
45642         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
45643         %e, %g.
45644         * tests/test-vasprintf-posix.c (test_function): Likewise.
45645         * tests/test-snprintf-posix.h (test_function): Likewise.
45646         * tests/test-sprintf-posix.h (test_function): Likewise.
45647         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
45648         * tests/test-printf-posix.h (test_function): Likewise.
45649         * tests/test-printf-posix.output: Update.
45650         Reported by John Darrington <john@darrington.wattle.id.au> via
45651         Ben Pfaff <blp@cs.stanford.edu>.
45652
45653 2008-04-18  Simon Josefsson  <simon@josefsson.org>
45654
45655         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
45656         Suggested by Bruno Haible <bruno@clisp.org>.
45657
45658 2008-04-17  Bruno Haible  <bruno@clisp.org>
45659
45660         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
45661         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
45662         implementation.
45663         Patch by Bruce Merry <bmerry@gmail.com>.
45664
45665 2008-04-17  Simon Josefsson  <simon@josefsson.org>
45666
45667         * doc/posix-functions/strftime.texi (strftime): Mention that %e
45668         doesn't work under Windows.
45669
45670 2008-04-16  Bruno Haible  <bruno@clisp.org>
45671
45672         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
45673         New macros.
45674         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
45675         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
45676         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
45677         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
45678         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
45679         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
45680         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
45681         macros.
45682         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
45683         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
45684         Northern Sotho, Uighur.
45685
45686 2008-04-16  Bruno Haible  <bruno@clisp.org>
45687
45688         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
45689         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
45690         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
45691         Reported by Daniel Bergström <daniel@octocode.com>.
45692
45693 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
45694             Bruno Haible  <bruno@clisp.org>
45695
45696         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
45697         function.
45698         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
45699         New functions, mostly extracted from gl_locale_name_default.
45700         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
45701
45702 2008-04-16  Eric Blake  <ebb9@byu.net>
45703
45704         Adjust strtod detection to catch glibc 2.7 bug.
45705         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
45706         Reported by John Gatewood Ham.
45707
45708 2008-04-16  Bruno Haible  <bruno@clisp.org>
45709
45710         Add tentative support for Linux libc5.
45711         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
45712         * lib/fpurge.c (fpurge): Likewise.
45713         * lib/freadable.c (freadable): Likewise.
45714         * lib/freadahead.c (freadahead): Likewise.
45715         * lib/freading.c (freading): Likewise.
45716         * lib/freadptr.c (freadptr): Likewise.
45717         * lib/freadseek.c (freadptrinc): Likewise.
45718         * lib/fseeko.c (rpl_fseeko): Likewise.
45719         * lib/fseterr.c (fseterr): Likewise.
45720         * lib/fwritable.c (fwritable): Likewise.
45721         * lib/fwriting.c (fwriting): Likewise.
45722         Reported by Alain Guibert <alguibert+bts@free.fr>.
45723
45724 2008-04-15  Bruno Haible  <bruno@clisp.org>
45725
45726         * modules/mathl (configure.ac): Define module indicator.
45727
45728 2008-04-15  Bruno Haible  <bruno@clisp.org>
45729
45730         * lib/logl.c (logl): Remove unused variables.
45731
45732 2008-04-15  Bruno Haible  <bruno@clisp.org>
45733
45734         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
45735         fails.
45736
45737 2008-04-15  Bruno Haible  <bruno@clisp.org>
45738
45739         * lib/trim.c (trim2): Fix argument of isspace() macro.
45740
45741 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
45742
45743         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
45744         to 0.
45745         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
45746
45747 2008-04-14  Bruno Haible  <bruno@clisp.org>
45748
45749         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
45750         AC_LANG_PROGRAM argument.
45751         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
45752         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
45753         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45754         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
45755         * m4/math_h.m4 (gl_MATH_H): Likewise.
45756         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
45757         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
45758         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
45759         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
45760         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
45761         * m4/regex.m4 (gl_REGEX): Likewise.
45762         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
45763         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
45764         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45765         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
45766         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
45767         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45768         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
45769         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
45770
45771 2008-04-14  Jim Meyering  <meyering@redhat.com>
45772
45773         test-strtod: fix typos: s/abs/fabs/
45774         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
45775
45776 2008-04-13  Bruno Haible  <bruno@clisp.org>
45777
45778         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
45779         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
45780         module is also used and while not building the reloc-wrapper.
45781
45782 2008-04-13  Bruno Haible  <bruno@clisp.org>
45783
45784         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
45785
45786 2008-04-13  Bruno Haible  <bruno@clisp.org>
45787
45788         Fix AIX compilation failure introduced on 2008-04-02.
45789         * tests/test-frexp.c (exp): Undefine before redefining.
45790         * tests/test-frexpl.c (exp): Likewise.
45791
45792 2008-04-13  Bruno Haible  <bruno@clisp.org>
45793
45794         Work around a HP-UX stdio bug.
45795         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
45796         * tests/test-ftello.c (main): Likewise.
45797         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
45798         * doc/posix-functions/ftello.texi: Likewise.
45799
45800 2008-04-13  Bruno Haible  <bruno@clisp.org>
45801
45802         Make test-signbit pass on HP-UX/hppa.
45803         * tests/test-signbit.c (minus_zerol): New variable.
45804         (test_signbitl): Use it.
45805
45806 2008-04-13  Bruno Haible  <bruno@clisp.org>
45807
45808         Make truncl work on OSF/1 4.0.
45809         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
45810         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
45811         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
45812         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
45813         HAVE_DECL_TRUNCL.
45814         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
45815         HAVE_DECL_TRUNCL.
45816         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
45817
45818 2008-04-13  Bruno Haible  <bruno@clisp.org>
45819
45820         * lib/unictype.h: Remove trailing comma from enumeration definitions.
45821
45822 2008-04-13  Bruno Haible  <bruno@clisp.org>
45823
45824         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
45825         expression, so as to avoid HP-UX 11 cc compiler bug.
45826
45827 2008-04-13  Bruno Haible  <bruno@clisp.org>
45828
45829         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
45830
45831 2008-04-13  Bruno Haible  <bruno@clisp.org>
45832
45833         * lib/git-merge-changelog.c: Remove empty declaration outside of
45834         functions.
45835
45836 2008-04-13  Bruno Haible  <bruno@clisp.org>
45837
45838         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
45839
45840 2008-04-13  Bruno Haible  <bruno@clisp.org>
45841
45842         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
45843         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
45844         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
45845         also if it exists but lacks definitions of the SHUT_* macros.
45846         * modules/sys_socket (Description): Update.
45847         Reported by Elbert Pol <e.pol@chello.nl>.
45848
45849 2008-04-13  Bruno Haible  <bruno@clisp.org>
45850
45851         * lib/localcharset.c (OS2): Don't redefine if already defined.
45852         Reported by Elbert Pol <e.pol@chello.nl>.
45853
45854 2008-04-13  Bruno Haible  <bruno@clisp.org>
45855
45856         * lib/binary-io.h [__EMX__]: Include <io.h>.
45857         Reported by Elbert Pol <e.pol@chello.nl>.
45858
45859 2008-04-12  Bruno Haible  <bruno@clisp.org>
45860
45861         * lib/fpucw.h: Enable the definitions also for x86_64.
45862         Needed for NetBSD/x86_64.
45863         Reported by Thomas Klausner <tk@giga.or.at>.
45864
45865 2008-04-12  Bruno Haible  <bruno@clisp.org>
45866
45867         * tests/test-strtod.c: Include isnand.h.
45868         (main): Use isnand instead of isnan.
45869         Reported by Jim Meyering.
45870
45871 2008-04-12  Bruno Haible  <bruno@clisp.org>
45872
45873         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
45874         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
45875
45876 2008-04-12  Jim Meyering  <meyering@redhat.com>
45877
45878         * m4/math_h.m4 (gl_MATH_H): Fix typos.
45879
45880 2008-04-12  Bruno Haible  <bruno@clisp.org>
45881
45882         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
45883         Reported by Elbert Pol <e.pol@chello.nl>.
45884
45885 2008-04-12  Eric Blake  <ebb9@byu.net>
45886
45887         Work around Solaris 10 math.h bug.
45888         * m4/math_h.m4 (gl_MATH_H): Check for bug.
45889         (gl_MATH_H_DEFAULTS): Set up default.
45890         * modules/math (Makefile.am): Replace new indicators.
45891         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
45892         * tests/test-math.c (main): Test this.
45893         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
45894         * doc/posix-headers/math.texi (math.h): Mention bug.
45895         Reported by Nelson H. F. Beebe and Jim Meyering.
45896
45897 2008-04-11  Bruno Haible  <bruno@clisp.org>
45898
45899         Adapt to future versions of Apple GCC.
45900         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
45901         Reported by Peter O'Gorman <peter@pogma.com>.
45902
45903 2008-04-11  Bruno Haible  <bruno@clisp.org>
45904
45905         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
45906
45907 2008-04-11  Bruno Haible  <bruno@clisp.org>
45908
45909         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
45910
45911         * modules/getaddrinfo-tests (Makefile.am): Define
45912         test_getaddrinfo_LDADD.
45913
45914 2008-04-11  Bruno Haible  <bruno@clisp.org>
45915
45916         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
45917         (init): Fix syntax error.
45918         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
45919         is declared.
45920
45921 2008-04-11  Bruno Haible  <bruno@clisp.org>
45922
45923         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
45924         * modules/glob (Depends-on): Add stdbool.
45925
45926 2008-04-11  Bruno Haible  <bruno@clisp.org>
45927
45928         * lib/trim.c: Include <string.h>.
45929
45930 2008-04-11  Eric Blake  <ebb9@byu.net>
45931
45932         Avoid compile failure on OS/2.
45933         * lib/regex_internal.h (internal_function): Disable optimization
45934         on OS/2 (__EMX__), where it caused compiler error.
45935         Reported by Elbert Pol.
45936
45937 2008-04-11  Bruno Haible  <bruno@clisp.org>
45938
45939         Flush the standard error stream before aborting. Needed on mingw.
45940         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
45941         * tests/test-array_list.c (ASSERT): Likewise.
45942         * tests/test-array_oset.c (ASSERT): Likewise.
45943         * tests/test-avltree_list.c (ASSERT): Likewise.
45944         * tests/test-avltree_oset.c (ASSERT): Likewise.
45945         * tests/test-avltreehash_list.c (ASSERT): Likewise.
45946         * tests/test-binary-io.c (ASSERT): Likewise.
45947         * tests/test-byteswap.c (ASSERT): Likewise.
45948         * tests/test-c-ctype.c (ASSERT): Likewise.
45949         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
45950         * tests/test-c-strcasestr.c (ASSERT): Likewise.
45951         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
45952         * tests/test-c-strstr.c (ASSERT): Likewise.
45953         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
45954         * tests/test-canonicalize.c (ASSERT): Likewise.
45955         * tests/test-carray_list.c (ASSERT): Likewise.
45956         * tests/test-ceilf1.c (ASSERT): Likewise.
45957         * tests/test-ceilf2.c (ASSERT): Likewise.
45958         * tests/test-ceill.c (ASSERT): Likewise.
45959         * tests/test-count-one-bits.c (ASSERT): Likewise.
45960         * tests/test-fbufmode.c (ASSERT): Likewise.
45961         * tests/test-fflush2.c (ASSERT): Likewise.
45962         * tests/test-floorf1.c (ASSERT): Likewise.
45963         * tests/test-floorf2.c (ASSERT): Likewise.
45964         * tests/test-floorl.c (ASSERT): Likewise.
45965         * tests/test-fopen.c (ASSERT): Likewise.
45966         * tests/test-fpending.c (ASSERT): Likewise.
45967         * tests/test-fprintf-posix.c (ASSERT): Likewise.
45968         * tests/test-fpurge.c (ASSERT): Likewise.
45969         * tests/test-freadable.c (ASSERT): Likewise.
45970         * tests/test-freadahead.c (ASSERT): Likewise.
45971         * tests/test-freading.c (ASSERT): Likewise.
45972         * tests/test-freadptr.c (ASSERT): Likewise.
45973         * tests/test-freadptr2.c (ASSERT): Likewise.
45974         * tests/test-freadseek.c (ASSERT): Likewise.
45975         * tests/test-freopen.c (ASSERT): Likewise.
45976         * tests/test-frexp.c (ASSERT): Likewise.
45977         * tests/test-frexpl.c (ASSERT): Likewise.
45978         * tests/test-fseek.c (ASSERT): Likewise.
45979         * tests/test-fseeko.c (ASSERT): Likewise.
45980         * tests/test-fstrcmp.c (ASSERT): Likewise.
45981         * tests/test-ftell.c (ASSERT): Likewise.
45982         * tests/test-ftello.c (ASSERT): Likewise.
45983         * tests/test-func.c (ASSERT): Likewise.
45984         * tests/test-fwritable.c (ASSERT): Likewise.
45985         * tests/test-fwriting.c (ASSERT): Likewise.
45986         * tests/test-getdelim.c (ASSERT): Likewise.
45987         * tests/test-getline.c (ASSERT): Likewise.
45988         * tests/test-i-ring.c (ASSERT): Likewise.
45989         * tests/test-iconv-utf.c (ASSERT): Likewise.
45990         * tests/test-iconv.c (ASSERT): Likewise.
45991         * tests/test-isfinite.c (ASSERT): Likewise.
45992         * tests/test-isnand.c (ASSERT): Likewise.
45993         * tests/test-isnanf.c (ASSERT): Likewise.
45994         * tests/test-isnanl.h (ASSERT): Likewise.
45995         * tests/test-ldexpl.c (ASSERT): Likewise.
45996         * tests/test-linked_list.c (ASSERT): Likewise.
45997         * tests/test-linkedhash_list.c (ASSERT): Likewise.
45998         * tests/test-localename.c (ASSERT): Likewise.
45999         * tests/test-lseek.c (ASSERT): Likewise.
46000         * tests/test-mbscasecmp.c (ASSERT): Likewise.
46001         * tests/test-mbscasestr1.c (ASSERT): Likewise.
46002         * tests/test-mbscasestr2.c (ASSERT): Likewise.
46003         * tests/test-mbscasestr3.c (ASSERT): Likewise.
46004         * tests/test-mbscasestr4.c (ASSERT): Likewise.
46005         * tests/test-mbschr.c (ASSERT): Likewise.
46006         * tests/test-mbscspn.c (ASSERT): Likewise.
46007         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
46008         * tests/test-mbspbrk.c (ASSERT): Likewise.
46009         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
46010         * tests/test-mbsrchr.c (ASSERT): Likewise.
46011         * tests/test-mbsspn.c (ASSERT): Likewise.
46012         * tests/test-mbsstr1.c (ASSERT): Likewise.
46013         * tests/test-mbsstr2.c (ASSERT): Likewise.
46014         * tests/test-mbsstr3.c (ASSERT): Likewise.
46015         * tests/test-memchr2.c (ASSERT): Likewise.
46016         * tests/test-memmem.c (ASSERT): Likewise.
46017         * tests/test-open.c (ASSERT): Likewise.
46018         * tests/test-printf-frexp.c (ASSERT): Likewise.
46019         * tests/test-printf-frexpl.c (ASSERT): Likewise.
46020         * tests/test-printf-posix.c (ASSERT): Likewise.
46021         * tests/test-quotearg.c (ASSERT): Likewise.
46022         * tests/test-rbtree_list.c (ASSERT): Likewise.
46023         * tests/test-rbtree_oset.c (ASSERT): Likewise.
46024         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
46025         * tests/test-round1.c (ASSERT): Likewise.
46026         * tests/test-roundf1.c (ASSERT): Likewise.
46027         * tests/test-roundl.c (ASSERT): Likewise.
46028         * tests/test-signbit.c (ASSERT): Likewise.
46029         * tests/test-sleep.c (ASSERT): Likewise.
46030         * tests/test-snprintf-posix.c (ASSERT): Likewise.
46031         * tests/test-snprintf.c (ASSERT): Likewise.
46032         * tests/test-sprintf-posix.c (ASSERT): Likewise.
46033         * tests/test-stat-time.c (ASSERT): Likewise.
46034         * tests/test-strcasestr.c (ASSERT): Likewise.
46035         * tests/test-strerror.c (ASSERT): Likewise.
46036         * tests/test-striconv.c (ASSERT): Likewise.
46037         * tests/test-striconveh.c (ASSERT): Likewise.
46038         * tests/test-striconveha.c (ASSERT): Likewise.
46039         * tests/test-strsignal.c (ASSERT): Likewise.
46040         * tests/test-strstr.c (ASSERT): Likewise.
46041         * tests/test-strtod.c (ASSERT): Likewise.
46042         * tests/test-trunc1.c (ASSERT): Likewise.
46043         * tests/test-trunc2.c (ASSERT): Likewise.
46044         * tests/test-truncf1.c (ASSERT): Likewise.
46045         * tests/test-truncf2.c (ASSERT): Likewise.
46046         * tests/test-truncl.c (ASSERT): Likewise.
46047         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
46048         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
46049         * tests/test-vasnprintf.c (ASSERT): Likewise.
46050         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
46051         * tests/test-vasprintf.c (ASSERT): Likewise.
46052         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
46053         * tests/test-vprintf-posix.c (ASSERT): Likewise.
46054         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
46055         * tests/test-vsnprintf.c (ASSERT): Likewise.
46056         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
46057         * tests/test-wcwidth.c (ASSERT): Likewise.
46058         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
46059         * tests/test-xprintf-posix.c (ASSERT): Likewise.
46060         * tests/test-xvasprintf.c (ASSERT): Likewise.
46061         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
46062         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
46063         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
46064         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
46065         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
46066         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
46067         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
46068         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
46069         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
46070         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
46071         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
46072         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
46073         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
46074         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
46075         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
46076         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
46077         * tests/unictype/test-block_list.c (ASSERT): Likewise.
46078         * tests/unictype/test-block_of.c (ASSERT): Likewise.
46079         * tests/unictype/test-block_test.c (ASSERT): Likewise.
46080         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
46081         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
46082         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
46083         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
46084         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
46085         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
46086         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
46087         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
46088         * tests/unictype/test-combining.c (ASSERT): Likewise.
46089         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
46090         * tests/unictype/test-digit.c (ASSERT): Likewise.
46091         * tests/unictype/test-mirror.c (ASSERT): Likewise.
46092         * tests/unictype/test-numeric.c (ASSERT): Likewise.
46093         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
46094         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
46095         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
46096         * tests/unictype/test-scripts.c (ASSERT): Likewise.
46097         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
46098         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
46099         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
46100         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
46101         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
46102         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
46103         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
46104         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
46105         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
46106         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
46107         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
46108         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
46109         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
46110         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
46111         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
46112         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
46113         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
46114         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
46115         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
46116         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
46117         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
46118         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
46119         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
46120         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
46121         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
46122         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
46123         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
46124         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
46125         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
46126         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
46127         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
46128         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
46129         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
46130         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
46131         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
46132         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
46133         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
46134         Reported by Eric Blake.
46135
46136 2008-04-11  Bruno Haible  <bruno@clisp.org>
46137
46138         * lib/wchar.in.h: Tweak comment.
46139
46140 2008-04-11  Bruno Haible  <bruno@clisp.org>
46141
46142         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
46143         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
46144         gl_COMMON.
46145         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
46146
46147 2008-04-11  Bruno Haible  <bruno@clisp.org>
46148
46149         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
46150
46151 2008-04-11  Simon Josefsson  <simon@josefsson.org>
46152
46153         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
46154         of attempting to use non-existing /dev/*random.  Based on patch
46155         from Adam Strzelecki <ono@java.pl> in
46156         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
46157
46158 2008-04-08  Bruno Haible  <bruno@clisp.org>
46159
46160         Add tentative support for emx+gcc.
46161         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
46162         * lib/fpurge.c (fpurge): Likewise.
46163         * lib/freadable.c (freadable): Likewise.
46164         * lib/freadahead.c (freadahead): Likewise.
46165         * lib/freading.c (freading): Likewise.
46166         * lib/freadptr.c (freadptr): Likewise.
46167         * lib/freadseek.c (freadptrinc): Likewise.
46168         * lib/fseeko.c (rpl_fseeko): Likewise.
46169         * lib/fseterr.c (fseterr): Likewise.
46170         * lib/fwritable.c (fwritable): Likewise.
46171         * lib/fwriting.c (fwriting): Likewise.
46172         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
46173
46174 2008-04-09  Eric Blake  <ebb9@byu.net>
46175
46176         Avoid some autoconf warnings.
46177         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
46178         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
46179         * m4/afs.m4 (gl_AFS): Likewise.
46180         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
46181         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
46182         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46183         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
46184         (gl_INTEGER_TYPE_SUFFIX): Likewise.
46185         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
46186         (AC_CHECK_DECLS_ONCE): Likewise.
46187         Rename file...
46188         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
46189         gnulib-tool requires autoconf 2.59 or better.
46190         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
46191
46192 2008-04-08  Eric Blake  <ebb9@byu.net>
46193
46194         Use 'git describe --match' if present (added in git 1.5.5).
46195         * build-aux/git-version-gen: Limit result to tags that match 'v*'
46196         if possible.
46197
46198 2008-04-08  Bruno Haible  <bruno@clisp.org>
46199
46200         Add tentative support for OpenServer.
46201         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
46202         _ptr, _cnt.
46203         * lib/fpurge.c (fpurge): Likewise.
46204         * lib/freadable.c (freadable): Likewise.
46205         * lib/freadahead.c (freadahead): Likewise.
46206         * lib/freading.c (freading): Likewise.
46207         * lib/freadptr.c (freadptr): Likewise.
46208         * lib/freadseek.c (freadptrinc): Likewise.
46209         * lib/fseeko.c (rpl_fseeko): Likewise.
46210         * lib/fseterr.c (fseterr): Likewise.
46211         * lib/fwritable.c (fwritable): Likewise.
46212         * lib/fwriting.c (fwriting): Likewise.
46213         Reported by Roger Cornelius <rac@tenzing.org> and
46214         Brian K. White <brian@aljex.com>.
46215
46216 2008-04-06  Jim Meyering  <meyering@redhat.com>
46217
46218         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
46219
46220 2008-04-06  Bruno Haible  <bruno@clisp.org>
46221
46222         Avoid possible error with non-ASCII bytes in UTF-8 locales.
46223         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
46224         * tests/test-printf-posix.sh: Likewise.
46225         * tests/test-vfprintf-posix.sh: Likewise.
46226         * tests/test-vprintf-posix.sh: Likewise.
46227         * tests/test-xprintf-posix.sh: Likewise.
46228
46229 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46230
46231         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
46232         hide error from 'ls', needed on OS/2.
46233         Report by Elbert Pol <elbert.pol@gmail.com>.
46234
46235 2008-04-04  Eric Blake  <ebb9@byu.net>
46236
46237         Make test-fseeko.c failures meaningful.
46238         * tests/test-fseeko.c: Print line number on failure.
46239         * tests/test-fseek.c: Likewise.
46240         Reported by Nelson H. F. Beebe.
46241
46242         Improve strtod bug detection check.
46243         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
46244         required for Solaris 10.
46245         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
46246
46247 2008-04-04  Bruno Haible  <bruno@clisp.org>
46248
46249         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
46250         by m4/setenv.m4.
46251
46252 2008-04-03  Eric Blake  <ebb9@byu.net>
46253
46254         Ensure sane .version contents.
46255         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
46256         version string.
46257         * build-aux/git-version-gen: Improve documentation.
46258
46259         Make GNU make output nicer.
46260         * top/GNUmakefile [!_have-Makefile]: Add dependency on
46261         MAKECMDGOALS to enforce message for all command line targets.  Set
46262         srcdir for use in maint.mk.
46263
46264         Another maintainer tweak.
46265         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
46266         a target that regenerates version.
46267
46268 2008-04-03  Jim Meyering  <meyering@redhat.com>
46269
46270         vc-list-files: don't cause coreutils "make po-check" failure
46271         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
46272
46273 2008-04-03  Eric Blake  <ebb9@byu.net>
46274
46275         Allow VPATH usage of vc-list-files.
46276         * build-aux/vc-list-files (scriptversion): Add timestamp.
46277         (options): Add --help, --version, -C.
46278         (CVS): Support installed cvsu.
46279
46280 2008-04-02  Bruno Haible  <bruno@clisp.org>
46281
46282         Avoid some "statement with no effect" warnings from gcc.
46283         * tests/test-wctype.c (main): Explicitly ignore unused values.
46284         Reported by Jim Meyering.
46285
46286 2008-04-02  Jim Meyering  <meyering@redhat.com>
46287
46288         Avoid some warnings from "gcc -Wshadow".
46289         * tests/test-frexp.c (exp): Define to a different identifier.
46290         * tests/test-frexpl.c (exp): Likewise.
46291
46292 2008-04-03  Jim Meyering  <meyering@redhat.com>
46293
46294         bootstrap: remove dangling *.[ch] symlinks from lib
46295         * build-aux/bootstrap [dangling symlink removal]: Move find's
46296         -depth option to precede all others, to avoid a warning.
46297         Remove *.[ch] files too, and from "$source_base" (usually lib/).
46298
46299 2008-04-02  Bruno Haible  <bruno@clisp.org>
46300
46301         Avoid some warnings from "gcc -Wshadow".
46302         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
46303         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
46304         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
46305         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
46306         Reported by Jim Meyering.
46307
46308 2008-04-01  Bruno Haible  <bruno@clisp.org>
46309
46310         Fix test to work on IRIX 6.5 with cc.
46311         * tests/test-math.c (numeric_equal): New function.
46312         (main): Use it.
46313
46314 2008-04-01  Bruno Haible  <bruno@clisp.org>
46315
46316         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
46317
46318 2008-04-01  Bruno Haible  <bruno@clisp.org>
46319
46320         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
46321         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
46322         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
46323         (Depends-on): Remove math.
46324
46325         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
46326         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
46327         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
46328         (Depends-on): Remove math.
46329
46330         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
46331         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
46332         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
46333         (Depends-on): Remove math.
46334         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
46335         (Depends-on): Remove math.
46336
46337         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
46338         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
46339         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
46340         (Depends-on): Remove math.
46341         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
46342         (Depends-on): Remove math.
46343
46344         * tests/test-round1.c: Include nan.h.
46345         (main): Use NaNd instead of NAN.
46346         * modules/round-tests (Files): Add tests/nan.h.
46347
46348         * tests/test-trunc1.c: Include nan.h.
46349         (main): Use NaNd instead of NAN.
46350         * modules/trunc-tests (Files): Add tests/nan.h.
46351
46352         * tests/test-roundf1.c: Include nan.h.
46353         (main): Use NaNf instead of NAN.
46354         * modules/roundf-tests (Files): Add tests/nan.h.
46355
46356         * tests/test-truncf1.c: Include nan.h.
46357         (main): Use NaNf instead of NAN.
46358         * modules/truncf-tests (Files): Add tests/nan.h.
46359
46360         * tests/test-ceilf1.c: Include nan.h.
46361         (main): Use NaNf instead of NAN.
46362         * modules/ceilf-tests (Files): Add tests/nan.h.
46363
46364         * tests/test-floorf1.c: Include nan.h.
46365         (main): Use NaNf instead of NAN.
46366         * modules/floorf-tests (Files): Add tests/nan.h.
46367
46368         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
46369         (main): Use NaNf instead of NAN.
46370         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
46371
46372         * tests/test-isnand.c: Include nan.h instead of <math.h>.
46373         (main): Use NaNd instead of NAN.
46374         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
46375
46376         * tests/test-frexp.c: Include nan.h.
46377         (main): Use NaNd instead of NAN.
46378         * modules/frexp-tests (Files): Add tests/nan.h.
46379
46380         * lib/isnan.c: Don't include <math.h>.
46381         (FUNC): Don't use NAN macro.
46382         * modules/isnand-nolibm (Depends-on): Remove math.
46383         * modules/isnanf-nolibm (Depends-on): Remove math.
46384         * modules/isnanl (Depends-on): Remove math.
46385         * modules/isnanl-nolibm (Depends-on): Remove math.
46386
46387         * tests/nan.h: New file.
46388
46389 2008-04-01  Eric Blake  <ebb9@byu.net>
46390
46391         Fix typos.
46392         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
46393         values to be the right type.
46394
46395         For now, cater to gnulib strtod inaccuracies.
46396         * tests/test-strtod.c (main): Allow 1-ulp error on expected
46397         fractional results.  While not as nice from a QoI perspective, it
46398         is a quicker patch than correctly implementing decimal to binary
46399         rounding.
46400
46401 2008-03-31  Eric Blake  <ebb9@byu.net>
46402
46403         Guarantee a definition of NAN.
46404         * lib/math.in.h (NAN): Define if missing.
46405         * tests/test-math.c (main): Test it.
46406         * doc/posix-headers/math.texi (math.h): Document this.
46407         * lib/isnan.c (rpl_isnand): Use it.
46408         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
46409         * tests/test-floorf1.c (NaN): Likewise.
46410         * tests/test-frexp.c (NaN): Likewise.
46411         * tests/test-isnand.c (NaN): Likewise.
46412         * tests/test-isnanf.c (NaN): Likewise.
46413         * tests/test-round1.c (NaN): Likewise.
46414         * tests/test-roundf1.c (NaN): Likewise.
46415         * tests/test-snprintf-posix.h (NaN): Likewise.
46416         * tests/test-sprintf-posix.h (NaN): Likewise.
46417         * tests/test-trunc1.c (NaN): Likewise.
46418         * tests/test-truncf1.c (NaN): Likewise.
46419         * tests/test-vasnprintf-posix.c (NaN): Likewise.
46420         * tests/test-vasprintf-posix.c (NaN): Likewise.
46421         * modules/isnand-nolibm (Depends-on): Add math.
46422         * modules/isnanf-nolibm (Depends-on): Likewise.
46423         * modules/isnanl (Depends-on): Likewise.
46424         * modules/isnanl-nolibm (Depends-on): Likewise.
46425         * modules/snprintf-posix-tests (Depends-on): Likewise.
46426         * modules/sprintf-posix-tests (Depends-on): Likewise.
46427         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
46428         * modules/vsprintf-posix-tests (Depends-on): Likewise.
46429         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
46430         * modules/vasprintf-posix-tests (Depends-on): Likewise.
46431
46432 2008-03-31  Bruno Haible  <bruno@clisp.org>
46433
46434         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
46435         * doc/posix-functions/strtod.texi: Likewise.
46436
46437 2008-03-31  Bruno Haible  <bruno@clisp.org>
46438
46439         * tests/test-strtod.c (main): Don't use C99 syntax.
46440
46441 2008-03-31  Bruno Haible  <bruno@clisp.org>
46442
46443         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
46444         Reported by Eric Blake.
46445
46446 2008-03-31  Jim Meyering  <meyering@redhat.com>
46447
46448         Don't compare actual signbit return values.
46449         * tests/test-strtod.c (main): Rather, compare only their
46450         zero/non-zero nature.
46451
46452 2008-03-31  Eric Blake  <ebb9@byu.net>
46453
46454         More strtod documentation.
46455         * doc/posix-functions/strtod.texi (strtod): Interpret more test
46456         failures as distinct bugs.
46457
46458 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
46459
46460         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
46461         Problem reported by Erik Benada in
46462         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
46463
46464 2008-03-30  Bruno Haible  <bruno@clisp.org>
46465
46466         * tests/test-strtod.c: Add comments about which assertion fails on which
46467         platform.
46468         * doc/posix-functions/strtod.texi: Add info about many more platforms.
46469
46470 2008-03-30  Eric Blake  <ebb9@byu.net>
46471
46472         Test signbit behavior on zeros.
46473         * tests/test-signbit.c (test_signbitf): Add tests for zero.
46474         (test_signbitd, test_signbitl): Likewise.
46475
46476         More strtod touchups.
46477         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
46478         sign of negative underflow, for now.  Use .5, not .1.
46479         * doc/posix-functions/strtod.texi (strtod): Mention these
46480         limitations.
46481         Reported by Jim Meyering.
46482
46483 2008-03-30  Bruno Haible  <bruno@clisp.org>
46484
46485         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
46486         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
46487
46488 2008-03-30  Bruno Haible  <bruno@clisp.org>
46489
46490         Avoid failure when attempting to return empty iconv results on some
46491         platforms.
46492         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
46493         allocation, don't report ENOMEM when the resulting string is empty.
46494
46495 2008-03-30  Bruno Haible  <bruno@clisp.org>
46496
46497         Fix buffer overrun.
46498         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
46499         Don't consider the width for tmp_length. Check count against tmp_length
46500         before doing the padding. Ensure enough allocation during padding.
46501
46502 2008-03-30  Eric Blake  <ebb9@byu.net>
46503
46504         strtod touchups.
46505         * lib/strtod.c (strtod): Avoid compiler warnings.
46506         Reported by Jim Meyering.
46507
46508 2008-03-30  Bruno Haible  <bruno@clisp.org>
46509
46510         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
46511         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
46512         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
46513         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
46514         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
46515         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
46516         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
46517         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
46518
46519         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
46520         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
46521         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
46522         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
46523         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
46524         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
46525         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
46526         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
46527
46528         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
46529         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
46530         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
46531         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
46532         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
46533         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
46534         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
46535         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
46536
46537         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
46538         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
46539
46540         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
46541         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
46542
46543         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
46544         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
46545
46546         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
46547         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
46548         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
46549
46550         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
46551         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
46552         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
46553
46554         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
46555         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
46556         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
46557
46558         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
46559         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
46560         * modules/vasprintf (Depends-on): Add EOVERFLOW.
46561
46562         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
46563         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
46564         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
46565         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
46566         (Depends-on): Add EOVERFLOW.
46567         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
46568         (Depends-on): Add EOVERFLOW.
46569         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
46570         (Depends-on): Add EOVERFLOW.
46571         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
46572         (Depends-on): Add EOVERFLOW.
46573         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
46574         (Depends-on): Add EOVERFLOW.
46575         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
46576         (Depends-on): Add EOVERFLOW.
46577         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
46578         (Depends-on): Add EOVERFLOW.
46579         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
46580         (Depends-on): Add EOVERFLOW.
46581
46582         * lib/sprintf.c (EOVERFLOW): Remove fallback.
46583         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
46584         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
46585
46586         * lib/snprintf.c (EOVERFLOW): Remove fallback.
46587         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
46588         * modules/snprintf (Depends-on): Add EOVERFLOW.
46589
46590         * lib/poll.c (EOVERFLOW): Remove fallback.
46591         * modules/poll (Depends-on): Add EOVERFLOW.
46592
46593         * lib/getugroups.c (EOVERFLOW): Remove fallback.
46594         * modules/getugroups (Depends-on): Add EOVERFLOW.
46595
46596         * lib/getdelim.c (EOVERFLOW): Remove fallback.
46597         * modules/getdelim (Depends-on): Add EOVERFLOW.
46598
46599         * lib/ftell.c (EOVERFLOW): Remove fallback.
46600         * modules/ftell (Depends-on): Add EOVERFLOW.
46601
46602         * lib/fprintf.c (EOVERFLOW): Remove fallback.
46603         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
46604         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
46605
46606         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
46607
46608         * modules/EOVERFLOW-tests: New file.
46609         * tests/test-EOVERFLOW.c: New file.
46610
46611         * modules/EOVERFLOW: New file.
46612         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
46613
46614 2008-03-30  Bruno Haible  <bruno@clisp.org>
46615
46616         Fix bug introduced on 2007-06-10.
46617         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
46618         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
46619
46620 2008-03-30  Bruno Haible  <bruno@clisp.org>
46621
46622         Improve freadseek's efficiency after ungetc.
46623         * lib/freadseek.c: Include freadahead.h.
46624         (freadptrinc): New function, extracted from freadseek.
46625         (freadseek): Use it in a loop. Use freadahead to determine the number
46626         of loop iterations.
46627         * modules/freadseek (Depends-on): Add freadahead.
46628         (configure.ac): Require AC_C_INLINE.
46629
46630 2008-03-30  Bruno Haible  <bruno@clisp.org>
46631
46632         * lib/freadseek.c (freadseek): Don't ignore the return value of
46633         freadptr.
46634
46635 2008-03-29  Eric Blake  <ebb9@byu.net>
46636
46637         Add hex float support.
46638         * modules/strtod (Depends-on): Add c-ctype.
46639         (Link): Mention POW_LIB.
46640         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
46641         whitespace between 'e' and exponent.
46642         * tests/test-strtod.c (main): Enable hex float tests.
46643         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
46644         now provides.
46645
46646         Document various strtod bugs, with some fixes.
46647         * doc/posix-functions/strtod.texi (strtod): Document bugs with
46648         "-0x", "inf", "nan", and hex constants.
46649         * doc/posix-functions/atof.texi (atof): Likewise.
46650         * modules/stdlib (Makefile.am): Support strtod.
46651         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
46652         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
46653         detect additional strtod bugs.
46654         * lib/stdlib.in.h (rpl_strtod): Add declarations.
46655         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
46656         bool where appropriate.  Parse 'inf' and 'nan'.
46657         * tests/test-strtod.c: New file.
46658         * modules/strtod (Depends-on): Add stdbool, stdlib.
46659         (configure.ac): Turn on module indicator.
46660         * modules/strtod-tests: New module.
46661
46662 2008-03-29  Eric Blake  <ebb9@byu.net>
46663
46664         Fix ftell on mingw.
46665         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
46666         * modules/ftell-tests (Depends-on): Add binary-io.
46667         * modules/ftello-tests (Depends-on): Likewise.
46668         * tests/test-ftell.c (main): Enhance test to cover behavior after
46669         ungetc.  Enforce binary mode.
46670         * tests/test-ftello.c (main): Likewise.
46671
46672         Pass test-freadseek on cygwin.
46673         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
46674         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
46675         ungetc buffer.
46676
46677         * tests/test-fflush2.c (main): Fix typo.
46678
46679 2008-03-29  Bruno Haible  <bruno@clisp.org>
46680
46681         * tests/test-fflush2.c (main): Temporarily disable the contents of
46682         this test.
46683         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
46684         Reported by Eric Blake.
46685
46686 2008-03-28  Simon Josefsson  <simon@josefsson.org>
46687
46688         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
46689         (GC_SHA224_DIGEST_SIZE): Add.
46690
46691         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
46692         (gc_hash_digest_length): Likewise.
46693         (gc_hash_buffer): Likewise.
46694
46695 2008-03-25  Bruno Haible  <bruno@clisp.org>
46696
46697         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
46698         detail which gettext release to use.
46699         Reported by Simon Josefsson.
46700
46701 2008-03-26  Jim Meyering  <meyering@redhat.com>
46702
46703         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
46704         * modules/gnumakefile (clean-GNUmakefile): Also, use
46705         test ... && ... || : syntax rather than if-then ... fi.
46706
46707         gnumakefile: Don't double-quote-expand $(VPATH) value.
46708         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
46709
46710 2008-03-24  Eric Blake  <ebb9@byu.net>
46711
46712         Alter GNUmakefile to install into top directory.
46713         * modules/maintainer-makefile: Split, and add dependency...
46714         * modules/gnumakefile: to this new module.
46715         * build-aux/GNUmakefile: Move...
46716         * top/GNUmakefile: ...here.
46717         * build-aux/maint.mk: Move...
46718         * top/maint.mk: ...here.
46719         * MODULES.html.sh (Support for maintaining...): Document new
46720         module.
46721
46722 2008-03-23  Bruno Haible  <bruno@clisp.org>
46723
46724         * gnulib-tool: New options --vc-files, --no-vc-files.
46725         (func_usage): Document them.
46726         (vc_files): New variable.
46727         (func_import): Consider vc_files.
46728         (func_create_testdir): Set vc_files to empty.
46729         Suggested by Jim Meyering and Karl Berry.
46730
46731 2008-03-23  Bruno Haible  <bruno@clisp.org>
46732
46733         Fix regex compilation error on HP-UX 11.
46734         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
46735         * modules/regex (Files): Add m4/mbstate_t.m4.
46736         Reported by Ton Voon <ton.voon@altinity.com>.
46737
46738 2008-03-23  Bruno Haible  <bruno@clisp.org>
46739
46740         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
46741
46742 2008-03-23  Eric Blake  <ebb9@byu.net>
46743             Bruno Haible  <bruno@clisp.org>
46744
46745         Install files from top/ in the destination directory.
46746         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
46747         augmentation also for the files from top/.
46748         (func_import, func_create_testdir): Rewrite file names:
46749         top/filename -> filename.
46750
46751 2008-03-23  Bruno Haible  <bruno@clisp.org>
46752
46753         Tweak "gnulib --version" output.
46754         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
46755
46756 2008-03-23  Bruno Haible  <bruno@clisp.org>
46757
46758         Tweak "gnulib --version" output.
46759         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
46760         rather than contents of ChangeLog, when possible.
46761
46762 2008-03-21  Eric Blake  <ebb9@byu.net>
46763
46764         More --version tweaks.
46765         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
46766         date of last ChangeLog entry.
46767
46768 2008-03-21  Jim Meyering  <meyering@redhat.com>
46769
46770         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
46771
46772 2008-03-20  Eric Blake  <ebb9@byu.net>
46773
46774         VPATH fix.
46775         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
46776
46777 2008-03-20  Simon Josefsson  <simon@josefsson.org>
46778
46779         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
46780         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
46781
46782 2008-03-20  Eric Blake  <ebb9@byu.net>
46783
46784         Sync GNUmakefile with coreutils.
46785         * build-aux/GNUmakefile (have-Makefile): Rename...
46786         (_have-Makefile): ...to this, for namespace consideration.
46787         (GNUmakefile.cfg): Include, if present.
46788         (_autoreconf): Define a default.
46789         (_is-dist-target): New rule for rebuilds to pick up intra-release
46790         version.
46791         (maint-cfg.mk): Rename...
46792         (cfg.mk): ...to this.
46793
46794 2008-03-18  Jim Meyering  <meyering@redhat.com>
46795
46796         New script and module: mktempd
46797         * MODULES.html.sh (maint+release support): Add mktempd.
46798         * build-aux/mktempd: New file.
46799         * modules/mktempd: New file.
46800
46801 2008-03-15  Jim Meyering  <meyering@redhat.com>
46802
46803         Undo last change.
46804         * lib/sha1.c, lib/md5.c: 63 != ~63.
46805         Reported by Andreas Schwab.
46806
46807         sha1.c, md5.c: Hoist a redundant expression.
46808         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
46809         "ctx->buflen" only once, before calling *_process_block.
46810         * lib/md5.c (md5_process_bytes): Likewise.
46811
46812 2008-03-14  Eric Blake  <ebb9@byu.net>
46813
46814         Bump copyright year in files generated by gnulib-tool.
46815         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
46816         gnulib-tool, rather than hard-coding it.
46817
46818         Fix 'gnulib-tool --version' output to work with git.
46819         * gnulib-tool (func_gnulib_dir): New function, extracted from...
46820         (startup): ...here.
46821         (func_version): Use it to invoke git-version-gen, rather than
46822         relying on CVS keyword expansion.  Modernize wording.
46823         (cvsdatestamp, last_checkin_date, version): Kill unused
46824         variables.
46825
46826 2008-03-12  Jim Meyering  <meyering@redhat.com>
46827
46828         Recognize optional cast of the argument to free.
46829         * build-aux/useless-if-before-free: Update regexps.
46830
46831         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
46832
46833 2008-03-11  Bruno Haible  <bruno@clisp.org>
46834
46835         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
46836         by a single package.
46837         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
46838         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
46839         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
46840         Reported by Sam Steingold <sds@gnu.org>.
46841
46842 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46843
46844         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
46845         repositories.
46846
46847 2008-03-11  Bruno Haible  <bruno@clisp.org>
46848
46849         Avoid conflicts between local macro definitions.
46850         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
46851         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
46852
46853 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
46854             Bruno Haible  <bruno@clisp.org>
46855
46856         Make va_copy work with some version of xlc on AIX 5.1.
46857         * lib/stdarg.in.h: New file.
46858         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
46859         On AIX, use a <stdarg.h> file substitute.
46860         * modules/stdarg (Files): Add lib/stdarg.in.h.
46861         (Depends-on): Add include_next.
46862         (Makefile.am): Build a stdarg.h substitute if requested.
46863         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
46864
46865 2008-03-10  Bruno Haible  <bruno@clisp.org>
46866
46867         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
46868         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46869         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
46870
46871 2008-03-10  Bruno Haible  <bruno@clisp.org>
46872
46873         * modules/stdlib (Depends-on): Add include_next, remove
46874         absolute-header.
46875
46876 2008-03-09  Bruno Haible  <bruno@clisp.org>
46877
46878         * lib/freadahead.h (freadahead): Document more precisely.
46879         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
46880         the sum of both buffer sizes.
46881         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
46882         * NEWS: Document the change.
46883
46884 2008-03-09  Bruno Haible  <bruno@clisp.org>
46885
46886         Extend freadptr to return also the buffer size.
46887         * lib/freadptr.h (freadptr): Add sizep argument.
46888         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
46889         (freadptr): Add sizep argument. Determine buffer size like freadahead
46890         does.
46891         * tests/test-freadptr.c: Don't include freadahead.h.
46892         (main): Adapt for new calling convention of freadptr.
46893         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
46894         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
46895         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
46896         tests/test-freadptr2.sh.
46897         (Depends): Remove freadahead.
46898         (TESTS): Add test-freadptr2.sh.
46899         (check_PROGRAMS): Add test-freadptr2.
46900
46901 2008-03-09  Bruno Haible  <bruno@clisp.org>
46902
46903         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
46904         Report and solution by Simon Josefsson.
46905
46906 2008-03-06  Bruno Haible  <bruno@clisp.org>
46907
46908         Make fflush after ungetc work on BSD platforms.
46909         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
46910         * tests/test-fflush2.c: New file.
46911         * tests/test-fflush2.sh: New file.
46912         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
46913         tests/test-fflush2.c.
46914         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
46915         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
46916
46917 2008-03-06  Eric Blake  <ebb9@byu.net>
46918
46919         Likewise for ftello.
46920         * modules/ftello (Dependencies): Add extensions.
46921         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
46922
46923 2008-03-06  Bruno Haible  <bruno@clisp.org>
46924
46925         * modules/fseeko (Dependencies): Add extensions.
46926         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
46927         Needed on glibc systems.
46928
46929 2008-03-06  Bruno Haible  <bruno@clisp.org>
46930
46931         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
46932         email address.
46933         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
46934
46935 2008-03-06  Bruno Haible  <bruno@clisp.org>
46936
46937         * users.txt: Add libgnupdf.
46938
46939 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
46940
46941         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
46942         (Header File Substitutes, Function Substitutes,
46943         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
46944         (Build robot for gnulib): Fix typo.
46945
46946 2008-03-06  Bruno Haible  <bruno@clisp.org>
46947
46948         * doc/gnulib-tool.texi (VCS Issues): Small updates.
46949         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
46950
46951 2008-03-06  Bruno Haible  <bruno@clisp.org>
46952
46953         * doc/func.texi: New file, extracted from doc/gnulib.texi.
46954         * doc/gnulib.texi: Include it.
46955
46956 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46957
46958         * modules/func (License): Change license to unlimited; there was
46959         no LGPL parts in the module anyway.
46960
46961 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46962
46963         * modules/__func__: Renamed to modules/func.
46964         * modules/__func__-tests: Renamed to modules/func-tests.
46965         * tests/test-__func__.c: Renamed to tests/test-func.c.
46966         * m4/__func__.m4: Renamed to m4/func.m4.
46967         * doc/gnulib.texi (__func__): Section renamed to func.
46968         Suggested by Eric Blake <ebb9@byu.net>.
46969
46970 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46971
46972         * doc/gnulib.texi (__func__): Use C99 terminology when talking
46973         about __func__.  Make example self-contained.  Suggested by Eric
46974         Blake <ebb9@byu.net>.
46975
46976         * tests/test-__func__.c (main): Avoid extraneous () around __func.
46977         Suggested by Eric Blake <ebb9@byu.net>.
46978
46979 2008-03-06  Simon Josefsson  <simon@josefsson.org>
46980
46981         * modules/__func__: New file.
46982         * modules/__func__-tests: New file.
46983         * tests/test-__func__.c: New file.
46984         * m4/__func__.m4: New file.
46985         * doc/gnulib.texi (__func__): Document __func__ module.
46986
46987 2008-03-05  Simon Josefsson  <simon@josefsson.org>
46988
46989         * modules/byteswap (License): Re-license as LGPLv2+.
46990
46991 2008-03-05  Simon Josefsson  <simon@josefsson.org>
46992
46993         * doc/Makefile: Add pdf target.
46994
46995 2008-03-05  Simon Josefsson  <simon@josefsson.org>
46996
46997         * modules/inline (License): Use 'unlimited', since there are only
46998         *.m4 files in this module.
46999
47000 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
47001             Bruno Haible  <bruno@clisp.org>
47002
47003         Add support for HP C 7.1 on OpenVMS 8.3.
47004         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
47005
47006 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
47007
47008         Update VMS specifics.
47009         * lib/getopt.c [VMS]: Remove include of unixlib.h.
47010
47011 2008-03-02  Jim Meyering  <meyering@redhat.com>
47012
47013         Remove the last dependency on the "free" module.
47014         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
47015         Reported by Bob Proulx.
47016
47017         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
47018
47019         Remove useless "if" tests before free.  Deprecate "free" module.
47020         * doc/posix-functions/free.texi: Mention that this
47021         module is no longer useful.
47022         * modules/free (Notice): Say this module is obsolete.
47023         * modules/readutmp (Depends-on): Remove free.
47024         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
47025         * lib/putenv.c (putenv): Likewise.
47026         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
47027         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
47028         * tests/test-c-strcasestr.c (main): Likewise.
47029         * tests/test-c-strstr.c (main): Likewise.
47030         * tests/test-mbscasestr1.c (main): Likewise.
47031         * tests/test-mbscasestr2.c (main): Likewise.
47032         * tests/test-mbsstr1.c (main): Likewise.
47033         * tests/test-mbsstr2.c (main): Likewise.
47034         * tests/test-memmem.c (main): Likewise.
47035         * tests/test-strcasestr.c (main): Likewise.
47036         * tests/test-striconv.c (main): Likewise.
47037         * tests/test-striconveh.c (main): Likewise.
47038         * tests/test-striconveha.c (main): Likewise.
47039         * tests/test-strstr.c (main): Likewise.
47040
47041         * build-aux/git-version-gen: Adjust a comment and the Usage string.
47042
47043         bootstrap: sync from coreutils again
47044         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
47045
47046 2008-03-01  Jim Meyering  <meyering@redhat.com>
47047
47048         bootstrap: sync from coreutils
47049         * build-aux/bootstrap (update_po_files): Copy a .po file into place
47050         also when the target doesn't exist.
47051
47052 2008-03-01  Eric Blake  <ebb9@byu.net>
47053
47054         Fix bugs in last patch.
47055         * lib/memchr2.c (memchr2): Fix typo.
47056         * tests/test-memchr2.c: Test previous bug, and don't use GNU
47057         extension.
47058         Reported by Bruce Korb.
47059
47060         New module 'memchr2'.
47061         * modules/memchr2: New file.
47062         * modules/memchr2-tests: Likewise.
47063         * lib/memchr2.h: Likewise.
47064         * lib/memchr2.c: Likewise, based on memchr.c.
47065         * tests/test-memchr2.c: New test.
47066         * MODULES.html.sh (String handling): Add memchr2.
47067
47068 2008-02-29  Bruno Haible  <bruno@clisp.org>
47069
47070         * modules/freadseek-tests: New file.
47071         * tests/test-freadseek.sh: New file.
47072         * tests/test-freadseek.c: New file.
47073
47074         New module 'freadseek'.
47075         * modules/freadseek: New file.
47076         * lib/freadseek.h: New file.
47077         * lib/freadseek.c: New file.
47078         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
47079
47080 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
47081
47082         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
47083         wydawca.
47084
47085         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
47086         program_invocation_name and program_invocation_short_name are
47087         present.
47088
47089 2008-02-28  Bruno Haible  <bruno@clisp.org>
47090
47091         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
47092         * tests/test-freadptr.sh: Also test non-seekable stdin.
47093
47094 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
47095
47096         * build-aux/bootstrap (source_base, m4_base)
47097         (doc_base, tests_base): New variables.
47098         (gnulib_tool_options): Do not hardcode base directories, use
47099         the above variables instead.
47100
47101 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
47102
47103         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
47104
47105 2008-02-28  Bruno Haible  <bruno@clisp.org>
47106
47107         * modules/freadptr-tests: New file.
47108         * tests/test-freadptr.sh: New file.
47109         * tests/test-freadptr.c: New file.
47110
47111         New module 'freadptr'.
47112         * modules/freadptr: New file.
47113         * lib/freadptr.h: New file.
47114         * lib/freadptr.c: New file.
47115         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
47116
47117 2008-02-26  Karl Berry  <karl@freefriends.org>
47118
47119         Sync from Libtool:
47120         * libltdl/argz.c (argz_add, argz_count): New functions.
47121         * libltdl/argz.in.h: Declare them.
47122         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
47123
47124 2008-02-22  Bruno Haible  <bruno@clisp.org>
47125
47126         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
47127         is a pointer type.  Needed for HP-UX 10.
47128         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
47129         * doc/posix-functions/gmtime_r.texi: Likewise.
47130         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
47131
47132 2008-02-24  Bruno Haible  <bruno@clisp.org>
47133
47134         * modules/environ-tests: New file.
47135         * tests/test-environ.c: New file.
47136
47137         New module 'environ'.
47138         * modules/environ: New file.
47139         * lib/unistd.in.h (environ): New declaration.
47140         * m4/environ.m4: New file.
47141         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
47142         after use.
47143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
47144         HAVE_DECL_ENVIRON.
47145         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
47146         HAVE_DECL_ENVIRON.
47147         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
47148         wrong claim that 'environ' is missing on some systems.
47149         * modules/execute (Depends-on): Add environ.
47150         * lib/execute.c (environ): Remove fallback declaration.
47151         * modules/pipe (Depends-on): Add environ.
47152         * lib/pipe.c (environ): Remove fallback declaration.
47153         * modules/setenv (Depends-on): Add environ.
47154         * lib/setenv.c (environ): Remove fallback declaration.
47155         * modules/unsetenv (Depends-on): Add environ.
47156         * lib/unsetenv.c (environ): Remove fallback declaration.
47157         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
47158         m4/environ.m4.
47159         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
47160         (gl_PREREQ_UNSETENV): Likewise.
47161
47162 2008-02-24  Bruno Haible  <bruno@clisp.org>
47163
47164         * doc/posix-functions/environ.texi: Document the MacOS X problem.
47165
47166 2008-02-20  Bob Proulx  <bob@proulx.com>
47167
47168         Enable use of older two part flavor 'git describe'.
47169         * build-aux/git-version-gen: If using the older two part flavor of
47170         git version then recreate the third part now present in the
47171         newer three part flavor of git describe.
47172
47173 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
47174
47175         * lib/fts.c (fts_build): Typo correction to comment.
47176
47177 2008-02-17  Bruno Haible  <bruno@clisp.org>
47178
47179         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
47180         generating no-op conflicts.
47181
47182 2008-02-17  Bruno Haible  <bruno@clisp.org>
47183
47184         Speed up by 10%.
47185         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
47186         result_entries, rather than an index-based loop.
47187
47188 2008-02-17  Bruno Haible  <bruno@clisp.org>
47189
47190         Speed up by 25%.
47191         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
47192         'hashcode_cached'.
47193         (entry_create): New function.
47194         (entry_hashcode): Use the cached hashcode if possible.
47195         (read_changelog_file, try_split_merged_entry): Use entry_create.
47196
47197 2008-02-17  Bruno Haible  <bruno@clisp.org>
47198
47199         Speed up from O(n^2) to O(n) for long ChangeLog files.
47200         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
47201         (read_changelog_file): Change implementation of entries_reversed list
47202         to rbtreehash.
47203         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
47204
47205 2008-02-17  Bruno Haible  <bruno@clisp.org>
47206
47207         New option --split-merged-entry.
47208         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
47209         (find_paragraph_end, try_split_merged_entry): New functions.
47210         (long_options): Add option --split-merged-entry.
47211         (usage): Document option --split-merged-entry.
47212         (main): Implement option --split-merged-entry.
47213         Reported by Eric Blake.
47214
47215 2008-02-17  Bruno Haible  <bruno@clisp.org>
47216
47217         * lib/git-merge-changelog.c: Include c-strstr.h.
47218         (main): Support the "git pull --rebase" situation.
47219         * modules/git-merge-changelog (Depends-on): Add c-strstr.
47220         Reported by Eric Blake.
47221
47222 2008-02-16  Eric Blake  <ebb9@byu.net>
47223
47224         Avoid doubling \ in common case of "c-maybe" quoting style.
47225         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
47226         eliding outer quotes.
47227         * lib/quotearg.h: Document this.
47228         * tests/test-quotearg.c (result_strings, inputs, results_g)
47229         (flag_results, locale_results): Test it by adding a new string to
47230         each test group.
47231         (compare_strings): Test new string.
47232
47233 2008-02-13  Eric Blake  <ebb9@byu.net>
47234
47235         Avoid trigraph quoting in default output.
47236         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
47237         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
47238         unless explicitly requested.
47239         * tests/test-quotearg.c (flag_results, main): Add additional tests.
47240
47241 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
47242
47243         Don't rely on signed integer overflowing to negative value.
47244         * lib/getugroups.c (getugroups): Include <limits.h>.
47245         Instead, compare against INT_MAX, and increment only if the test passes.
47246
47247 2008-02-13  Jim Meyering  <meyering@redhat.com>
47248         and Eric Blake  <ebb9@byu.net>
47249
47250         Avoid shadowing warning and compile errors on Linux.
47251         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
47252         forwarding macros on Linux.
47253         (dcgettext): Define a stub, for Linux.
47254         (results_g, main): Avoid warnings.
47255
47256 2008-02-12  Eric Blake  <ebb9@byu.net>
47257
47258         Silence warning in last patch.
47259         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
47260
47261         Quotearg part 4: add tests, fix c-maybe colon quoting.
47262         * lib/quotearg.h: Improve documentation.
47263         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
47264         escapes when adding outer quotes.  When quoting trigraphs, use
47265         valid C notation.  When quoting NUL, omit extra characters if next
47266         character is not digit.  Alter prototype.
47267         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
47268         callers.
47269         * modules/quotearg-tests: New module.
47270         * tests/test-quotearg.c: New test.
47271
47272 2008-02-07  Eric Blake  <ebb9@byu.net>
47273
47274         Quotearg part 3: add flag to control outer quote elision.
47275         * lib/quotearg.h (c_maybe_quoting_style): New style.
47276         (enum quoting_flags): Better documentation of flags.
47277         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
47278         c-maybe style.
47279         (quotearg_buffer_restyled): Handle new flag to elide outer
47280         quotes.
47281
47282         Quotearg part 2: add flag that can control NUL elision.
47283         * lib/quotearg.h (set_quoting_flags): New prototype.
47284         * lib/quotearg.c (struct quoting_options): Add flag field.
47285         (set_quoting_flags): New function.
47286         (quotearg_buffer_restyled): Add flags parameter.
47287         (quotearg_alloc_mem): Set the flag if length cannot be returned.
47288         (quotearg_n_options): Set the flag, since length cannot be
47289         returned.
47290         (quoting_options_from_style): Default flags correctly.
47291
47292         Quotearg part 1: more wrappers, restore quotearg_char state.
47293         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
47294         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
47295         (quotearg_colon_mem): New wrappers.
47296         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
47297         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
47298         functions.
47299         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
47300         (quotearg_colon_mem): New functions.
47301
47302 2008-02-11  Bruno Haible  <bruno@clisp.org>
47303
47304         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
47305         library in the current directory: it does not work with parallel make.
47306         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47307
47308 2008-02-11  Bruno Haible  <bruno@clisp.org>
47309
47310         * .gitattributes: New file.
47311
47312 2008-02-11  Jim Meyering  <meyering@redhat.com>
47313
47314         useless-if-before-free: Fix reversed exit values.
47315         * build-aux/useless-if-before-free: Use correct values
47316         for EXIT_MATCH and EXIT_NO_MATCH.
47317
47318         * build-aux/useless-if-before-free: Close stdout carefully.
47319
47320 2008-02-10  Bruno Haible  <bruno@clisp.org>
47321
47322         New module 'git-merge-changelog'.
47323         * modules/git-merge-changelog: New file.
47324         * lib/git-merge-changelog.c: New file.
47325
47326 2008-02-10  Jim Meyering  <meyering@redhat.com>
47327
47328         useless-if-before-free: New option: --list (-l).
47329
47330         useless-if-before-free: Don't exit immediately upon open failure.
47331         * build-aux/useless-if-before-free: Exit 2 for errors.
47332         Upon failure to open a file, don't exit immediately.
47333         Rather, just warn and continue with any remaining files.
47334
47335 2008-02-10  Bruno Haible  <bruno@clisp.org>
47336
47337         New abstract list operation 'node_set_value'.
47338         * lib/gl_list.h (gl_list_node_set_value): New function.
47339         (struct gl_list_implementation): New field node_set_value.
47340         * lib/gl_list.c (gl_list_node_set_value): New function.
47341         * lib/gl_array_list.c (gl_array_node_set_value): New function.
47342         (gl_array_list_implementation): Update.
47343         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
47344         (gl_carray_list_implementation): Update.
47345         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
47346         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
47347         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
47348         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
47349         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
47350         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
47351         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
47352         Update.
47353         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
47354         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
47355         (gl_sublist_list_implementation): Update.
47356
47357 2008-02-10  Bruno Haible  <bruno@clisp.org>
47358
47359         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
47360         Needed when ELEMENT is #defined to 'some_type *'.
47361
47362 2008-02-10  Jim Meyering  <meyering@redhat.com>
47363
47364         New script and module: useless-if-before-free
47365         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
47366         * build-aux/useless-if-before-free: New file.
47367         * modules/useless-if-before-free: New file.
47368
47369         * build-aux/gitlog-to-changelog: Use committer date, not author date.
47370
47371         xstrtol_error: Fix typo.
47372         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
47373         s/exit_failure/exit_status/.
47374
47375 2008-02-09  Jim Meyering  <meyering@redhat.com>
47376
47377         New script and module: gitlog-to-changelog
47378         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
47379         * modules/gitlog-to-changelog: New file.
47380         * build-aux/gitlog-to-changelog: New file.
47381
47382 2008-02-08  Jim Meyering  <meyering@redhat.com>
47383
47384         Avoid two "parameter unused" warnings.
47385         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
47386         Mark "st" as used.
47387
47388         Use "git COMMAND", not "git-COMMAND".
47389         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
47390         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
47391         * build-aux/git-version-gen: Use "git status", not "git-status".
47392
47393 2008-02-07  Bruno Haible  <bruno@clisp.org>
47394
47395         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
47396         Avoids a crash on Windows Vista.
47397         Reported by Adam Strzelecki <ono@java.pl> via
47398         Simon Josefsson <simon@josefsson.org>.
47399
47400 2008-02-06  Bruno Haible  <bruno@clisp.org>
47401
47402         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
47403         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
47404         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
47405         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
47406         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47407         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47408         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
47409         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
47410         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47411         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47412         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47413         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47414         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47415         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47416         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47417         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
47418         left-adjust flag.
47419         * tests/test-snprintf-posix.h (test_function): Likewise.
47420         * tests/test-sprintf-posix.h (test_function): Likewise.
47421         * tests/test-vasprintf-posix.c (test_function): Likewise.
47422         * doc/posix-functions/fprintf.texi: Update.
47423         * doc/posix-functions/printf.texi: Update.
47424         * doc/posix-functions/snprintf.texi: Update.
47425         * doc/posix-functions/sprintf.texi: Update.
47426         * doc/posix-functions/vfprintf.texi: Update.
47427         * doc/posix-functions/vprintf.texi: Update.
47428         * doc/posix-functions/vsnprintf.texi: Update.
47429         * doc/posix-functions/vsprintf.texi: Update.
47430         Reported by Peter Fales <psfales@alcatel-lucent.com>.
47431
47432 2008-02-06  Bruno Haible  <bruno@clisp.org>
47433
47434         Fix bug introduced on 2008-01-26.
47435         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
47436
47437 2008-02-06  Bruno Haible  <bruno@clisp.org>
47438
47439         Fix bug introduced on 2007-06-10.
47440         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
47441         !NEED_PRINTF_FLAG_ZERO.
47442
47443 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
47444
47445         getloadavg: use libperfstat on AIX5
47446         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
47447
47448 2008-02-03  Bruno Haible  <bruno@clisp.org>
47449
47450         * lib/diffseq.h: Add comments about required #includes.
47451         Reported by Michael Biggs <gnulib@doubleplum.net>.
47452
47453 2008-02-01  Bruno Haible  <bruno@clisp.org>
47454
47455         * users.txt: Add gnuit.
47456
47457 2008-01-31  Bruno Haible  <bruno@clisp.org>
47458
47459         * lib/md4.c (set_uint32): Mark as inline.
47460         * lib/md5.c (set_uint32): Likewise.
47461         * lib/sha1.c (set_uint32): Likewise.
47462         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
47463         * m4/md5.m4 (gl_MD5): Likewise.
47464         * m4/sha1.m4 (gl_SHA1): Likewise.
47465
47466 2008-01-31  Jim Meyering  <meyering@redhat.com>
47467
47468         Use "sizeof VAR", rather than a literal "4".
47469         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
47470         * lib/md4.c (md4_read_ctx): Likewise.
47471         * lib/sha1.c (sha1_read_ctx): Likewise.
47472
47473 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47474
47475         * tests/test-sha1.c: New file, based on test-md5.c.
47476
47477         * modules/crypto/sha1-tests: New file.
47478
47479 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47480
47481         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
47482
47483 2008-01-31  Jim Meyering  <meyering@redhat.com>
47484
47485         Prefer "sizeof v" over the equivalent "4".
47486         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
47487         * lib/md5.c (set_uint32): Likewise.
47488         * lib/sha1.c (set_uint32): Likewise.
47489
47490 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47491
47492         * lib/sha1.c (set_uint32): Mark function as static.
47493
47494 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47495
47496         md2: clarify comments to say that alignment is not required.
47497         * lib/md2.h: Remove warning about alignment in comment.
47498         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
47499         never been required.
47500
47501 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47502
47503         md4: adapt alignment constraint fix from sha1.
47504         * lib/md4.c (set_uint32): New function, from sha1.c
47505         (md4_read_ctx): Use it.
47506         (md4_finish_ctx): Doc fix.
47507         * lib/md4.h: Doc fix.
47508
47509 2008-01-31  Simon Josefsson  <simon@josefsson.org>
47510
47511         md5: adapt alignment constraint fix from sha1.
47512         * lib/md5.c (set_uint32): New function, from sha1.c
47513         (md5_read_ctx): Use it.
47514         (md5_finish_ctx): Doc fix.
47515         * lib/md5.h: Doc fix.
47516
47517 2008-01-30  Peter Palfrader  <weasel@debian.org>
47518
47519         sha1: remove the result buffer alignment constraint
47520         * lib/sha1.c (set_uint32): New function.
47521         (sha1_read_ctx): Rewrite to remove the result buffer alignment
47522         constraint.
47523         (sha1_finish_ctx): Remove comment warning about alignment constraint.
47524         * lib/sha1.h: Likewise.
47525
47526 2008-01-30  Andreas Schwab  <schwab@suse.de>
47527             Bruno Haible  <bruno@clisp.org>
47528
47529         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
47530         correct definition of LDBL_MIN_EXP.
47531
47532 2008-01-30  Karl Berry  <karl@gnu.org>
47533
47534         * config/srclist-update: try to preserve x bit on updates.
47535         * config/srclistvars.sh: update for karl.
47536
47537 2008-01-29  Jim Meyering  <meyering@redhat.com>
47538
47539         vasnprintf.c: Avoid warning about unused label
47540         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
47541         "overflow" label definition and associated code with the
47542         same cpp condition that guards the sole use of that label.
47543
47544 2008-01-26  Bruno Haible  <bruno@clisp.org>
47545
47546         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
47547         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
47548         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
47549         * lib/isnanl-nolibm.h (isnanl): Likewise.
47550         Reported by Paul Eggert <eggert@cs.ucla.edu>.
47551
47552 2008-01-26  Bruno Haible  <bruno@clisp.org>
47553
47554         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
47555         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
47556
47557 2008-01-26  Bruno Haible  <bruno@clisp.org>
47558
47559         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
47560         GCC >= 4.0 built-in.
47561         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
47562
47563 2008-01-26  Bruno Haible  <bruno@clisp.org>
47564
47565         Rename isnan, applicable to 'double' only, to isnand.
47566         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
47567         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
47568         (configure.ac): Update.
47569         (Include): Replace "isnan.h" with "isnand.h".
47570         * m4/isnand.m4: Renamed from m4/isnan.m4.
47571         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
47572         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
47573         instead of isnan.c.
47574         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
47575         instead of HAVE_ISNAN_IN_LIBC.
47576         (isnand): Renamed from isnan.
47577         * lib/isnand.c: New file.
47578         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
47579         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
47580         (Makefile.am): Update.
47581         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
47582         Include isnand.h instead of isnan.h.
47583         (main): Test isnand instead of isnan.
47584         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
47585         isnan-nolibm.
47586         * modules/frexp (Depends-on): Likewise.
47587         * modules/frexp-tests (Depends-on): Likewise.
47588         * modules/frexp-nolibm (Depends-on): Likewise.
47589         * modules/frexp-nolibm-tests (Depends-on): Likewise.
47590         * modules/isfinite (Depends-on): Likewise.
47591         * modules/round-tests (Depends-on): Likewise.
47592         * modules/signbit (Depends-on): Likewise.
47593         * modules/signbit-tests (Depends-on): Likewise.
47594         * modules/snprintf-posix (Depends-on): Likewise.
47595         * modules/sprintf-posix (Depends-on): Likewise.
47596         * modules/trunc-tests (Depends-on): Likewise.
47597         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47598         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47599         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47600         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47601         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47602         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47603         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47604         * modules/vasnprintf-posix (Depends-on): Likewise.
47605         * modules/vasprintf-posix (Depends-on): Likewise.
47606         * modules/vfprintf-posix (Depends-on): Likewise.
47607         * modules/vsnprintf-posix (Depends-on): Likewise.
47608         * modules/vsprintf-posix (Depends-on): Likewise.
47609         * lib/frexp.c: Include isnand.h instead of isnan.h.
47610         (ISNAN): Set to isnand instead of isnan.
47611         * lib/isfinite.c: Include isnand.h instead of isnan.h.
47612         (gl_isfinited): Use isnand instead of isnan.
47613         * lib/signbitd.c: Include isnand.h instead of isnan.h.
47614         (gl_signbitd): Use isnand instead of isnan.
47615         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
47616         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
47617         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
47618         (main): Use isnand instead of isnan.
47619         * tests/test-round1.c: Include isnand.h.
47620         (main): Use isnand instead of isnan.
47621         * tests/test-round2.c: Include isnand.h instead of isnan.h.
47622         (ISNAN): Set to isnand instead of isnan.
47623         * tests/test-trunc1.c: Include isnand.h.
47624         (main): Use isnand instead of isnan.
47625         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
47626         (equal): Use isnand instead of isnan.
47627         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
47628         isnand-nolibm.
47629         * NEWS: Mention the change.
47630
47631 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
47632             Bruno Haible  <bruno@clisp.org>
47633
47634         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
47635         the GCC builtins for signbits are present and set
47636         REPLACE_SIGNBIT_USING_GCC if so.
47637         * lib/math.in.h (signbit): Define using GCC builtins if
47638         REPLACE_SIGNBIT_USING_GCC is set.
47639         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
47640         REPLACE_SIGNBIT_USING_GCC.
47641         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
47642
47643 2008-01-25  Jim Meyering  <meyering@redhat.com>
47644
47645         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
47646         * lib/poll.c: Include <config.h>, not "config.h".
47647         * tests/test-getaddrinfo.c: Likewise.
47648
47649 2008-01-25  Simon Josefsson  <simon@josefsson.org>
47650
47651         * modules/sockets-tests: New file.
47652
47653 2008-01-24  Simon Josefsson  <simon@josefsson.org>
47654
47655         * modules/sockets: New module, can be used to call WSA_Startup and
47656         WSA_Cleanup when needed.
47657
47658         * lib/sockets.h, lib/sockets.c: New files.
47659
47660         * m4/sockets.m4: New file.
47661
47662         * tests/test-sockets.c: New file.
47663
47664 2008-01-19  Bruno Haible  <bruno@clisp.org>
47665
47666         * doc/posix-headers: Renamed from doc/headers.
47667         * doc/posix-functions: Renamed from doc/functions.
47668         * doc/gnulib.texi: Update.
47669
47670 2008-01-19  Bruno Haible  <bruno@clisp.org>
47671
47672         * doc/glibc-functions/strcasestr.texi: Include contents of
47673         doc/functions/strcasestr.texi, fixing the list of platforms.
47674         * doc/functions/strcasestr.texi: Remove file.
47675
47676 2008-01-19  Bruno Haible  <bruno@clisp.org>
47677
47678         * doc/glibc-functions/memmem.texi: Include contents of
47679         doc/functions/memmem.texi.
47680         * doc/functions/memmem.texi: Remove file.
47681
47682 2008-01-18  Bruno Haible  <bruno@clisp.org>
47683
47684         * doc/glibc-functions/*.texi: New files.
47685         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
47686         to use the new files.
47687
47688 2008-01-17  Bruno Haible  <bruno@clisp.org>
47689
47690         * tests/test-gethostname.c (main): Fix printf statement.
47691
47692 2008-01-17  Simon Josefsson  <simon@josefsson.org>
47693
47694         * modules/gethostname-tests: New file.
47695
47696         * tests/test-gethostname.c: New file.
47697
47698 2008-01-17  Simon Josefsson  <simon@josefsson.org>
47699
47700         * lib/gethostname.c: Include string.h unconditionally, strncpy is
47701         used by the UNAME case.  Reported by Bruno Haible
47702         <bruno@clisp.org>.
47703
47704 2008-01-17  Eric Blake  <ebb9@byu.net>
47705
47706         Convert c-strcasestr to be more efficient.
47707         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
47708         (Depends-on): Add c-strcase, remove malloca, strnlen.
47709         * tests/test-c-strcasestr.c (main): Enhance test.
47710         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
47711
47712 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
47713
47714         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
47715         Use it in creating po/Makevars.
47716
47717 2008-01-15  Simon Josefsson  <simon@josefsson.org>
47718
47719         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
47720         Applications that requires it should initialize libgcrypt
47721         manually.
47722
47723 2008-01-16  Simon Josefsson  <simon@josefsson.org>
47724
47725         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
47726
47727 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
47728
47729         Fix problem with getdate on mingw32 reported by Simon Josefsson
47730         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
47731         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
47732         tzname", when deciding whether to declare tzname.
47733         * lib/strftime.c (tzname): Likewise.
47734
47735 2008-01-15  Bruno Haible  <bruno@clisp.org>
47736
47737         Work around a MacOS X 10.5 bug in frexpl().
47738         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
47739         * doc/functions/frexpl.texi: Document the bug.
47740         Reported by Elias Pipping <pipping@gentoo.org>.
47741
47742 2008-01-14  Eric Blake  <ebb9@byu.net>
47743
47744         Touch up previous patch.
47745         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
47746         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
47747
47748         Convert strcasestr module to use Two-Way algorithm.
47749         * modules/strcasestr-simple: New module, based on the old
47750         strcasestr, but with Two-Way rather than KMP.
47751         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
47752         * lib/string.in.h (rpl_strcasestr): Declare.
47753         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
47754         performance.
47755         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
47756         * modules/string (Makefile.am): Support strcasestr.
47757         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
47758         * modules/strcasestr-tests (Depends-on): Check for alarm.
47759         * tests/test-strcasestr.c: Augment test.
47760         * lib/str-two-way.h: Clean up stray macro.
47761         * NEWS: Document new module.
47762         * MODULES.html.sh (string handling): Likewise.
47763         * doc/functions/strcasestr.texi: New file.
47764         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
47765         here, since it is not a POSIX function.
47766
47767 2008-01-14  Colin Watson  <cjwatson@debian.org>
47768             Bruno Haible  <bruno@clisp.org>
47769
47770         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
47771         works fine; if not, set REPLACE_STRSIGNAL.
47772         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
47773         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47774         REPLACE_STRSIGNAL.
47775         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
47776         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
47777         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
47778
47779 2008-01-14  Bruno Haible  <bruno@clisp.org>
47780
47781         * modules/strsignal (Include): Change to <string.h>.
47782
47783 2008-01-14  Colin Watson  <cjwatson@debian.org>
47784
47785         * modules/argp (Notice): Add a notice recommending to change
47786         XGETTEXT_OPTIONS.
47787         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
47788
47789 2008-01-13  Colin Watson  <cjwatson@debian.org>
47790
47791         * modules/strsignal-tests: New file.
47792         * tests/test-strsignal.c: New file.
47793
47794         * lib/strsignal.c: New file, from glibc with modifications.
47795         * lib/siglist.h: New file, from glibc with modifications.
47796         * lib/string.in.h (strsignal): New declaration.
47797         * m4/strsignal.m4: New file.
47798         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47799         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
47800         * modules/strsignal: New file.
47801         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
47802         HAVE_DECL_STRSIGNAL.
47803
47804 2008-01-13  Bruno Haible  <bruno@clisp.org>
47805
47806         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
47807         locale encoding is not ASCII. Needed for OpenBSD 4.0.
47808         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
47809         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
47810
47811 2008-01-13  Bruno Haible  <bruno@clisp.org>
47812
47813         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
47814         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
47815         * lib/argp.h (__attribute__): Likewise.
47816         * lib/c-stack.c (__attribute__): Likewise.
47817         * lib/error.h (__attribute__): Likewise.
47818         * lib/fts.c (__attribute__): Likewise.
47819         * lib/openat.h (__attribute__): Likewise.
47820         * lib/stdio.in.h (__attribute__): Likewise.
47821         * lib/string.in.h (__attribute__): Likewise.
47822         * lib/utimens.c (__attribute__): Likewise.
47823         * lib/vasnprintf.h (__attribute__): Likewise.
47824         * lib/xalloc.h (__attribute__): Likewise.
47825         * lib/xprintf.h (__attribute__): Likewise.
47826         * lib/xstrtol.h (__attribute__): Likewise.
47827         * lib/xvasprintf.h (__attribute__): Likewise.
47828
47829 2008-01-12  Bruno Haible  <bruno@clisp.org>
47830
47831         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
47832         * doc/glibc-headers/a.out.texi: New file.
47833         * doc/glibc-headers/aliases.texi: New file.
47834         * doc/glibc-headers/alloca.texi: New file.
47835         * doc/glibc-headers/ar.texi: New file.
47836         * doc/glibc-headers/argp.texi: New file.
47837         * doc/glibc-headers/argz.texi: New file.
47838         * doc/glibc-headers/byteswap.texi: New file.
47839         * doc/glibc-headers/crypt.texi: New file.
47840         * doc/glibc-headers/endian.texi: New file.
47841         * doc/glibc-headers/envz.texi: New file.
47842         * doc/glibc-headers/err.texi: New file.
47843         * doc/glibc-headers/error.texi: New file.
47844         * doc/glibc-headers/execinfo.texi: New file.
47845         * doc/glibc-headers/fpu_control.texi: New file.
47846         * doc/glibc-headers/fstab.texi: New file.
47847         * doc/glibc-headers/fts.texi: New file.
47848         * doc/glibc-headers/getopt.texi: New file.
47849         * doc/glibc-headers/ieee754.texi: New file.
47850         * doc/glibc-headers/ifaddrs.texi: New file.
47851         * doc/glibc-headers/libintl.texi: New file.
47852         * doc/glibc-headers/mcheck.texi: New file.
47853         * doc/glibc-headers/mntent.texi: New file.
47854         * doc/glibc-headers/obstack.texi: New file.
47855         * doc/glibc-headers/paths.texi: New file.
47856         * doc/glibc-headers/printf.texi: New file.
47857         * doc/glibc-headers/pty.texi: New file.
47858         * doc/glibc-headers/resolv.texi: New file.
47859         * doc/glibc-headers/shadow.texi: New file.
47860         * doc/glibc-headers/sysexits.texi: New file.
47861         * doc/glibc-headers/ttyent.texi: New file.
47862
47863 2008-01-12  Jim Meyering  <meyering@redhat.com>
47864
47865         announce-gen: emit Gnulib's git-based version string.
47866         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
47867         New option --gnulib-version=V, where V is expected to be
47868         the output of running git describe in the gnulib directory.
47869         (get_tool_versions): Request feedback on xdelta.  I suspect it's
47870         not useful, and plan to stop publishing an xdelta file with each
47871         coreutils release.
47872
47873         * build-aux/announce-gen: Also check for lzma-compressed files.
47874
47875 2008-01-11  Bruno Haible  <bruno@clisp.org>
47876
47877         * tests/test-memmem.c (main): Increase maximum allowed time.
47878         * tests/test-strstr.c (main): Likewise.
47879
47880 2008-01-11  Bruno Haible  <bruno@clisp.org>
47881
47882         * doc/functions/memmem.texi: Add more precisions about platforms.
47883         * doc/functions/strstr.texi: Likewise.
47884
47885 2008-01-10  Eric Blake  <ebb9@byu.net>
47886
47887         * m4/strstr.m4: Delete cruft from copy-n-paste.
47888         Reported by Bruno Haible.
47889
47890 2008-01-10  Bruno Haible  <bruno@clisp.org>
47891
47892         Make c-strstr rely on strstr.
47893         * lib/c-strstr.c: Don't include str-kmp.h.
47894         (c_strstr): Define in terms of strstr.
47895         * modules/c-strstr (Files): Remove lib/str-kmp.h.
47896         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
47897
47898 2008-01-10  Bruno Haible  <bruno@clisp.org>
47899
47900         * doc/gnulib.texi (String Functions in C Locale): New section.
47901         * doc/c-ctype.texi: New file.
47902         * doc/c-strcase.texi: New file.
47903         * doc/c-strcaseeq.texi: New file.
47904         * doc/c-strcasestr.texi: New file.
47905         * doc/c-strstr.texi: New file.
47906         * doc/c-strtod.texi: New file.
47907         * doc/c-strtold.texi: New file.
47908
47909 2008-01-10  Eric Blake  <ebb9@byu.net>
47910
47911         * lib/relocatable.h: Fix a comment.
47912
47913 2008-01-10  Eric Blake  <ebb9@byu.net>
47914
47915         Share two-way algorithm.
47916         * lib/str-two-way.h: New file, merged from...
47917         * lib/memmem.c: ...here...
47918         * lib/strstr.c: ...and here.
47919         * modules/memmem (Files): Use it.
47920         * modules/strstr (Files): Likewise.
47921
47922         Avoid quadratic strstr implementations.
47923         * lib/strstr.c: New file.
47924         * m4/strstr.m4: Likewise.
47925         * modules/strstr: Likewise.
47926         * modules/strstr-tests: Likewise.
47927         * tests/test-strstr.c: Likewise.
47928         * lib/string.in.h (rpl_strstr): Declare.
47929         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
47930         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
47931         * modules/string (Makefile.am): Likewise.
47932         * MODULES.html.sh (string handling): Mention new module.
47933         * doc/functions/strstr.texi (strstr): Document the bug.
47934
47935 2008-01-10  Bruno Haible  <bruno@clisp.org>
47936
47937         * lib/relocatable.h (relocate): State whether result is freshly
47938         allocated or not.
47939         * lib/relocatable.c (relocate): Return a freshly allocated string
47940         instead of a pointer to a privately held string.
47941         Reported by Sylvain Beucler <beuc@gnu.org>.
47942
47943 2008-01-10  Colin Watson  <cjwatson@debian.org>
47944
47945         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
47946         s/S_ISNLK/S_ISLNK/.
47947
47948 2008-01-09  Bruno Haible  <bruno@clisp.org>
47949
47950         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
47951         and other files.
47952         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
47953         if it's only a guess.
47954         * modules/memmem: Simplify by depending on memmem-simple.
47955
47956 2008-01-09  Bruno Haible  <bruno@clisp.org>
47957
47958         Work around OpenBSD 4.0 tdelete() bug.
47959         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
47960         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
47961         macros and don't redefine the enum values.
47962         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
47963         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
47964         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
47965
47966 2008-01-09  Bruno Haible  <bruno@clisp.org>
47967
47968         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
47969         (main): Don't perform the tests if setlocale did not install a UTF-8
47970         locale. Needed on OpenBSD 4.0.
47971         * modules/wcwidth-tests (Depends-on): Add localcharset.
47972
47973 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
47974
47975         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
47976         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
47977         * NEWS: announce this.
47978         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
47979
47980 2008-01-09  Simon Josefsson  <simon@josefsson.org>
47981         and Eric Blake  <ebb9@byu.net>
47982
47983         Add memmem-simple module.
47984         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
47985         (gl_FUNC_MEMMEM): Separate performance from presence checks.
47986         * modules/memmem-simple: New file.
47987         * modules/memmem (Description): Tweak.
47988         * MODULES.html.sh (string handling): Mention new module.
47989         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
47990         addressed by memmem-simple.
47991         * NEWS: Document the difference.
47992
47993 2008-01-09  Eric Blake  <ebb9@byu.net>
47994
47995         Give gcc some memmem optimization hints.
47996         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
47997         (strcasestr): Declare as pure.
47998         * modules/memmem (Maintainer): Claim my implementation.
47999
48000 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48001
48002         Support AIX 6.1 and higher.
48003         * build-aux/config.libpath: Likewise.
48004         * build-aux/config.rpath: Likewise.
48005
48006 2008-01-08  Jim Meyering  <meyering@redhat.com>
48007             Bruno Haible  <bruno@clisp.org>
48008
48009         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
48010         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
48011         Reported by Peter Fales in
48012         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
48013
48014 2008-01-08  Bruno Haible  <bruno@clisp.org>
48015
48016         * modules/unictype/category-of (Depends-on): Add
48017         unictype/category-none.
48018         * modules/unictype/category-and-tests (Depends-on): Add
48019         unictype/category-{L,N,Lu,Nd}.
48020         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
48021         * modules/unictype/category-or-tests (Depends-on): Add
48022         unictype/category-{L,N}.
48023         * modules/unictype/category-name-tests (Depends-on): Add
48024         unictype/category-{Z,Nl}.
48025         Reported by Simon Josefsson.
48026
48027 2008-01-08  Bruno Haible  <bruno@clisp.org>
48028
48029         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
48030         convention better.
48031         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
48032         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
48033         Reported by Peter Miller <millerp@canb.auug.org.au>.
48034
48035 2008-01-08  Eric Blake  <ebb9@byu.net>
48036
48037         Rewrite memmem to guarantee linear complexity without malloc.
48038         * lib/memmem.c (memmem): Use Two-Way rather than
48039         Knuth-Morris-Pratt, to allow O(1) space usage.
48040         (critical_factorization, two_way_short_needle)
48041         (two_way_long_needle): New functions.
48042         (knuth_morris_pratt): Delete.
48043         * modules/memmem (Depends-on): No longer need malloca or stdbool.
48044         Add stdint.
48045         * tests/test-memmem.c (main): Add tests for periodic needle and
48046         sublinear performance.
48047         * doc/functions/memmem.texi (memmem): Document other deficiencies
48048         in cygwin and older glibc.
48049
48050 2008-01-08  Bruno Haible  <bruno@clisp.org>
48051
48052         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
48053         augmentation.
48054
48055 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
48056
48057         Add a configure time option: --disable-acl.
48058         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
48059         AC_ARG_ENABLE(acl).
48060
48061 2008-01-06  Simon Josefsson  <simon@josefsson.org>
48062
48063         * tests/test-localename.c: Don't include obsolete "setenv.h".
48064
48065         * modules/localename-tests (Depends-on): Need unsetenv.
48066
48067 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48068
48069         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
48070
48071 2008-01-06  Colin Watson  <cjwatson@debian.org>
48072
48073         * users.txt: Add man-db.
48074
48075 2008-01-07  Bruno Haible  <bruno@clisp.org>
48076
48077         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
48078         previous section name.
48079
48080 2008-01-07  Bruno Haible  <bruno@clisp.org>
48081
48082         * lib/progname.c (set_program_name): Don't strip off a leading
48083         "lt-" prefix outside a .libs directory.
48084         Suggested by Paul Eggert.
48085
48086 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
48087             Bruno Haible  <bruno@clisp.org>
48088
48089         Improve memory cleanup in 'relocatable' module.
48090         * lib/relocatable.h (compute_curr_prefix): Change return type to
48091         'char *'.
48092         * lib/relocatable.c (compute_curr_prefix): Change return type to
48093         'char *'. Free curr_installdir after use.
48094         (relocate): Free curr_prefix_better after use.
48095         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
48096
48097 2008-01-01  Bruno Haible  <bruno@clisp.org>
48098
48099         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
48100         failure on older glibc systems.
48101         Reported by Peter Fales <psfales@alcatel-lucent.com>.
48102
48103 2008-01-05  Eric Blake  <ebb9@byu.net>
48104
48105         Avoid quadratic system memmem.
48106         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
48107         Reported by Ralf Wildenhues.
48108
48109         Fix memmem test for mingw.
48110         * modules/memmem-tests (configure.ac): Check for alarm.
48111         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
48112         it.
48113         * doc/functions/memmem.texi: New file.
48114         * doc/gnulib.texi (Function Substitutes): Add memmem.
48115         Reported by Bruno Haible.
48116
48117 2008-01-04  Bruno Haible  <bruno@clisp.org>
48118
48119         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
48120         Require gl_HEADER_STRINGS_H_DEFAULTS, not
48121         gl_HEADER_STRING_H_DEFAULTS.
48122
48123 2008-01-04  Eric Blake  <ebb9@byu.net>
48124
48125         Shorten duration of memmem test.
48126         * tests/test-memmem.c (main): Use alarm to declare failure if test
48127         is taking too long.
48128         Reported by Ralf Wildenhues.
48129
48130 2007-12-21  Simon Josefsson  <simon@josefsson.org>
48131
48132         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
48133         string, needed by strerror.
48134
48135 2008-01-03  Colin Watson  <cjwatson@debian.org>
48136             Bruno Haible  <bruno@clisp.org>
48137
48138         * doc/gnulib-tool.texi (Localization): New section.
48139
48140 2008-01-02  Bruno Haible  <bruno@clisp.org>
48141
48142         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
48143         variables to 'unsigned char *' type.
48144         Reported by Paul Eggert.
48145
48146 2008-01-02  Jim Meyering  <jim@meyering.net>
48147
48148         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
48149
48150 2007-12-31  Jim Meyering  <jim@meyering.net>
48151
48152         Avoid use of private FTS type name.
48153         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
48154
48155 2007-12-30  Karl Berry  <karl@gnu.org>
48156
48157         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
48158         work around defect in Texinfo and/or the standalone Info browser.
48159
48160 2007-12-30  Bruno Haible  <bruno@clisp.org>
48161
48162         Unify 5 copies of the KMP code.
48163         * lib/str-kmp.h: New file.
48164         * lib/c-strcasestr.c: Include str-kmp.h.
48165         (knuth_morris_pratt): Remove function.
48166         (c_strcasestr): Update.
48167         * lib/c-strstr.c: Include str-kmp.h.
48168         (knuth_morris_pratt): Remove function.
48169         (c_strcasestr): Update.
48170         * lib/mbscasestr.c: Include str-kmp.h.
48171         (knuth_morris_pratt_unibyte): Remove function.
48172         * lib/mbsstr.c: Include str-kmp.h.
48173         (knuth_morris_pratt_unibyte): Remove function.
48174         * lib/strcasestr.c: Include str-kmp.h.
48175         (knuth_morris_pratt): Remove function.
48176         (strcasestr): Update.
48177         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
48178         * modules/c-strstr (Files): Likewise.
48179         * modules/mbscasestr (Files): Likewise.
48180         * modules/mbsstr (Files): Likewise.
48181         * modules/strcasestr (Files): Likewise.
48182         Suggested by Paul Eggert.
48183
48184 2007-12-30  Bruno Haible  <bruno@clisp.org>
48185
48186         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
48187         defined.
48188
48189 2007-12-30  Bruno Haible  <bruno@clisp.org>
48190
48191         * lib/xmalloca.h: Include xalloc.h.
48192         (xnmalloca): New macro.
48193
48194 2007-12-30  Bruno Haible  <bruno@clisp.org>
48195
48196         * lib/malloca.h (nmalloca): New macro.
48197         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
48198         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
48199         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
48200         knuth_morris_pratt_multibyte): Likewise.
48201         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
48202         knuth_morris_pratt_multibyte): Likewise.
48203         * lib/memmem.c (knuth_morris_pratt): Likewise.
48204         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
48205
48206 2007-12-25  Bruno Haible  <bruno@clisp.org>
48207
48208         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
48209         * lib/glob.c: Don't include openat.h.
48210         (link_exists2_p): Add back the code that deals with the
48211         !GLOB_ALTDIRFUNC case.
48212         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
48213         let it do the filename concatenation.
48214         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
48215         * modules/glob (Depends-on): Remove openat.
48216
48217 2007-12-31  Bruno Haible  <bruno@clisp.org>
48218
48219         * modules/dirfd (License): Change to LGPLv2+.
48220         Approved by Jim Meyering.
48221
48222 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
48223
48224         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
48225         when multiplying M by sizeof (size_t).
48226
48227 2007-12-10  Martin Lambers  <marlam@marlam.de>
48228
48229         Override getpagesize on mingw.
48230         * lib/getpagesize.c: New file.
48231         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
48232         * modules/getpagesize (Files): Add lib/getpagesize.c.
48233         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
48234         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48235         REPLACE_GETPAGESIZE.
48236         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
48237
48238 2007-12-25  Bruno Haible  <bruno@clisp.org>
48239
48240         * modules/localcharset (Notice): New field.
48241         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
48242         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
48243
48244 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
48245             Bruno Haible  <bruno@clisp.org>
48246
48247         Avoid using the syntax symbol() in formatted documentation.
48248         * MODULES.html.sh (func_module): When replacing symbol() with a
48249         hyperlink, remove the parentheses. Show an error if some remain.
48250         Recognize and render the '...' syntax.
48251         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
48252         Rework. Add paragraph about GCC's inlining.
48253         * doc/alloca.texi: Likewise.
48254         * doc/error.texi: Remove parentheses from symbol reference.
48255         * doc/gnulib-intro.texi: Likewise.
48256         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
48257         * modules/fnmatch (Description): Reword to say "the ... function".
48258         * modules/full-read (Description): Likewise.
48259         * modules/full-write (Description): Likewise.
48260         * modules/safe-read (Description): Likewise.
48261         * modules/safe-write (Description): Likewise.
48262         * modules/strchrnul (Description): Likewise.
48263         * modules/trim (Description): Likewise.
48264         * modules/error (Description): Remove parentheses from symbol
48265         references.
48266         * modules/verror (Description): Likewise.
48267         Reported by Karl Berry.
48268
48269 2007-12-25  Bruno Haible  <bruno@clisp.org>
48270
48271         Fixup after 2007-10-16 commit.
48272         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
48273
48274 2007-12-24  Bruno Haible  <bruno@clisp.org>
48275
48276         Make --enable-relocatable work with DESTDIR.
48277         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
48278         to compute installdir from destprog.
48279         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
48280         also set the RELOC_DESTDIR variable.
48281         Reported by Левашев Иван <octagram@bluebottle.com>.
48282
48283 2007-12-24  Bruno Haible  <bruno@clisp.org>
48284
48285         Fix link error due to xalloc_die().
48286         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
48287         of xreadlink.
48288         * lib/relocwrapper.c: Update comments.
48289         * build-aux/install-reloc: Remove xreadlink.c from file list.
48290         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
48291         xreadlink.c.
48292         Reported by Левашев Иван <octagram@bluebottle.com>.
48293
48294 2007-12-24  Bruno Haible  <bruno@clisp.org>
48295
48296         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
48297         * lib/setenv.h: Remove file.
48298         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
48299         lib/setenv.h.
48300         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
48301         (Depends-on): Add stdlib.
48302         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
48303         gl_FUNC_UNSETENV.
48304         (Include): Replace setenv.h with <stdlib.h>.
48305         * modules/unsetenv: New file.
48306         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
48307         * lib/unsetenv.c: Include <stdlib.h> first.
48308         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
48309         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
48310         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
48311         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
48312         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
48313         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
48314         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
48315         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
48316         * doc/functions/unsetenv.texi: Update.
48317         * modules/xsetenv (Depends-on): Add unsetenv.
48318         * modules/getdate (Depends-on): Likewise.
48319         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
48320         * lib/xsetenv.c: Don't include setenv.h.
48321         * lib/getdate.y: Likewise.
48322         * lib/relocwrapper.c: Likewise.
48323         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
48324         (Depends-on): Add stdlib.
48325         * NEWS: Mention the changes.
48326         Reported by Левашев Иван <octagram@bluebottle.com>.
48327
48328 2007-12-23  Bruno Haible  <bruno@clisp.org>
48329
48330         * lib/memmem.c (memmem): Use lowercase variable names. Tab
48331         indentation.
48332
48333 2007-12-23  Bruno Haible  <bruno@clisp.org>
48334
48335         * lib/c-strcasestr.c: Add more comments.
48336         * lib/c-strstr.c: Likewise.
48337         * lib/mbscasestr.c: Likewise.
48338         * lib/mbsstr.c: Likewise.
48339         * lib/strcasestr.c: Likewise.
48340         * lib/memmem.c: Likewise.
48341
48342 2007-12-23  Bruno Haible  <bruno@clisp.org>
48343
48344         * tests/test-memmem.c: Include <string.h> first.
48345
48346 2007-12-22  Bruno Haible  <bruno@clisp.org>
48347
48348         * gnulib-tool (func_create_testdir): Change $auxdir while generating
48349         the contents of $testsbase.
48350         Reported by Ralf Wildenhues.
48351
48352 2007-12-22  Bruno Haible  <bruno@clisp.org>
48353
48354         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
48355         two variables local_ldadd_before, local_ldadd_last.
48356
48357 2007-12-20  Eric Blake  <ebb9@byu.net>
48358
48359         Work around circular library issue when cross-compiling.
48360         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
48361         that progname.o does not need to pull in rpl_memcmp.
48362
48363 2007-12-19  Eric Blake  <ebb9@byu.net>
48364
48365         Fix memmem to avoid O(n^2) worst-case complexity.
48366         * lib/memmem.c (knuth_morris_pratt): New function.
48367         (memmem): Use it if first few naive iterations fail.
48368         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
48369         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
48370         * modules/memchr (License): Likewise.
48371         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
48372         malloca.
48373         * tests/test-memmem.c: Rewrite, borrowing ideas from
48374         test-mbsstr1.c; the old version wouldn't even compile!
48375         * modules/memmem-tests: New file.
48376         * lib/string.in.h (rpl_memmem): Add declaration.
48377         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
48378         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
48379         REPLACE_MEMMEM.
48380
48381 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
48382
48383         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
48384         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
48385         before any system include files, and undef after them all.  This
48386         should fix a problem on VMS reported by John E. Malmberg in
48387         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
48388
48389 2007-12-17  Eric Blake  <ebb9@byu.net>
48390
48391         Revert addition of verify, for BSD/OS.
48392         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
48393         can't handle large files, for the sake of obsolete platforms.
48394         * modules/fseeko (Depends-on): Remove verify.
48395         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
48396         * doc/functions/ftello.texi (ftello): Likewise.
48397         * doc/functions/fgetpos.texi (fgetpos): Likewise.
48398         Reported by Larry Jones.
48399
48400 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
48401
48402         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
48403         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
48404
48405 2007-12-17  Jim Meyering  <meyering@redhat.com>
48406
48407         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
48408         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
48409         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
48410         * modules/getcwd (Depends-on): Add openat.
48411         Reported by Petr Salinger.
48412
48413 2007-12-17  Bruno Haible  <bruno@clisp.org>
48414
48415         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
48416         avoid a segmentation fault of the configure test on x86_64 systems.
48417
48418 2007-12-15  Jim Meyering  <meyering@redhat.com>
48419
48420         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
48421
48422 2007-12-13  Eric Blake  <ebb9@byu.net>
48423
48424         Another fseek test.
48425         * tests/test-fseek.c (main): Also test ungetc handling.
48426         * tests/test-fseeko.c (main): Likewise.
48427         * modules/fseeko (Depends-on): Add verify.
48428         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
48429         large.
48430         Reported by Larry Jones.
48431
48432         Fix fseeko on mingw.
48433         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
48434         seek.
48435
48436         Beef up fseek tests.
48437         * tests/test-fseek.c (main): Also test eof handling.
48438         * tests/test-fseeko.c (main): Likewise.
48439         Reported by Larry Jones.
48440
48441 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
48442
48443         Fix fseeko on BSD-based platforms.
48444         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
48445         successful seek.
48446
48447 2007-12-12  Eric Blake  <ebb9@byu.net>
48448
48449         Allow circular dependency of separate libtests.a
48450         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
48451         when use_libtests.
48452
48453 2007-12-11  Eric Blake  <ebb9@byu.net>
48454
48455         Fix bug with -0.0L in previous patch.
48456         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
48457         * tests/test-isnan.c (main): Also test on zeroes.
48458         * tests/test-isnanf.c (main): Likewise.
48459         * tests/test-isnanl.h (main): Likewise.
48460
48461         Detect pseudo-denormals on x86 even when cross-compiling.
48462         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
48463         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
48464         invalid bit patterns that happen to satisfy ==.
48465
48466         Avoid link failures with separate libtests.a.
48467         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
48468         last, to satisfy circular dependencies.
48469
48470 2007-12-11  Eric Blake  <ebb9@byu.net>
48471         and Bruno Haible  <bruno@clisp.org>
48472
48473         Fix OpenBSD 4.0 <float.h> handling of long double.
48474         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
48475         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
48476         * doc/headers/float.texi (float.h): Document OpenBSD bug.
48477
48478 2007-12-11  Jim Meyering  <meyering@redhat.com>
48479
48480         * users.txt: Add libvirt.
48481
48482         Support versions of autoconf prior to 2.59c.
48483         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
48484         if it is not already defined.
48485
48486 2007-12-09  Bruno Haible  <bruno@clisp.org>
48487
48488         Let 'gnulib-tool --import' collect sources needed for the tests in
48489         tests/ rather than in lib/.
48490         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
48491         argument. If true, add rules to generate libtests.a, and put libtests.a
48492         into $(LDADD). Consider source files in subdirectories and set
48493         uses_subdirs.
48494         (func_emit_initmacro_start, func_emit_initmacro_end,
48495         func_emit_initmacro_done): Pass all arguments explicitly.
48496         (func_import): Determine two module lists main_modules,
48497         testsrelated_modules. Determine use_libtests. Determine two variables
48498         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
48499         instead of just sed_transform_lib_file. Determine two variables
48500         main_files and testsrelated_files. Compute 'files' as the union of
48501         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
48502         func_add_or_update. In the generated gnulib-comp.m4, collect the
48503         object files for tests/ in different variables than those for lib/.
48504         Substitute LIBTESTS_LIBDEPS.
48505         (func_create_testdir): Combine the uses_subdirs results from
48506         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
48507
48508 2007-12-09  Bruno Haible  <bruno@clisp.org>
48509
48510         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
48511         the build-aux directory.
48512
48513 2007-12-09  Bruno Haible  <bruno@clisp.org>
48514
48515         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
48516         introduced on 2006-09-09.
48517
48518 2007-12-07  Jim Meyering  <meyering@redhat.com>
48519
48520         Let these macros work also with autoconf-2.59.
48521         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
48522         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
48523         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
48524
48525 2007-12-06  Jim Meyering  <meyering@redhat.com>
48526
48527         Avoid a configure-time syntax error in gl_FUNC_ACL.
48528         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
48529         function in each branch, before testing the cache variable.
48530
48531 2007-12-04  Eric Blake  <ebb9@byu.net>
48532
48533         Make scripts executable.
48534         * build-aux/config.guess: Add execute permissions.
48535         * build-aux/config.sub: Likewise.
48536         * build-aux/gendocs.sh: Likewise.
48537
48538         Fix frexp on mingw.
48539         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
48540         cross-compiling.
48541         * doc/functions/frexp.texi (frexp): Document the bug.
48542
48543         Make cygwin fseeko check more reliable.
48544         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
48545         version numbers, rather than unrelated feature check.
48546         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
48547         * doc/functions/ftello.texi (ftello): Likewise.
48548         Reported by Bruno Haible.
48549
48550         * m4/strerror.m4: Bump version number.
48551
48552 2007-12-03  Bruno Haible  <bruno@clisp.org>
48553
48554         * doc/functions/mprotect.texi: Mention the mingw problem.
48555
48556 2007-12-03  Eric Blake  <ebb9@byu.net>
48557
48558         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
48559         REPLACE_STRERROR is initialized before this macro.
48560
48561 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
48562
48563         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
48564         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
48565         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
48566         put -lsec in even for programs other than 'ls'.  This fixes a problem
48567         for gettext reported by Bruno Haible in
48568         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
48569         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
48570         Add support for Solaris 10.  This isn't efficient, but should get the
48571         job done for now.
48572
48573 2007-12-03  James Youngman  <jay@gnu.org>
48574
48575         * doc/regexprops-generic.texi: change "an close-group" to "a
48576         close-group" and "illegal" to "not allowed".
48577
48578 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48579
48580         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
48581         pr_byname.h. Needed for the rare case when the maintainer has done
48582         "make maintainer-clean" in the source directory and then attempts a
48583         build outside the source directory.
48584         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
48585         scripts_byname.h.
48586
48587 2007-12-02  Martin Lambers <marlam@marlam.de>
48588             Bruno Haible  <bruno@clisp.org>
48589
48590         * lib/getpagesize.h: Remove file.
48591         * lib/unistd.in.h: Include declaration of getpagesize here.
48592         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
48593         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
48594         HAVE_SYS_PARAM_H.
48595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
48596         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
48597         * modules/getpagesize (Files): Remove lib/getpagesize.h.
48598         (Depends-on): Add unistd.
48599         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48600         (Include): Use <unistd.h> instead of getpagesize.h.
48601         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
48602         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
48603         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
48604         gl_GETPAGESIZE invocation, already handled by module dependency.
48605         * lib/pagealign_alloc.c: Don't include getpagesize.h.
48606
48607 2007-12-02  Bruno Haible  <bruno@clisp.org>
48608
48609         * modules/strings-tests: New file.
48610         * tests/test-strings.c: New file.
48611
48612         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
48613         * lib/strings.in.h: New file.
48614         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
48615         * m4/strings_h.m4: New file.
48616         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
48617         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
48618         * modules/strings: New file.
48619         * modules/string (Makefile.am): Update.
48620         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
48621         Reported by Karl Berry.
48622
48623 2007-12-01  Eric Blake  <ebb9@byu.net>
48624
48625         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
48626         accomodate fix in cygwin 1.5.25.
48627
48628 2007-12-01  Jim Meyering  <meyering@redhat.com>
48629
48630         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
48631         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
48632         that would inhibit utf8-optimization of a regexp containing line-
48633         or buffer-anchors, e.g., `^', `$'.
48634
48635 2007-11-30  Bruno Haible  <bruno@clisp.org>
48636
48637         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
48638         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
48639         glthread_recursive_lock_init.
48640         * lib/lock.c (glthread_recursive_lock_init)
48641         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
48642         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48643
48644 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
48645
48646         New function qset_acl, like set_acl but with syscall semantics.
48647         * lib/acl.h (qset_acl): New decl.
48648         * lib/acl.c (qset_acl): New function.
48649         (set_acl): Use new function.  Use more-consistent diagnostics.
48650
48651 2007-11-28  Jim Meyering  <meyering@redhat.com>
48652
48653         * modules/physmem (License): Change from GPL to LGPLv2+.
48654
48655 2007-11-26  Bruno Haible  <bruno@clisp.org>
48656
48657         * lib/vasnprintf.c (decode_long_double): Don't abort if the
48658         'long double' type has excess precision.
48659         Reported by Jim Meyering in
48660         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
48661
48662 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48663
48664         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
48665         Sync from <http://gnu.org/licenses>.
48666         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
48667         with license text from same location.
48668         * doc/maintain.texi, doc/standards.texi:  Sync from
48669         <http://savannah.gnu.org/projects/gnustandards>.
48670
48671 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
48672         and Jim Meyering  <meyering@redhat.com>
48673
48674         Adjust getdate' grammar to accept a slightly more regular language.
48675         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
48676         Before, the former was rejected.
48677         * lib/getdate.y (digits_to_date_time): New function, factored
48678         out of ...
48679         (number): ...here.  Just call digits_to_date_time.
48680         (hybrid): New non-terminal to handle an <unsigned number,
48681         signed relative offset> sequence consistently.
48682
48683 2007-11-18  Jim Meyering  <meyering@redhat.com>
48684
48685         Pull my changes from coreutils:
48686         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
48687         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
48688         use of $gnulib_tool_option_extras, so that it's separated from the
48689         preceding argument.
48690
48691         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
48692         * build-aux/bootstrap (cp_mark_as_generated): Create any required
48693         parent destination directories before copying a file into place.
48694
48695 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
48696
48697         bootstrap: work also with 4-argument variant of AC_INIT
48698         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
48699
48700 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
48701
48702         Port test-getaddrinfo to Solaris.
48703         Problem reported by Bruno Haible in
48704         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
48705         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
48706         explanation of setting 'hints'.
48707         Don't reject an implementation merely because it returns EAI_SERVICE.
48708         (EAI_SERVICE): Define to 0 if not defined.
48709
48710 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
48711
48712         The license of gnu-make and posix-shell is now "GPLed build tool".
48713         * modules/gnu-make (License): Likewise.
48714         * modules/posix-shell (License): Likewise.
48715
48716         New module posix-shell, for determining a POSIX shell
48717         or perhaps something that is close enough to a POSIX shell.
48718         * m4/posix-shell.m4: New file.
48719         * modules/posix-shell: New file.
48720
48721         * MODULES.html.sh: Mention new module.
48722
48723         New module gnu-make, for determining whether we're using GNU Make.
48724         * m4/gnu-make.m4: New file.
48725         * modules/gnu-make: New file.
48726         * MODULES.html.sh: Mention new module.
48727
48728 2007-11-14  Jim Meyering  <meyering@redhat.com>
48729
48730         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
48731         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
48732         use this macro to create a function _definition_.
48733         Remove useless "#undef ARGMATCH_DIE".
48734
48735 2007-11-14  Bruno Haible  <bruno@clisp.org>
48736
48737         * lib/config.charset: Update for OpenBSD 4.1.
48738         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
48739
48740 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
48741
48742         Document 64-bit #if problems in stdint.texi.
48743         * doc/headers/stdint.texi (stdint.h): Mention problems with
48744         64-bit-#if, and how to work around them.
48745
48746         Don't insist on 'long long int' support in the preprocessor.  It
48747         breaks too many things.  For example, PRIdMAX still uses a 'long
48748         long int' format with the latest Sun compiler, even though
48749         HAVE_LONG_LONG_INT isn't defined due to that compiler's
48750         preprocessor problem.  This causes the latest coreutils to dump
48751         core on Solaris 10 sparc with the Sun C compiler.
48752         Instead, fix the 2007-10-16 problem in a different way, by evaluating
48753         the troublesome expressions at configure-time, not at #if-time.
48754         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
48755         preprocessor.
48756         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
48757         compile-time C checks, done at 'configure'-time.
48758         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
48759         * modules/inttypes (Makefile): Substitute the new symbols that
48760         gl_INTTYPES_H now generates.
48761         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
48762
48763 2007-11-12  Bruno Haible  <bruno@clisp.org>
48764
48765         Tests for Unicode character classification functions.
48766
48767         * modules/unictype/bidicategory-byname-tests: New file.
48768         * modules/unictype/bidicategory-name-tests: New file.
48769         * modules/unictype/bidicategory-of-tests: New file.
48770         * modules/unictype/bidicategory-test-tests: New file.
48771         * modules/unictype/block-list-tests: New file.
48772         * modules/unictype/block-of-tests: New file.
48773         * modules/unictype/block-test-tests: New file.
48774         * modules/unictype/category-C-tests: New file.
48775         * modules/unictype/category-Cc-tests: New file.
48776         * modules/unictype/category-Cf-tests: New file.
48777         * modules/unictype/category-Cn-tests: New file.
48778         * modules/unictype/category-Co-tests: New file.
48779         * modules/unictype/category-Cs-tests: New file.
48780         * modules/unictype/category-L-tests: New file.
48781         * modules/unictype/category-Ll-tests: New file.
48782         * modules/unictype/category-Lm-tests: New file.
48783         * modules/unictype/category-Lo-tests: New file.
48784         * modules/unictype/category-Lt-tests: New file.
48785         * modules/unictype/category-Lu-tests: New file.
48786         * modules/unictype/category-M-tests: New file.
48787         * modules/unictype/category-Mc-tests: New file.
48788         * modules/unictype/category-Me-tests: New file.
48789         * modules/unictype/category-Mn-tests: New file.
48790         * modules/unictype/category-N-tests: New file.
48791         * modules/unictype/category-Nd-tests: New file.
48792         * modules/unictype/category-Nl-tests: New file.
48793         * modules/unictype/category-No-tests: New file.
48794         * modules/unictype/category-P-tests: New file.
48795         * modules/unictype/category-Pc-tests: New file.
48796         * modules/unictype/category-Pd-tests: New file.
48797         * modules/unictype/category-Pe-tests: New file.
48798         * modules/unictype/category-Pf-tests: New file.
48799         * modules/unictype/category-Pi-tests: New file.
48800         * modules/unictype/category-Po-tests: New file.
48801         * modules/unictype/category-Ps-tests: New file.
48802         * modules/unictype/category-S-tests: New file.
48803         * modules/unictype/category-Sc-tests: New file.
48804         * modules/unictype/category-Sk-tests: New file.
48805         * modules/unictype/category-Sm-tests: New file.
48806         * modules/unictype/category-So-tests: New file.
48807         * modules/unictype/category-Z-tests: New file.
48808         * modules/unictype/category-Zl-tests: New file.
48809         * modules/unictype/category-Zp-tests: New file.
48810         * modules/unictype/category-Zs-tests: New file.
48811         * modules/unictype/category-and-not-tests: New file.
48812         * modules/unictype/category-and-tests: New file.
48813         * modules/unictype/category-byname-tests: New file.
48814         * modules/unictype/category-name-tests: New file.
48815         * modules/unictype/category-none-tests: New file.
48816         * modules/unictype/category-of-tests: New file.
48817         * modules/unictype/category-or-tests: New file.
48818         * modules/unictype/category-test-withtable-tests: New file.
48819         * modules/unictype/combining-class-tests: New file.
48820         * modules/unictype/ctype-alnum-tests: New file.
48821         * modules/unictype/ctype-alpha-tests: New file.
48822         * modules/unictype/ctype-blank-tests: New file.
48823         * modules/unictype/ctype-cntrl-tests: New file.
48824         * modules/unictype/ctype-digit-tests: New file.
48825         * modules/unictype/ctype-graph-tests: New file.
48826         * modules/unictype/ctype-lower-tests: New file.
48827         * modules/unictype/ctype-print-tests: New file.
48828         * modules/unictype/ctype-punct-tests: New file.
48829         * modules/unictype/ctype-space-tests: New file.
48830         * modules/unictype/ctype-upper-tests: New file.
48831         * modules/unictype/ctype-xdigit-tests: New file.
48832         * modules/unictype/decimal-digit-tests: New file.
48833         * modules/unictype/digit-tests: New file.
48834         * modules/unictype/mirror-tests: New file.
48835         * modules/unictype/numeric-tests: New file.
48836         * modules/unictype/property-alphabetic-tests: New file.
48837         * modules/unictype/property-ascii-hex-digit-tests: New file.
48838         * modules/unictype/property-bidi-arabic-digit-tests: New file.
48839         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
48840         * modules/unictype/property-bidi-block-separator-tests: New file.
48841         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
48842         * modules/unictype/property-bidi-common-separator-tests: New file.
48843         * modules/unictype/property-bidi-control-tests: New file.
48844         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
48845         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
48846         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
48847         * modules/unictype/property-bidi-european-digit-tests: New file.
48848         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
48849         * modules/unictype/property-bidi-left-to-right-tests: New file.
48850         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
48851         * modules/unictype/property-bidi-other-neutral-tests: New file.
48852         * modules/unictype/property-bidi-pdf-tests: New file.
48853         * modules/unictype/property-bidi-segment-separator-tests: New file.
48854         * modules/unictype/property-bidi-whitespace-tests: New file.
48855         * modules/unictype/property-byname-tests: New file.
48856         * modules/unictype/property-combining-tests: New file.
48857         * modules/unictype/property-composite-tests: New file.
48858         * modules/unictype/property-currency-symbol-tests: New file.
48859         * modules/unictype/property-dash-tests: New file.
48860         * modules/unictype/property-decimal-digit-tests: New file.
48861         * modules/unictype/property-default-ignorable-code-point-tests: New file.
48862         * modules/unictype/property-deprecated-tests: New file.
48863         * modules/unictype/property-diacritic-tests: New file.
48864         * modules/unictype/property-extender-tests: New file.
48865         * modules/unictype/property-format-control-tests: New file.
48866         * modules/unictype/property-grapheme-base-tests: New file.
48867         * modules/unictype/property-grapheme-extend-tests: New file.
48868         * modules/unictype/property-grapheme-link-tests: New file.
48869         * modules/unictype/property-hex-digit-tests: New file.
48870         * modules/unictype/property-hyphen-tests: New file.
48871         * modules/unictype/property-id-continue-tests: New file.
48872         * modules/unictype/property-id-start-tests: New file.
48873         * modules/unictype/property-ideographic-tests: New file.
48874         * modules/unictype/property-ids-binary-operator-tests: New file.
48875         * modules/unictype/property-ids-trinary-operator-tests: New file.
48876         * modules/unictype/property-ignorable-control-tests: New file.
48877         * modules/unictype/property-iso-control-tests: New file.
48878         * modules/unictype/property-join-control-tests: New file.
48879         * modules/unictype/property-left-of-pair-tests: New file.
48880         * modules/unictype/property-line-separator-tests: New file.
48881         * modules/unictype/property-logical-order-exception-tests: New file.
48882         * modules/unictype/property-lowercase-tests: New file.
48883         * modules/unictype/property-math-tests: New file.
48884         * modules/unictype/property-non-break-tests: New file.
48885         * modules/unictype/property-not-a-character-tests: New file.
48886         * modules/unictype/property-numeric-tests: New file.
48887         * modules/unictype/property-other-alphabetic-tests: New file.
48888         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
48889         * modules/unictype/property-other-grapheme-extend-tests: New file.
48890         * modules/unictype/property-other-id-continue-tests: New file.
48891         * modules/unictype/property-other-id-start-tests: New file.
48892         * modules/unictype/property-other-lowercase-tests: New file.
48893         * modules/unictype/property-other-math-tests: New file.
48894         * modules/unictype/property-other-uppercase-tests: New file.
48895         * modules/unictype/property-paired-punctuation-tests: New file.
48896         * modules/unictype/property-paragraph-separator-tests: New file.
48897         * modules/unictype/property-pattern-syntax-tests: New file.
48898         * modules/unictype/property-pattern-white-space-tests: New file.
48899         * modules/unictype/property-private-use-tests: New file.
48900         * modules/unictype/property-punctuation-tests: New file.
48901         * modules/unictype/property-quotation-mark-tests: New file.
48902         * modules/unictype/property-radical-tests: New file.
48903         * modules/unictype/property-sentence-terminal-tests: New file.
48904         * modules/unictype/property-soft-dotted-tests: New file.
48905         * modules/unictype/property-space-tests: New file.
48906         * modules/unictype/property-terminal-punctuation-tests: New file.
48907         * modules/unictype/property-test-tests: New file.
48908         * modules/unictype/property-titlecase-tests: New file.
48909         * modules/unictype/property-unassigned-code-value-tests: New file.
48910         * modules/unictype/property-unified-ideograph-tests: New file.
48911         * modules/unictype/property-uppercase-tests: New file.
48912         * modules/unictype/property-variation-selector-tests: New file.
48913         * modules/unictype/property-white-space-tests: New file.
48914         * modules/unictype/property-xid-continue-tests: New file.
48915         * modules/unictype/property-xid-start-tests: New file.
48916         * modules/unictype/property-zero-width-tests: New file.
48917         * modules/unictype/scripts-tests: New file.
48918         * modules/unictype/syntax-c-ident-tests: New file.
48919         * modules/unictype/syntax-c-whitespace-tests: New file.
48920         * modules/unictype/syntax-java-ident-tests: New file.
48921         * modules/unictype/syntax-java-whitespace-tests: New file.
48922         * tests/unictype/test-bidi_byname.c: New file.
48923         * tests/unictype/test-bidi_name.c: New file.
48924         * tests/unictype/test-bidi_of.c: New file.
48925         * tests/unictype/test-bidi_test.c: New file.
48926         * tests/unictype/test-block_list.c: New file.
48927         * tests/unictype/test-block_of.c: New file.
48928         * tests/unictype/test-block_test.c: New file.
48929         * tests/unictype/test-categ_and.c: New file.
48930         * tests/unictype/test-categ_and_not.c: New file.
48931         * tests/unictype/test-categ_byname.c: New file.
48932         * tests/unictype/test-categ_name.c: New file.
48933         * tests/unictype/test-categ_none.c: New file.
48934         * tests/unictype/test-categ_of.c: New file.
48935         * tests/unictype/test-categ_or.c: New file.
48936         * tests/unictype/test-categ_test_withtable.c: New file.
48937         * tests/unictype/test-combining.c: New file.
48938         * tests/unictype/test-decdigit.c: New file.
48939         * tests/unictype/test-digit.c: New file.
48940         * tests/unictype/test-mirror.c: New file.
48941         * tests/unictype/test-numeric.c: New file.
48942         * tests/unictype/test-pr_byname.c: New file.
48943         * tests/unictype/test-pr_test.c: New file.
48944         * tests/unictype/test-predicate-part1.h: New file.
48945         * tests/unictype/test-predicate-part2.h: New file.
48946         * tests/unictype/test-scripts.c: New file.
48947         * tests/unictype/test-sy_c_ident.c: New file.
48948         * tests/unictype/test-sy_java_ident.c: New file.
48949
48950         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
48951         for Unicode 5.0.0.
48952         * tests/unictype/test-categ_Cc.c: Likewise.
48953         * tests/unictype/test-categ_Cf.c: Likewise.
48954         * tests/unictype/test-categ_Cn.c: Likewise.
48955         * tests/unictype/test-categ_Co.c: Likewise.
48956         * tests/unictype/test-categ_Cs.c: Likewise.
48957         * tests/unictype/test-categ_L.c: Likewise.
48958         * tests/unictype/test-categ_Ll.c: Likewise.
48959         * tests/unictype/test-categ_Lm.c: Likewise.
48960         * tests/unictype/test-categ_Lo.c: Likewise.
48961         * tests/unictype/test-categ_Lt.c: Likewise.
48962         * tests/unictype/test-categ_Lu.c: Likewise.
48963         * tests/unictype/test-categ_M.c: Likewise.
48964         * tests/unictype/test-categ_Mc.c: Likewise.
48965         * tests/unictype/test-categ_Me.c: Likewise.
48966         * tests/unictype/test-categ_Mn.c: Likewise.
48967         * tests/unictype/test-categ_N.c: Likewise.
48968         * tests/unictype/test-categ_Nd.c: Likewise.
48969         * tests/unictype/test-categ_Nl.c: Likewise.
48970         * tests/unictype/test-categ_No.c: Likewise.
48971         * tests/unictype/test-categ_P.c: Likewise.
48972         * tests/unictype/test-categ_Pc.c: Likewise.
48973         * tests/unictype/test-categ_Pd.c: Likewise.
48974         * tests/unictype/test-categ_Pe.c: Likewise.
48975         * tests/unictype/test-categ_Pf.c: Likewise.
48976         * tests/unictype/test-categ_Pi.c: Likewise.
48977         * tests/unictype/test-categ_Po.c: Likewise.
48978         * tests/unictype/test-categ_Ps.c: Likewise.
48979         * tests/unictype/test-categ_S.c: Likewise.
48980         * tests/unictype/test-categ_Sc.c: Likewise.
48981         * tests/unictype/test-categ_Sk.c: Likewise.
48982         * tests/unictype/test-categ_Sm.c: Likewise.
48983         * tests/unictype/test-categ_So.c: Likewise.
48984         * tests/unictype/test-categ_Z.c: Likewise.
48985         * tests/unictype/test-categ_Zl.c: Likewise.
48986         * tests/unictype/test-categ_Zp.c: Likewise.
48987         * tests/unictype/test-categ_Zs.c: Likewise.
48988         * tests/unictype/test-ctype_alnum.c: Likewise.
48989         * tests/unictype/test-ctype_alpha.c: Likewise.
48990         * tests/unictype/test-ctype_blank.c: Likewise.
48991         * tests/unictype/test-ctype_cntrl.c: Likewise.
48992         * tests/unictype/test-ctype_digit.c: Likewise.
48993         * tests/unictype/test-ctype_graph.c: Likewise.
48994         * tests/unictype/test-ctype_lower.c: Likewise.
48995         * tests/unictype/test-ctype_print.c: Likewise.
48996         * tests/unictype/test-ctype_punct.c: Likewise.
48997         * tests/unictype/test-ctype_space.c: Likewise.
48998         * tests/unictype/test-ctype_upper.c: Likewise.
48999         * tests/unictype/test-ctype_xdigit.c: Likewise.
49000         * tests/unictype/test-decdigit.h: Likewise.
49001         * tests/unictype/test-digit.h: Likewise.
49002         * tests/unictype/test-numeric.h: Likewise.
49003         * tests/unictype/test-pr_alphabetic.c: Likewise.
49004         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
49005         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
49006         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
49007         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
49008         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
49009         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
49010         * tests/unictype/test-pr_bidi_control.c: Likewise.
49011         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
49012         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
49013         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
49014         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
49015         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
49016         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
49017         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
49018         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
49019         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
49020         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
49021         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
49022         * tests/unictype/test-pr_combining.c: Likewise.
49023         * tests/unictype/test-pr_composite.c: Likewise.
49024         * tests/unictype/test-pr_currency_symbol.c: Likewise.
49025         * tests/unictype/test-pr_dash.c: Likewise.
49026         * tests/unictype/test-pr_decimal_digit.c: Likewise.
49027         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
49028         * tests/unictype/test-pr_deprecated.c: Likewise.
49029         * tests/unictype/test-pr_diacritic.c: Likewise.
49030         * tests/unictype/test-pr_extender.c: Likewise.
49031         * tests/unictype/test-pr_format_control.c: Likewise.
49032         * tests/unictype/test-pr_grapheme_base.c: Likewise.
49033         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
49034         * tests/unictype/test-pr_grapheme_link.c: Likewise.
49035         * tests/unictype/test-pr_hex_digit.c: Likewise.
49036         * tests/unictype/test-pr_hyphen.c: Likewise.
49037         * tests/unictype/test-pr_id_continue.c: Likewise.
49038         * tests/unictype/test-pr_id_start.c: Likewise.
49039         * tests/unictype/test-pr_ideographic.c: Likewise.
49040         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
49041         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
49042         * tests/unictype/test-pr_ignorable_control.c: Likewise.
49043         * tests/unictype/test-pr_iso_control.c: Likewise.
49044         * tests/unictype/test-pr_join_control.c: Likewise.
49045         * tests/unictype/test-pr_left_of_pair.c: Likewise.
49046         * tests/unictype/test-pr_line_separator.c: Likewise.
49047         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
49048         * tests/unictype/test-pr_lowercase.c: Likewise.
49049         * tests/unictype/test-pr_math.c: Likewise.
49050         * tests/unictype/test-pr_non_break.c: Likewise.
49051         * tests/unictype/test-pr_not_a_character.c: Likewise.
49052         * tests/unictype/test-pr_numeric.c: Likewise.
49053         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
49054         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
49055         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
49056         * tests/unictype/test-pr_other_id_continue.c: Likewise.
49057         * tests/unictype/test-pr_other_id_start.c: Likewise.
49058         * tests/unictype/test-pr_other_lowercase.c: Likewise.
49059         * tests/unictype/test-pr_other_math.c: Likewise.
49060         * tests/unictype/test-pr_other_uppercase.c: Likewise.
49061         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
49062         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
49063         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
49064         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
49065         * tests/unictype/test-pr_private_use.c: Likewise.
49066         * tests/unictype/test-pr_punctuation.c: Likewise.
49067         * tests/unictype/test-pr_quotation_mark.c: Likewise.
49068         * tests/unictype/test-pr_radical.c: Likewise.
49069         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
49070         * tests/unictype/test-pr_soft_dotted.c: Likewise.
49071         * tests/unictype/test-pr_space.c: Likewise.
49072         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
49073         * tests/unictype/test-pr_titlecase.c: Likewise.
49074         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
49075         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
49076         * tests/unictype/test-pr_uppercase.c: Likewise.
49077         * tests/unictype/test-pr_variation_selector.c: Likewise.
49078         * tests/unictype/test-pr_white_space.c: Likewise.
49079         * tests/unictype/test-pr_xid_continue.c: Likewise.
49080         * tests/unictype/test-pr_xid_start.c: Likewise.
49081         * tests/unictype/test-pr_zero_width.c: Likewise.
49082         * tests/unictype/test-sy_c_whitespace.c: Likewise.
49083         * tests/unictype/test-sy_java_whitespace.c: Likewise.
49084
49085 2007-11-12  Bruno Haible  <bruno@clisp.org>
49086
49087         Unicode character classification functions.
49088         * lib/unictype.h: New file.
49089         * modules/unictype/base: New file.
49090         * modules/unictype/category-L: New file.
49091         * modules/unictype/category-Lu: New file.
49092         * modules/unictype/category-Ll: New file.
49093         * modules/unictype/category-Lt: New file.
49094         * modules/unictype/category-Lm: New file.
49095         * modules/unictype/category-Lo: New file.
49096         * modules/unictype/category-M: New file.
49097         * modules/unictype/category-Mn: New file.
49098         * modules/unictype/category-Mc: New file.
49099         * modules/unictype/category-Me: New file.
49100         * modules/unictype/category-N: New file.
49101         * modules/unictype/category-Nd: New file.
49102         * modules/unictype/category-Nl: New file.
49103         * modules/unictype/category-No: New file.
49104         * modules/unictype/category-P: New file.
49105         * modules/unictype/category-Pc: New file.
49106         * modules/unictype/category-Pd: New file.
49107         * modules/unictype/category-Ps: New file.
49108         * modules/unictype/category-Pe: New file.
49109         * modules/unictype/category-Pi: New file.
49110         * modules/unictype/category-Pf: New file.
49111         * modules/unictype/category-Po: New file.
49112         * modules/unictype/category-S: New file.
49113         * modules/unictype/category-Sm: New file.
49114         * modules/unictype/category-Sc: New file.
49115         * modules/unictype/category-Sk: New file.
49116         * modules/unictype/category-So: New file.
49117         * modules/unictype/category-Z: New file.
49118         * modules/unictype/category-Zs: New file.
49119         * modules/unictype/category-Zl: New file.
49120         * modules/unictype/category-Zp: New file.
49121         * modules/unictype/category-C: New file.
49122         * modules/unictype/category-Cc: New file.
49123         * modules/unictype/category-Cf: New file.
49124         * modules/unictype/category-Cs: New file.
49125         * modules/unictype/category-Co: New file.
49126         * modules/unictype/category-Cn: New file.
49127         * modules/unictype/category-or: New file.
49128         * modules/unictype/category-of: New file.
49129         * modules/unictype/category-test: New file.
49130         * modules/unictype/category-test-withtable: New file.
49131         * modules/unictype/category-byname: New file.
49132         * modules/unictype/category-none: New file.
49133         * modules/unictype/category-and: New file.
49134         * modules/unictype/category-and-not: New file.
49135         * modules/unictype/category-name: New file.
49136         * modules/unictype/combining-class: New file.
49137         * modules/unictype/category-all: New file.
49138         * modules/unictype/bidicategory-all: New file.
49139         * modules/unictype/bidicategory-byname: New file.
49140         * modules/unictype/bidicategory-name: New file.
49141         * modules/unictype/bidicategory-of: New file.
49142         * modules/unictype/bidicategory-test: New file.
49143         * modules/unictype/decimal-digit: New file.
49144         * modules/unictype/digit: New file.
49145         * modules/unictype/numeric: New file.
49146         * modules/unictype/mirror: New file.
49147         * modules/unictype/property-white-space: New file.
49148         * modules/unictype/property-alphabetic: New file.
49149         * modules/unictype/property-other-alphabetic: New file.
49150         * modules/unictype/property-not-a-character: New file.
49151         * modules/unictype/property-default-ignorable-code-point: New file.
49152         * modules/unictype/property-other-default-ignorable-code-point: New
49153         file.
49154         * modules/unictype/property-deprecated: New file.
49155         * modules/unictype/property-logical-order-exception: New file.
49156         * modules/unictype/property-variation-selector: New file.
49157         * modules/unictype/property-private-use: New file.
49158         * modules/unictype/property-unassigned-code-value: New file.
49159         * modules/unictype/property-uppercase: New file.
49160         * modules/unictype/property-other-uppercase: New file.
49161         * modules/unictype/property-lowercase: New file.
49162         * modules/unictype/property-other-lowercase: New file.
49163         * modules/unictype/property-titlecase: New file.
49164         * modules/unictype/property-soft-dotted: New file.
49165         * modules/unictype/property-id-start: New file.
49166         * modules/unictype/property-other-id-start: New file.
49167         * modules/unictype/property-id-continue: New file.
49168         * modules/unictype/property-other-id-continue: New file.
49169         * modules/unictype/property-xid-start: New file.
49170         * modules/unictype/property-xid-continue: New file.
49171         * modules/unictype/property-pattern-white-space: New file.
49172         * modules/unictype/property-pattern-syntax: New file.
49173         * modules/unictype/property-join-control: New file.
49174         * modules/unictype/property-grapheme-base: New file.
49175         * modules/unictype/property-grapheme-extend: New file.
49176         * modules/unictype/property-other-grapheme-extend: New file.
49177         * modules/unictype/property-grapheme-link: New file.
49178         * modules/unictype/property-bidi-control: New file.
49179         * modules/unictype/property-bidi-left-to-right: New file.
49180         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
49181         * modules/unictype/property-bidi-arabic-right-to-left: New file.
49182         * modules/unictype/property-bidi-european-digit: New file.
49183         * modules/unictype/property-bidi-eur-num-separator: New file.
49184         * modules/unictype/property-bidi-eur-num-terminator: New file.
49185         * modules/unictype/property-bidi-arabic-digit: New file.
49186         * modules/unictype/property-bidi-common-separator: New file.
49187         * modules/unictype/property-bidi-block-separator: New file.
49188         * modules/unictype/property-bidi-segment-separator: New file.
49189         * modules/unictype/property-bidi-whitespace: New file.
49190         * modules/unictype/property-bidi-non-spacing-mark: New file.
49191         * modules/unictype/property-bidi-boundary-neutral: New file.
49192         * modules/unictype/property-bidi-pdf: New file.
49193         * modules/unictype/property-bidi-embedding-or-override: New file.
49194         * modules/unictype/property-bidi-other-neutral: New file.
49195         * modules/unictype/property-hex-digit: New file.
49196         * modules/unictype/property-ascii-hex-digit: New file.
49197         * modules/unictype/property-ideographic: New file.
49198         * modules/unictype/property-unified-ideograph: New file.
49199         * modules/unictype/property-radical: New file.
49200         * modules/unictype/property-ids-binary-operator: New file.
49201         * modules/unictype/property-ids-trinary-operator: New file.
49202         * modules/unictype/property-zero-width: New file.
49203         * modules/unictype/property-space: New file.
49204         * modules/unictype/property-non-break: New file.
49205         * modules/unictype/property-iso-control: New file.
49206         * modules/unictype/property-format-control: New file.
49207         * modules/unictype/property-dash: New file.
49208         * modules/unictype/property-hyphen: New file.
49209         * modules/unictype/property-punctuation: New file.
49210         * modules/unictype/property-line-separator: New file.
49211         * modules/unictype/property-paragraph-separator: New file.
49212         * modules/unictype/property-quotation-mark: New file.
49213         * modules/unictype/property-sentence-terminal: New file.
49214         * modules/unictype/property-terminal-punctuation: New file.
49215         * modules/unictype/property-currency-symbol: New file.
49216         * modules/unictype/property-math: New file.
49217         * modules/unictype/property-other-math: New file.
49218         * modules/unictype/property-paired-punctuation: New file.
49219         * modules/unictype/property-left-of-pair: New file.
49220         * modules/unictype/property-combining: New file.
49221         * modules/unictype/property-composite: New file.
49222         * modules/unictype/property-decimal-digit: New file.
49223         * modules/unictype/property-numeric: New file.
49224         * modules/unictype/property-diacritic: New file.
49225         * modules/unictype/property-extender: New file.
49226         * modules/unictype/property-ignorable-control: New file.
49227         * modules/unictype/property-test: New file.
49228         * modules/unictype/property-byname: New file.
49229         * modules/unictype/property-all: New file.
49230         * modules/unictype/scripts: New file.
49231         * modules/unictype/scripts-all: New file.
49232         * modules/unictype/block-of: New file.
49233         * modules/unictype/block-test: New file.
49234         * modules/unictype/block-list: New file.
49235         * modules/unictype/block-all: New file.
49236         * modules/unictype/syntax-c-whitespace: New file.
49237         * modules/unictype/syntax-java-whitespace: New file.
49238         * modules/unictype/syntax-c-ident: New file.
49239         * modules/unictype/syntax-java-ident: New file.
49240         * modules/unictype/ctype-alnum: New file.
49241         * modules/unictype/ctype-alpha: New file.
49242         * modules/unictype/ctype-cntrl: New file.
49243         * modules/unictype/ctype-digit: New file.
49244         * modules/unictype/ctype-graph: New file.
49245         * modules/unictype/ctype-lower: New file.
49246         * modules/unictype/ctype-print: New file.
49247         * modules/unictype/ctype-punct: New file.
49248         * modules/unictype/ctype-space: New file.
49249         * modules/unictype/ctype-upper: New file.
49250         * modules/unictype/ctype-xdigit: New file.
49251         * modules/unictype/ctype-blank: New file.
49252         * lib/unictype/bidi_byname.c: New file.
49253         * lib/unictype/bidi_name.c: New file.
49254         * lib/unictype/bidi_of.c: New file.
49255         * lib/unictype/bidi_test.c: New file.
49256         * lib/unictype/bitmap.h: New file.
49257         * lib/unictype/block_test.c: New file.
49258         * lib/unictype/blocks.c: New file.
49259         * lib/unictype/categ_C.c: New file.
49260         * lib/unictype/categ_Cc.c: New file.
49261         * lib/unictype/categ_Cf.c: New file.
49262         * lib/unictype/categ_Cn.c: New file.
49263         * lib/unictype/categ_Co.c: New file.
49264         * lib/unictype/categ_Cs.c: New file.
49265         * lib/unictype/categ_L.c: New file.
49266         * lib/unictype/categ_Ll.c: New file.
49267         * lib/unictype/categ_Lm.c: New file.
49268         * lib/unictype/categ_Lo.c: New file.
49269         * lib/unictype/categ_Lt.c: New file.
49270         * lib/unictype/categ_Lu.c: New file.
49271         * lib/unictype/categ_M.c: New file.
49272         * lib/unictype/categ_Mc.c: New file.
49273         * lib/unictype/categ_Me.c: New file.
49274         * lib/unictype/categ_Mn.c: New file.
49275         * lib/unictype/categ_N.c: New file.
49276         * lib/unictype/categ_Nd.c: New file.
49277         * lib/unictype/categ_Nl.c: New file.
49278         * lib/unictype/categ_No.c: New file.
49279         * lib/unictype/categ_P.c: New file.
49280         * lib/unictype/categ_Pc.c: New file.
49281         * lib/unictype/categ_Pd.c: New file.
49282         * lib/unictype/categ_Pe.c: New file.
49283         * lib/unictype/categ_Pf.c: New file.
49284         * lib/unictype/categ_Pi.c: New file.
49285         * lib/unictype/categ_Po.c: New file.
49286         * lib/unictype/categ_Ps.c: New file.
49287         * lib/unictype/categ_S.c: New file.
49288         * lib/unictype/categ_Sc.c: New file.
49289         * lib/unictype/categ_Sk.c: New file.
49290         * lib/unictype/categ_Sm.c: New file.
49291         * lib/unictype/categ_So.c: New file.
49292         * lib/unictype/categ_Z.c: New file.
49293         * lib/unictype/categ_Zl.c: New file.
49294         * lib/unictype/categ_Zp.c: New file.
49295         * lib/unictype/categ_Zs.c: New file.
49296         * lib/unictype/categ_and.c: New file.
49297         * lib/unictype/categ_and_not.c: New file.
49298         * lib/unictype/categ_byname.c: New file.
49299         * lib/unictype/categ_name.c: New file.
49300         * lib/unictype/categ_none.c: New file.
49301         * lib/unictype/categ_of.c: New file.
49302         * lib/unictype/categ_or.c: New file.
49303         * lib/unictype/categ_test.c: New file.
49304         * lib/unictype/combining.c: New file.
49305         * lib/unictype/ctype_alnum.c: New file.
49306         * lib/unictype/ctype_alpha.c: New file.
49307         * lib/unictype/ctype_blank.c: New file.
49308         * lib/unictype/ctype_cntrl.c: New file.
49309         * lib/unictype/ctype_digit.c: New file.
49310         * lib/unictype/ctype_graph.c: New file.
49311         * lib/unictype/ctype_lower.c: New file.
49312         * lib/unictype/ctype_print.c: New file.
49313         * lib/unictype/ctype_punct.c: New file.
49314         * lib/unictype/ctype_space.c: New file.
49315         * lib/unictype/ctype_upper.c: New file.
49316         * lib/unictype/ctype_xdigit.c: New file.
49317         * lib/unictype/decdigit.c: New file.
49318         * lib/unictype/digit.c: New file.
49319         * lib/unictype/identsyntaxmap.h: New file.
49320         * lib/unictype/mirror.c: New file.
49321         * lib/unictype/numeric.c: New file.
49322         * lib/unictype/pr_alphabetic.c: New file.
49323         * lib/unictype/pr_ascii_hex_digit.c: New file.
49324         * lib/unictype/pr_bidi_arabic_digit.c: New file.
49325         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
49326         * lib/unictype/pr_bidi_block_separator.c: New file.
49327         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
49328         * lib/unictype/pr_bidi_common_separator.c: New file.
49329         * lib/unictype/pr_bidi_control.c: New file.
49330         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
49331         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
49332         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
49333         * lib/unictype/pr_bidi_european_digit.c: New file.
49334         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
49335         * lib/unictype/pr_bidi_left_to_right.c: New file.
49336         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
49337         * lib/unictype/pr_bidi_other_neutral.c: New file.
49338         * lib/unictype/pr_bidi_pdf.c: New file.
49339         * lib/unictype/pr_bidi_segment_separator.c: New file.
49340         * lib/unictype/pr_bidi_whitespace.c: New file.
49341         * lib/unictype/pr_byname.c: New file.
49342         * lib/unictype/pr_byname.gperf: New file.
49343         * lib/unictype/pr_combining.c: New file.
49344         * lib/unictype/pr_composite.c: New file.
49345         * lib/unictype/pr_currency_symbol.c: New file.
49346         * lib/unictype/pr_dash.c: New file.
49347         * lib/unictype/pr_decimal_digit.c: New file.
49348         * lib/unictype/pr_default_ignorable_code_point.c: New file.
49349         * lib/unictype/pr_deprecated.c: New file.
49350         * lib/unictype/pr_diacritic.c: New file.
49351         * lib/unictype/pr_extender.c: New file.
49352         * lib/unictype/pr_format_control.c: New file.
49353         * lib/unictype/pr_grapheme_base.c: New file.
49354         * lib/unictype/pr_grapheme_extend.c: New file.
49355         * lib/unictype/pr_grapheme_link.c: New file.
49356         * lib/unictype/pr_hex_digit.c: New file.
49357         * lib/unictype/pr_hyphen.c: New file.
49358         * lib/unictype/pr_id_continue.c: New file.
49359         * lib/unictype/pr_id_start.c: New file.
49360         * lib/unictype/pr_ideographic.c: New file.
49361         * lib/unictype/pr_ids_binary_operator.c: New file.
49362         * lib/unictype/pr_ids_trinary_operator.c: New file.
49363         * lib/unictype/pr_ignorable_control.c: New file.
49364         * lib/unictype/pr_iso_control.c: New file.
49365         * lib/unictype/pr_join_control.c: New file.
49366         * lib/unictype/pr_left_of_pair.c: New file.
49367         * lib/unictype/pr_line_separator.c: New file.
49368         * lib/unictype/pr_logical_order_exception.c: New file.
49369         * lib/unictype/pr_lowercase.c: New file.
49370         * lib/unictype/pr_math.c: New file.
49371         * lib/unictype/pr_non_break.c: New file.
49372         * lib/unictype/pr_not_a_character.c: New file.
49373         * lib/unictype/pr_numeric.c: New file.
49374         * lib/unictype/pr_other_alphabetic.c: New file.
49375         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
49376         * lib/unictype/pr_other_grapheme_extend.c: New file.
49377         * lib/unictype/pr_other_id_continue.c: New file.
49378         * lib/unictype/pr_other_id_start.c: New file.
49379         * lib/unictype/pr_other_lowercase.c: New file.
49380         * lib/unictype/pr_other_math.c: New file.
49381         * lib/unictype/pr_other_uppercase.c: New file.
49382         * lib/unictype/pr_paired_punctuation.c: New file.
49383         * lib/unictype/pr_paragraph_separator.c: New file.
49384         * lib/unictype/pr_pattern_syntax.c: New file.
49385         * lib/unictype/pr_pattern_white_space.c: New file.
49386         * lib/unictype/pr_private_use.c: New file.
49387         * lib/unictype/pr_punctuation.c: New file.
49388         * lib/unictype/pr_quotation_mark.c: New file.
49389         * lib/unictype/pr_radical.c: New file.
49390         * lib/unictype/pr_sentence_terminal.c: New file.
49391         * lib/unictype/pr_soft_dotted.c: New file.
49392         * lib/unictype/pr_space.c: New file.
49393         * lib/unictype/pr_terminal_punctuation.c: New file.
49394         * lib/unictype/pr_test.c: New file.
49395         * lib/unictype/pr_titlecase.c: New file.
49396         * lib/unictype/pr_unassigned_code_value.c: New file.
49397         * lib/unictype/pr_unified_ideograph.c: New file.
49398         * lib/unictype/pr_uppercase.c: New file.
49399         * lib/unictype/pr_variation_selector.c: New file.
49400         * lib/unictype/pr_white_space.c: New file.
49401         * lib/unictype/pr_xid_continue.c: New file.
49402         * lib/unictype/pr_xid_start.c: New file.
49403         * lib/unictype/pr_zero_width.c: New file.
49404         * lib/unictype/scripts.c: New file.
49405         * lib/unictype/sy_c_ident.c: New file.
49406         * lib/unictype/sy_c_whitespace.c: New file.
49407         * lib/unictype/sy_java_ident.c: New file.
49408         * lib/unictype/sy_java_whitespace.c: New file.
49409
49410         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
49411         Unicode 5.0.0.
49412         * lib/unictype/blocks.h: Likewise.
49413         * lib/unictype/categ_C.h: Likewise.
49414         * lib/unictype/categ_Cc.h: Likewise.
49415         * lib/unictype/categ_Cf.h: Likewise.
49416         * lib/unictype/categ_Cn.h: Likewise.
49417         * lib/unictype/categ_Co.h: Likewise.
49418         * lib/unictype/categ_Cs.h: Likewise.
49419         * lib/unictype/categ_L.h: Likewise.
49420         * lib/unictype/categ_Ll.h: Likewise.
49421         * lib/unictype/categ_Lm.h: Likewise.
49422         * lib/unictype/categ_Lo.h: Likewise.
49423         * lib/unictype/categ_Lt.h: Likewise.
49424         * lib/unictype/categ_Lu.h: Likewise.
49425         * lib/unictype/categ_M.h: Likewise.
49426         * lib/unictype/categ_Mc.h: Likewise.
49427         * lib/unictype/categ_Me.h: Likewise.
49428         * lib/unictype/categ_Mn.h: Likewise.
49429         * lib/unictype/categ_N.h: Likewise.
49430         * lib/unictype/categ_Nd.h: Likewise.
49431         * lib/unictype/categ_Nl.h: Likewise.
49432         * lib/unictype/categ_No.h: Likewise.
49433         * lib/unictype/categ_P.h: Likewise.
49434         * lib/unictype/categ_Pc.h: Likewise.
49435         * lib/unictype/categ_Pd.h: Likewise.
49436         * lib/unictype/categ_Pe.h: Likewise.
49437         * lib/unictype/categ_Pf.h: Likewise.
49438         * lib/unictype/categ_Pi.h: Likewise.
49439         * lib/unictype/categ_Po.h: Likewise.
49440         * lib/unictype/categ_Ps.h: Likewise.
49441         * lib/unictype/categ_S.h: Likewise.
49442         * lib/unictype/categ_Sc.h: Likewise.
49443         * lib/unictype/categ_Sk.h: Likewise.
49444         * lib/unictype/categ_Sm.h: Likewise.
49445         * lib/unictype/categ_So.h: Likewise.
49446         * lib/unictype/categ_Z.h: Likewise.
49447         * lib/unictype/categ_Zl.h: Likewise.
49448         * lib/unictype/categ_Zp.h: Likewise.
49449         * lib/unictype/categ_Zs.h: Likewise.
49450         * lib/unictype/categ_of.h: Likewise.
49451         * lib/unictype/combining.h: Likewise.
49452         * lib/unictype/ctype_alnum.h: Likewise.
49453         * lib/unictype/ctype_alpha.h: Likewise.
49454         * lib/unictype/ctype_blank.h: Likewise.
49455         * lib/unictype/ctype_cntrl.h: Likewise.
49456         * lib/unictype/ctype_digit.h: Likewise.
49457         * lib/unictype/ctype_graph.h: Likewise.
49458         * lib/unictype/ctype_lower.h: Likewise.
49459         * lib/unictype/ctype_print.h: Likewise.
49460         * lib/unictype/ctype_punct.h: Likewise.
49461         * lib/unictype/ctype_space.h: Likewise.
49462         * lib/unictype/ctype_upper.h: Likewise.
49463         * lib/unictype/ctype_xdigit.h: Likewise.
49464         * lib/unictype/decdigit.h: Likewise.
49465         * lib/unictype/digit.h: Likewise.
49466         * lib/unictype/mirror.h: Likewise.
49467         * lib/unictype/numeric.h: Likewise.
49468         * lib/unictype/pr_alphabetic.h: Likewise.
49469         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
49470         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
49471         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
49472         * lib/unictype/pr_bidi_block_separator.h: Likewise.
49473         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
49474         * lib/unictype/pr_bidi_common_separator.h: Likewise.
49475         * lib/unictype/pr_bidi_control.h: Likewise.
49476         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
49477         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
49478         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
49479         * lib/unictype/pr_bidi_european_digit.h: Likewise.
49480         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
49481         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
49482         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
49483         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
49484         * lib/unictype/pr_bidi_pdf.h: Likewise.
49485         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
49486         * lib/unictype/pr_bidi_whitespace.h: Likewise.
49487         * lib/unictype/pr_combining.h: Likewise.
49488         * lib/unictype/pr_composite.h: Likewise.
49489         * lib/unictype/pr_currency_symbol.h: Likewise.
49490         * lib/unictype/pr_dash.h: Likewise.
49491         * lib/unictype/pr_decimal_digit.h: Likewise.
49492         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
49493         * lib/unictype/pr_deprecated.h: Likewise.
49494         * lib/unictype/pr_diacritic.h: Likewise.
49495         * lib/unictype/pr_extender.h: Likewise.
49496         * lib/unictype/pr_format_control.h: Likewise.
49497         * lib/unictype/pr_grapheme_base.h: Likewise.
49498         * lib/unictype/pr_grapheme_extend.h: Likewise.
49499         * lib/unictype/pr_grapheme_link.h: Likewise.
49500         * lib/unictype/pr_hex_digit.h: Likewise.
49501         * lib/unictype/pr_hyphen.h: Likewise.
49502         * lib/unictype/pr_id_continue.h: Likewise.
49503         * lib/unictype/pr_id_start.h: Likewise.
49504         * lib/unictype/pr_ideographic.h: Likewise.
49505         * lib/unictype/pr_ids_binary_operator.h: Likewise.
49506         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
49507         * lib/unictype/pr_ignorable_control.h: Likewise.
49508         * lib/unictype/pr_iso_control.h: Likewise.
49509         * lib/unictype/pr_join_control.h: Likewise.
49510         * lib/unictype/pr_left_of_pair.h: Likewise.
49511         * lib/unictype/pr_line_separator.h: Likewise.
49512         * lib/unictype/pr_logical_order_exception.h: Likewise.
49513         * lib/unictype/pr_lowercase.h: Likewise.
49514         * lib/unictype/pr_math.h: Likewise.
49515         * lib/unictype/pr_non_break.h: Likewise.
49516         * lib/unictype/pr_not_a_character.h: Likewise.
49517         * lib/unictype/pr_numeric.h: Likewise.
49518         * lib/unictype/pr_other_alphabetic.h: Likewise.
49519         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
49520         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
49521         * lib/unictype/pr_other_id_continue.h: Likewise.
49522         * lib/unictype/pr_other_id_start.h: Likewise.
49523         * lib/unictype/pr_other_lowercase.h: Likewise.
49524         * lib/unictype/pr_other_math.h: Likewise.
49525         * lib/unictype/pr_other_uppercase.h: Likewise.
49526         * lib/unictype/pr_paired_punctuation.h: Likewise.
49527         * lib/unictype/pr_paragraph_separator.h: Likewise.
49528         * lib/unictype/pr_pattern_syntax.h: Likewise.
49529         * lib/unictype/pr_pattern_white_space.h: Likewise.
49530         * lib/unictype/pr_private_use.h: Likewise.
49531         * lib/unictype/pr_punctuation.h: Likewise.
49532         * lib/unictype/pr_quotation_mark.h: Likewise.
49533         * lib/unictype/pr_radical.h: Likewise.
49534         * lib/unictype/pr_sentence_terminal.h: Likewise.
49535         * lib/unictype/pr_soft_dotted.h: Likewise.
49536         * lib/unictype/pr_space.h: Likewise.
49537         * lib/unictype/pr_terminal_punctuation.h: Likewise.
49538         * lib/unictype/pr_titlecase.h: Likewise.
49539         * lib/unictype/pr_unassigned_code_value.h: Likewise.
49540         * lib/unictype/pr_unified_ideograph.h: Likewise.
49541         * lib/unictype/pr_uppercase.h: Likewise.
49542         * lib/unictype/pr_variation_selector.h: Likewise.
49543         * lib/unictype/pr_white_space.h: Likewise.
49544         * lib/unictype/pr_xid_continue.h: Likewise.
49545         * lib/unictype/pr_xid_start.h: Likewise.
49546         * lib/unictype/pr_zero_width.h: Likewise.
49547         * lib/unictype/scripts.h: Likewise.
49548         * lib/unictype/scripts_byname.gperf: Likewise.
49549         * lib/unictype/sy_c_ident.h: Likewise.
49550         * lib/unictype/sy_c_whitespace.h: Likewise.
49551         * lib/unictype/sy_java_ident.h: Likewise.
49552         * lib/unictype/sy_java_whitespace.h: Likewise.
49553
49554         * lib/unictype/Makefile: New file.
49555         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
49556         glibc.
49557         * lib/unictype/3level.h: New file, copied from glibc.
49558         * lib/unictype/3levelbit.h: New file.
49559
49560 2007-11-11  Bruno Haible  <bruno@clisp.org>
49561
49562         * modules/gperf: New file.
49563         * modules/iconv_open (Depends-on): Add it.
49564         (Makefile.am): Remove the GPERF definition.
49565
49566 2007-11-11  Bruno Haible  <bruno@clisp.org>
49567
49568         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
49569         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
49570
49571 2007-11-11  Bruno Haible  <bruno@clisp.org>
49572
49573         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
49574         (usage): Remove function.
49575
49576 2007-11-11  Bruno Haible  <bruno@clisp.org>
49577
49578         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
49579         gl_FUNC_CEILF_LIBS.
49580         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
49581         gl_FUNC_CEIL_LIBS.
49582         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
49583         gl_FUNC_CEILL_LIBS.
49584         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
49585         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
49586         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
49587
49588 2007-11-11  Bruno Haible  <bruno@clisp.org>
49589
49590         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
49591         roundf were declared but do not exist on functions.
49592         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
49593         roundl were declared but do not exist on functions.
49594         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
49595         HAVE_FLOORL_AND_CEILL, respectively.
49596         Needed for Sun C on Solaris 10.
49597
49598 2007-11-11  Bruno Haible  <bruno@clisp.org>
49599
49600         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
49601         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
49602         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
49603         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
49604         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
49605         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
49606         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
49607         HAVE_DECL_ROUNDF.
49608         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
49609         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
49610         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
49611         of HAVE_DECL_ROUND*.
49612         * modules/math (Makefile.am): Update.
49613
49614 2007-11-10  Bruno Haible  <bruno@clisp.org>
49615
49616         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
49617         ptrdiff_t as m4/intl.m4.
49618
49619 2007-11-10  Jim Meyering  <meyering@redhat.com>
49620
49621         Avoid link failure for the argmatch test.
49622         * tests/test-argmatch.c (usage): Define function to avoid a link
49623         failure: argmatch_die requires a usage function.
49624
49625 2007-11-09  Bruno Haible  <bruno@clisp.org>
49626
49627         * doc/functions/snprintf.texi: Mention BeOS deficiency.
49628         * doc/functions/vsnprintf.texi: Likewise.
49629         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
49630         with a size argument < 2.
49631
49632 2007-11-09  Bruno Haible  <bruno@clisp.org>
49633
49634         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
49635         buffer. Fixes an inefficiency introduced on 2007-11-03.
49636
49637 2007-11-09  Bruno Haible  <bruno@clisp.org>
49638
49639         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
49640         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
49641
49642 2007-11-08  Jim Meyering  <meyering@redhat.com>
49643
49644         Change cache variable name prefix "jm_" to "gl_" everywhere.
49645         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
49646         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
49647         * m4/uptime.m4: s/gl_/jm_/
49648
49649 2007-11-07  Bruno Haible  <bruno@clisp.org>
49650
49651         Update to GNU gettext 0.17.
49652         * m4/intl.m4: Update to GNU gettext 0.17.
49653         * m4/po.m4: Likewise.
49654         * modules/gettext (Files): Remove m4/ulonglong.m4.
49655         (configure.ac): Require gettext infrastructure from version 0.17.
49656
49657 2007-11-06  Bruno Haible  <bruno@clisp.org>
49658
49659         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
49660         symbolic values are not defined in a public header.
49661         * lib/freadable.c (freadable) [QNX]: Likewise.
49662         * lib/freadahead.c (freadahead) [QNX]: Likewise.
49663         * lib/freading.c (freading) [QNX]: Likewise.
49664         * lib/fseterr.c (fseterr) [QNX]: Likewise.
49665         * lib/fwritable.c (fwritable) [QNX]: Likewise.
49666         * lib/fwriting.c (fwriting) [QNX]: Likewise.
49667         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
49668         Reported by Alain Magloire.
49669
49670         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
49671
49672 2007-11-05  Bruno Haible  <bruno@clisp.org>
49673
49674         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
49675         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
49676         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
49677         Reported by Eric Blake.
49678
49679 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49680             Bruno Haible  <bruno@clisp.org>
49681
49682         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
49683         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
49684         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
49685         (malloc): Undefine also before including <stdlib.h>.
49686         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
49687         Needed on OSF/1 4.0.
49688
49689 2007-11-05  Jim Meyering  <meyering@redhat.com>
49690
49691         git-version-gen: sync from coreutils.
49692         * build-aux/git-version-gen: Add comments.
49693         Change the first '-' to '.' in the snapshot version string,
49694         e.g., 6.9-377-08144 -> 6.9.377-08144
49695         Remove first parameter.
49696         Don't declare a version "-dirty" merely because a time
49697         stamp has changed.
49698
49699 2007-11-04  Bruno Haible  <bruno@clisp.org>
49700
49701         * lib/lock.h: Protect all macro definitions containing an 'if'
49702         statement through a "do { ... } while (0)".
49703         * lib/tls.h: Likewise.
49704
49705 2007-11-04  Bruno Haible  <bruno@clisp.org>
49706
49707         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
49708
49709 2007-11-04  Bruno Haible  <bruno@clisp.org>
49710
49711         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
49712         * modules/fprintf-posix (Depends-on): Add nocrash.
49713         * modules/snprintf-posix (Depends-on): Likewise.
49714         * modules/sprintf-posix (Depends-on): Likewise.
49715         * modules/vasnprintf-posix (Depends-on): Likewise.
49716         * modules/vasprintf-posix (Depends-on): Likewise.
49717         * modules/vfprintf-posix (Depends-on): Likewise.
49718         * modules/vsnprintf-posix (Depends-on): Likewise.
49719         * modules/vsprintf-posix (Depends-on): Likewise.
49720         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49721         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49722         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49723         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49724         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49725         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49726         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49727
49728 2007-11-04  Bruno Haible  <bruno@clisp.org>
49729
49730         * modules/nocrash: New file.
49731         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
49732         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
49733
49734 2007-11-04  Bruno Haible  <bruno@clisp.org>
49735
49736         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
49737         precision handling.
49738         * tests/test-vasprintf-posix.c (test_function): Likewise.
49739         * tests/test-snprintf-posix.h (test_function): Likewise.
49740         * tests/test-sprintf-posix.h (test_function): Likewise.
49741
49742         Fix *printf behaviour for large precisions on mingw and BeOS.
49743         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
49744         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
49745         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
49746         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
49747         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49748         gl_PRINTF_PRECISION and test its result. Invoke
49749         gl_PREREQ_VASNPRINTF_PRECISION.
49750         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49751         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49752         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49753         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49754         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49755         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49756         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49757         * doc/functions/fprintf.texi: Update.
49758         * doc/functions/printf.texi: Update.
49759         * doc/functions/snprintf.texi: Update.
49760         * doc/functions/sprintf.texi: Update.
49761         * doc/functions/vfprintf.texi: Update.
49762         * doc/functions/vprintf.texi: Update.
49763         * doc/functions/vsnprintf.texi: Update.
49764         * doc/functions/vsprintf.texi: Update.
49765
49766 2007-11-04  Bruno Haible  <bruno@clisp.org>
49767
49768         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
49769
49770 2007-11-04  Bruno Haible  <bruno@clisp.org>
49771
49772         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
49773         Reported by Sylvain Beucler <beuc@gnu.org>.
49774
49775 2007-11-03  Bruno Haible  <bruno@clisp.org>
49776
49777         * tests/test-fprintf-posix2.sh: New file.
49778         * tests/test-fprintf-posix2.c: New file.
49779         * modules/fprintf-posix-tests (Files): Add them.
49780         (TESTS): Add test-fprintf-posix2.sh.
49781         (configure.ac): Check for getrlimit and setrlimit.
49782         (check_PROGRAMS): Add test-fprintf-posix2.
49783
49784         * tests/test-printf-posix2.sh: New file.
49785         * tests/test-printf-posix2.c: New file.
49786         * modules/printf-posix-tests (Files): Add them.
49787         (TESTS): Add test-printf-posix2.sh.
49788         (configure.ac): Check for getrlimit and setrlimit.
49789         (check_PROGRAMS): Add test-printf-posix2.
49790
49791         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
49792         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
49793         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
49794         (decode_double): New function, copied from decode_long_double.
49795         (scale10_round_decimal_decoded): New function, extracted from
49796         scale10_round_decimal_long_double.
49797         (scale10_round_decimal_long_double): Use it.
49798         (scale10_round_decimal_double): New function.
49799         (floorlog10): New function.
49800         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
49801         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
49802         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
49803         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49804         gl_PRINTF_ENOMEM and test its result. Invoke
49805         gl_PREREQ_VASNPRINTF_ENOMEM.
49806         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49807         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49808         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49809         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49810         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49811         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49812         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49813         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
49814         * modules/snprintf-posix (Depends-on): Likewise.
49815         * modules/sprintf-posix (Depends-on): Likewise.
49816         * modules/vasnprintf-posix (Depends-on): Likewise.
49817         * modules/vasprintf-posix (Depends-on): Likewise.
49818         * modules/vfprintf-posix (Depends-on): Likewise.
49819         * modules/vsnprintf-posix (Depends-on): Likewise.
49820         * modules/vsprintf-posix (Depends-on): Likewise.
49821         * doc/functions/fprintf.texi: Update.
49822         * doc/functions/printf.texi: Update.
49823         * doc/functions/snprintf.texi: Update.
49824         * doc/functions/sprintf.texi: Update.
49825         * doc/functions/vfprintf.texi: Update.
49826         * doc/functions/vprintf.texi: Update.
49827         * doc/functions/vsnprintf.texi: Update.
49828         * doc/functions/vsprintf.texi: Update.
49829
49830 2007-11-03  Bruno Haible  <bruno@clisp.org>
49831
49832         * modules/frexp-nolibm-tests: New file.
49833
49834         * modules/frexp-nolibm: New file.
49835         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
49836
49837 2007-11-03  Bruno Haible  <bruno@clisp.org>
49838
49839         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
49840         value is C99 compliant.
49841         Needed for OSF/1 5.1.
49842
49843 2007-11-03  Bruno Haible  <bruno@clisp.org>
49844
49845         Fix out-of-memory handling of vasnprintf.
49846         * lib/printf-parse.c: Include <errno.h>.
49847         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
49848         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
49849         is already set.
49850
49851 2007-11-02  Eric Blake  <ebb9@byu.net>
49852
49853         Fix tests on cygwin.
49854         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
49855
49856 2007-11-01  Bruno Haible  <bruno@clisp.org>
49857
49858         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
49859         warning.
49860         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
49861         needed for POSIX compatibility.
49862
49863 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
49864
49865         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
49866         for compatibility with GNU.
49867
49868 2007-11-01  Bruno Haible  <bruno@clisp.org>
49869
49870         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
49871         (putenv): Renamed from rpl_putenv. Change argument type from
49872         'const char *' to 'char *'.
49873         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
49874         of defining putenv in config.h, just set REPLACE_PUTENV.
49875         * modules/putenv (Depends-on): Add stdlib.
49876         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49877         (Include): Use <stdlib.h>.
49878         * lib/stdlib.in.h (putenv): New declaration.
49879         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
49880         REPLACE_PUTENV.
49881         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
49882         REPLACE_PUTENV.
49883         Needed for MacOS X 10.5.0.
49884         Reported by Peter O'Gorman <peter@pogma.com>.
49885
49886 2007-11-01  Jim Meyering  <meyering@redhat.com>
49887
49888         Treat an empty date string exactly like "0".
49889         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
49890         if the remaining date string (to be parsed) is empty, use "0".
49891         Reported by Mischa Molhoek and discussed in this thread:
49892         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
49893
49894 2007-10-31  Bruno Haible  <bruno@clisp.org>
49895
49896         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
49897         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
49898         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
49899         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
49900         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
49901         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
49902
49903 2007-10-31  Bruno Haible  <bruno@clisp.org>
49904
49905         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
49906         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
49907         (AC_TYPE_LONG_LONG_INT): Use it.
49908         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
49909         it as well.
49910         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
49911         to m4/longlong.m4.
49912         * modules/stdint (Files): Remove m4/ulonglong.m4.
49913         * modules/strtoull (Files): Use m4/longlong.m4 instead of
49914         m4/ulonglong.m4.
49915         * modules/strtoumax (Files): Likewise.
49916
49917 2007-10-30  Bruno Haible  <bruno@clisp.org>
49918
49919         * modules/xvasprintf-posix: New file.
49920         Suggested by Eric Blake.
49921
49922 2007-10-30  Bruno Haible  <bruno@clisp.org>
49923
49924         * modules/xprintf-posix-tests: New file.
49925         * tests/test-xprintf-posix.sh: New file.
49926         * tests/test-xprintf-posix.c: New file.
49927         * tests/test-xfprintf-posix.c: New file.
49928
49929         * modules/xprintf-posix: New file.
49930
49931 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49932
49933         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
49934         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
49935         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
49936
49937 2007-10-29  Bruno Haible  <bruno@clisp.org>
49938
49939         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
49940         contain the special marker '_cv_'.
49941         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
49942         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
49943         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
49944         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
49945         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
49946         Reported by Ralf Wildenhues.
49947
49948 2007-10-29  Bruno Haible  <bruno@clisp.org>
49949
49950         * gnulib-tool (func_import): When --lgpl is not specified, set
49951         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
49952         GPLv3.
49953         Reported by Simon Josefsson.
49954
49955 2007-10-28  Bruno Haible  <bruno@clisp.org>
49956
49957         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
49958         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
49959         HAVE_DECL_ISFINITE.
49960         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
49961         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
49962         HAVE_DECL_ISFINITE.
49963
49964 2007-10-28  Bruno Haible  <bruno@clisp.org>
49965
49966         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
49967         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
49968
49969 2007-10-28  Bruno Haible  <bruno@clisp.org>
49970
49971         Fix link errors with Sun C 5.0 on Solaris 10.
49972         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
49973         function is declared but not present in the compiler's libm.
49974         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
49975         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
49976         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
49977         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
49978         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
49979         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
49980         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
49981         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
49982         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
49983         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
49984         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
49985         HAVE_DECL_FLOORL.
49986
49987 2007-10-28  Bruno Haible  <bruno@clisp.org>
49988
49989         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
49990         gl_FUNC_FLOORL. Cache the result.
49991         (gl_FUNC_FLOORL): Use it.
49992         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
49993         gl_FUNC_CEILL. Cache the result.
49994         (gl_FUNC_CEILL): Use it.
49995
49996         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
49997         gl_FUNC_FLOOR. Cache the result.
49998         (gl_FUNC_FLOOR): Use it.
49999         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
50000         gl_FUNC_CEIL. Cache the result.
50001         (gl_FUNC_CEIL): Use it.
50002
50003         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
50004         gl_FUNC_FLOORF. Cache the result.
50005         (gl_FUNC_FLOORF): Use it.
50006         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
50007         gl_FUNC_CEILF. Cache the result.
50008         (gl_FUNC_CEILF): Use it.
50009
50010 2007-10-28  Bruno Haible  <bruno@clisp.org>
50011
50012         * gnulib-tool: Allow specifying the LGPL version number through
50013         --lgpl=2 or --lgpl=3.
50014         (func_usage): Document --lgpl with argument.
50015         Handle --lgpl=... arguments.
50016         (func_import): Recognize also gl_LGPL calls with an argument. When
50017         --lgpl=2 is used and the module's license is just LGPL, report an
50018         error. Set sed_transform_lib_file according to the lgpl variable. In
50019         the generated files, use --lgpl or gl_LGPL invocations with argument,
50020         if necessary.
50021         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
50022         an LGPv2+ license.
50023         * doc/gnulib-tool.texi (Modified imports): Update explanation of
50024         gl_LGPL macro.
50025
50026 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50027             Bruno Haible  <bruno@clisp.org>
50028
50029         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
50030         (u16_uctomb_aux): Likewise.
50031         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
50032         !HAVE_INLINE.
50033         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
50034
50035 2007-10-28  Bruno Haible  <bruno@clisp.org>
50036
50037         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
50038         Invoke AM_GETTEXT_OPTION if it exists.
50039         * modules/vasprintf: Likewise.
50040         * modules/verror: Likewise.
50041         * modules/xprintf: Likewise.
50042         * modules/xvasprintf: Likewise.
50043
50044 2007-10-27  Ben Pfaff  <blp@gnu.org>
50045
50046         * lib/math.in.h: Define isfinite macro and prototypes for
50047         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
50048         implementations.
50049         * m4/math_h.m4: New substitutions for isfinite module.
50050         * lib/isfinite.c: New file.
50051         * m4/isfinite.m4: New file.
50052         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
50053         * modules/isfinite: New file.
50054         * modules/isfinite-tests: New file.
50055         * tests/tests-isfinite.c: New file.
50056         * doc/functions/isfinite.texi: Mention isfinite module.
50057         * MODULES.html.sh: Mention new module.
50058
50059 2007-10-27  Ben Pfaff  <blp@gnu.org>
50060
50061         Ralf Wildenhues reported that Tru64 4.0D declares the round
50062         functions but does not have definitions.
50063         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
50064         cannot be found in any library, set the output variable to
50065         "missing" instead of "".
50066         * m4/round.m4: Also use our substitute if we cannot find round in
50067         any library, even if it is declared.
50068         * m4/roundf.m4: Likewise for roundf.
50069         * m4/roundl.m4: Likewise for roundl.
50070         * lib/math.in.h: Undefine roundf, round, roundl before defining
50071         their replacements, to allow for hypothetical systems where these
50072         may be defined as macros but not available in libraries.
50073
50074 2007-10-27  Bruno Haible  <bruno@clisp.org>
50075
50076         * doc/gnulib.texi: Invoke @firstparagraphindent.
50077         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
50078         changes in gnulib.
50079         (Source changes): New section.
50080
50081 2007-10-26  Bruno Haible  <bruno@clisp.org>
50082
50083         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
50084         borrowed from autoconf.
50085
50086 2007-10-26  Bruno Haible  <bruno@clisp.org>
50087
50088         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
50089         strerror returned the empty string. Needed on HP-UX 11.00.
50090
50091 2007-10-24  Micah Cowan  <micah@cowan.name>
50092
50093         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
50094         * build-aux/bootstrap: Remove support for now-unnecessary option,
50095         --cvs-user, and envvars CVS_USER, CVS_RSH.
50096
50097 2007-10-24  Jim Meyering  <meyering@redhat.com>
50098
50099         Avoid diagnostics from sha1sum when there is no cached checksum.
50100         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
50101         if the po.s1 file hasn't been created yet.
50102
50103         * build-aux/bootstrap: Sync from coreutils:
50104         2007-10-24  Jim Meyering  <meyering@redhat.com>
50105         Get gnulib from the git repository, not from an obsolete cvs one.
50106         * build-aux/bootstrap: Suggestion from Micah Cowan.
50107         2007-10-04  Jim Meyering  <jim@meyering.net>
50108         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
50109         (update_po_files): Work also when there are no .po files in po/.
50110
50111 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
50112
50113         * README: Append ".git" to git and cg examples.
50114         Problem reported by Benoit Sigoure.
50115
50116 2007-10-23  Micah Cowan  <micah@cowan.name>
50117
50118         * users.txt: Add wget.
50119
50120 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50121
50122         Fix linking of some unistdio tests on FreeBSD.
50123         * modules/unistdio/u16-vsnprintf-tests
50124         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
50125         * modules/unistdio/u16-vsprintf-tests
50126         (test_u16_vsnprintf1_LDADD): Likewise.
50127         * modules/unistdio/u32-vsnprintf-tests
50128         (test_u32_vsnprintf1_LDADD): Likewise.
50129         * modules/unistdio/u32-vsprintf-tests
50130         (test_u32_vsprintf1_LDADD): Likewise.
50131         * modules/unistdio/u8-vsnprintf-tests
50132         (test_u8_vsnprintf1_LDADD): Likewise.
50133         * modules/unistdio/u8-vsprintf-tests
50134         (test_u8_vsprintf1_LDADD): Likewise.
50135         * modules/unistdio/ulc-vsnprintf-tests
50136         (test_ulc_vsnprintf1_LDADD): Likewise.
50137         * modules/unistdio/ulc-vsprintf-tests
50138         (test_ulc_vsprintf1_LDADD): Likewise.
50139
50140         Fix linking of some uniconv tests on FreeBSD.
50141         * modules/uniconv/u16-conv-from-enc-tests
50142         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
50143         * modules/uniconv/u16-conv-to-enc-tests
50144         (test_u16_conv_to_enc_LDADD): Likewise.
50145         * modules/uniconv/u16-strconv-from-enc-tests
50146         (test_u16_strconv_from_enc_LDADD): Likewise.
50147         * modules/uniconv/u16-strconv-to-enc-tests
50148         (test_u16_strconv_to_enc_LDADD): Likewise.
50149         * modules/uniconv/u32-conv-from-enc-tests
50150         (test_u32_conv_from_enc_LDADD): Likewise.
50151         * modules/uniconv/u32-conv-to-enc-tests
50152         (test_u32_conv_to_enc_LDADD): Likewise.
50153         * modules/uniconv/u32-strconv-from-enc-tests
50154         (test_u32_strconv_from_enc_LDADD): Likewise.
50155         * modules/uniconv/u32-strconv-to-enc-tests
50156         (test_u32_strconv_to_enc_LDADD): Likewise.
50157         * modules/uniconv/u8-conv-from-enc-tests
50158         (test_u8_conv_from_enc_LDADD): Likewise.
50159         * modules/uniconv/u8-conv-to-enc-tests
50160         (test_u8_conv_to_enc_LDADD): Likewise.
50161         * modules/uniconv/u8-strconv-from-enc-tests
50162         (test_u8_strconv_from_enc_LDADD): Likewise.
50163         * modules/uniconv/u8-strconv-to-enc-tests
50164         (test_u8_strconv_to_enc_LDADD): Likewise.
50165
50166 2007-10-22  Bruno Haible  <bruno@clisp.org>
50167
50168         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
50169         size.
50170
50171 2007-10-22  Eric Blake  <ebb9@byu.net>
50172
50173         Tweak x*printf documentation.
50174         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
50175         variable name and comments.
50176         Suggested by Bruno Haible.
50177
50178 2007-10-22  Bruno Haible  <bruno@clisp.org>
50179
50180         * lib/acl.c (copy_acl): Fix file name in comment.
50181
50182 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
50183
50184         Fix Tru64 problem with stdbool.h.
50185         * lib/stdbool.in.h (false, true):
50186         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
50187         Don't declare as an enum in this situation; it runs afoul of Tru64.
50188         Problem reported by Steven M. Schweda in
50189         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
50190
50191 2007-10-22  Eric Blake  <ebb9@byu.net>
50192
50193         Also wrap vf?printf.
50194         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
50195         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
50196         (xvprintf, xvfprintf): New functions.
50197
50198 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50199
50200         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
50201         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
50202
50203         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
50204         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
50205
50206 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
50207
50208         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
50209         by Bruno Haible.
50210
50211 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50212
50213         * lib/getloadavg.c
50214         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
50215         Undef `sys' after including sys/table.h, for Tru64 4.0D.
50216
50217         * tests/test-i-ring.c: Work for C89.
50218
50219 2007-10-22  Bruno Haible  <bruno@clisp.org>
50220
50221         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
50222         -1u, in preprocessor expression, so that we don't test for the bug
50223         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
50224         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
50225
50226 2007-10-22  Eric Blake  <ebb9@byu.net>
50227
50228         * tests/test-yesno.sh: Silence stderr during test.
50229
50230 2007-10-22  Simon Josefsson  <simon@josefsson.org>
50231
50232         * modules/crypto/gc-camellia: New file.
50233
50234         * m4/gc-camellia.m4: New file.
50235
50236         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
50237
50238         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
50239
50240 2007-10-22  Simon Josefsson  <simon@josefsson.org>
50241
50242         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
50243         --help to stdout.  Reported by sms@antinode.org (Steven
50244         M. Schweda).
50245
50246 2007-10-22  Simon Josefsson  <simon@josefsson.org>
50247
50248         * users.txt: Fix link to libksba.
50249
50250 2007-10-21  Ben Pfaff  <blp@gnu.org>
50251
50252         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
50253         round.c roundf implementation that depends on floorf and ceilf to
50254         be tested unconditionally.
50255
50256 2007-10-21  Ben Pfaff  <blp@gnu.org>
50257
50258         * m4/check-libm-func.m4: Removed.
50259         * m4/check-math-lib.m4: New file.
50260         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
50261         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
50262         definition and lack of AC_LIBOBJ([roundf]).
50263         * m4/roundl.m4: Ditto, and similarly for roundl.
50264         * modules/round: Reference new m4 file.
50265         * modules/roundf: Ditto.
50266         * modules/roundl: Ditto.
50267         * tests/test-round2.c (main): Use ROUND instead of round.
50268         Bug report from Bruno Haible.
50269
50270 2007-10-21  Bruno Haible  <bruno@clisp.org>
50271
50272         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
50273         context.
50274
50275 2007-10-21  Bruno Haible  <bruno@clisp.org>
50276
50277         * tests/test-wcwidth.c (main): Allow negative result for some control
50278         characters.
50279
50280         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
50281         Needed on OSF/1 5.1.
50282
50283 2007-10-21  Bruno Haible  <bruno@clisp.org>
50284
50285         * tests/test-floorf1.c: Include isnanf.h.
50286         (main): Use isnanf() instead of isnan().
50287         * tests/test-ceilf1.c: Include isnanf.h.
50288         (main): Use isnanf() instead of isnan().
50289         * tests/test-truncf1.c: Include isnanf.h.
50290         (main): Use isnanf() instead of isnan().
50291         * tests/test-roundf1.c: Include isnanf.h.
50292         (main): Use isnanf() instead of isnan().
50293
50294 2007-10-21  Eric Blake  <ebb9@byu.net>
50295
50296         * users.txt: Update URL for m4.
50297
50298 2007-10-21  Bruno Haible  <bruno@clisp.org>
50299
50300         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
50301
50302 2007-10-21  Bruno Haible  <bruno@clisp.org>
50303
50304         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
50305         Git's management files if the CVS files are not present.
50306
50307 2007-10-20  Bruno Haible  <bruno@clisp.org>
50308
50309         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
50310         gcc-3.4.x.
50311
50312 2007-10-20  Ben Pfaff  <blp@gnu.org>
50313
50314         * lib/math.in.h: Declare round, roundf, roundl if we are providing
50315         implementations.
50316         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
50317         * lib/round.c: New file.
50318         * lib/roundf.c: New file.
50319         * lib/roundl.c: New file.
50320         * m4/round.m4: New file.
50321         * m4/roundf.m4: New file.
50322         * m4/roundl.m4: New file.
50323         * m4/check-libm-func-m4: New file.
50324         * modules/math: Replace round, roundf, roundl related @VARS@ in
50325         math.in.h.
50326         * modules/round: New file.
50327         * modules/round-tests: New file.
50328         * modules/roundf: New file.
50329         * modules/roundf-tests: New file.
50330         * modules/roundl: New file.
50331         * modules/roundl-tests: New file.
50332         * tests/test-round1.c: New file.
50333         * tests/test-round2.c: New file.
50334         * tests/test-roundf1.c: New file.
50335         * tests/test-roundf2.c: New file.
50336         * tests/test-roundl.c: New file.
50337         * doc/functions/round.texi: Mention round module.
50338         * doc/functions/roundf.texi: Mention roundf module.
50339         * doc/functions/roundl.texi: Mention roundl module.
50340         * MODULES.html.sh: Mention new modules.
50341         Thanks to Bruno Haible for suggestions.
50342
50343 2007-10-20  Jim Meyering  <meyering@redhat.com>
50344
50345         * lib/xprintf.c: Include <config.h> unconditionally.
50346
50347         Change xprintf's license to GPL.
50348         * modules/xprintf (License): s/LGPL/GPL/, since this module
50349         depends on modules (exit and exitfail) which are GPL.
50350         Suggestion from Bruno Haible.
50351
50352         xprintf fixes.
50353         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
50354         Use a clearer diagnostic.
50355         Patch from Bruno Haible.
50356
50357 2007-10-20  Bruno Haible  <bruno@clisp.org>
50358
50359         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
50360         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
50361         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50362
50363 2007-10-20  Bruno Haible  <bruno@clisp.org>
50364
50365         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
50366         precision in the comparison result > x - 1 or similar.
50367         * tests/test-ceilf2.c (correct_result_p): Likewise.
50368         * tests/test-truncf2.c (correct_result_p): Likewise.
50369         * tests/test-trunc2.c (correct_result_p): Likewise.
50370         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
50371
50372 2007-10-20  Bruno Haible  <bruno@clisp.org>
50373
50374         * modules/ceil: New file.
50375         * m4/ceil.m4: New file.
50376         * doc/functions/ceil.texi: Mention the 'ceil' module.
50377
50378 2007-10-20  Bruno Haible  <bruno@clisp.org>
50379
50380         * modules/floor: New file.
50381         * m4/floor.m4: New file.
50382         * doc/functions/floor.texi: Mention the 'floor' module.
50383
50384 2007-10-20  Bruno Haible  <bruno@clisp.org>
50385
50386         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
50387         of %a.
50388         * modules/floorf-tests (Depends-on): Likewise.
50389         * modules/truncf-tests (Depends-on): Likewise.
50390         * modules/trunc-tests (Depends-on): Likewise.
50391         Reported by Ben Pfaff.
50392
50393 2007-10-19  Jim Meyering  <meyering@redhat.com>
50394
50395         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
50396         Don't bother testing specific errno values.  Just test ferror.
50397
50398         New module: xprintf
50399         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
50400
50401 2007-10-19  Bruno Haible  <bruno@clisp.org>
50402
50403         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
50404         syntax.
50405         * modules/javaexec (Makefile.am): Likewise.
50406         * modules/relocatable-prog (Makefile.am): Likewise.
50407         Suggested by Jim Meyering.
50408
50409 2007-10-18  Bruno Haible  <bruno@clisp.org>
50410
50411         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
50412         Reported by Jim Meyering.
50413
50414 2007-10-18  Eric Blake  <ebb9@byu.net>
50415
50416         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
50417
50418 2007-10-18  Bruno Haible  <bruno@clisp.org>
50419
50420         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
50421         the format string into writable memory. Needed in Fortify conditions.
50422
50423 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
50424             Bruno Haible  <bruno@clisp.org>
50425
50426         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
50427         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
50428         * modules/trim (Depends-on): Add mbchar.
50429         (configure.ac): Add gl_FUNC_MBRTOWC.
50430         (Makefile.am): Augment lib_SOURCES.
50431
50432 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
50433
50434         Modify glob.c to use fstatat and dirfd, to simplify it.
50435         Suggested by Eric Blake.
50436         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
50437         Don't include <stdbool.h>; not used.
50438         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
50439         (link_exists_p): Simplify implementation, since we can now assume
50440         dirfd and fstatat.
50441         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
50442
50443 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50444
50445         * gnulib-tool (func_get_dependencies): Fix sed script to
50446         match only tests.
50447
50448 2007-10-17  Bruno Haible  <bruno@clisp.org>
50449
50450         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
50451         allow locale names without encoding suffix.
50452         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
50453         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
50454
50455 2007-10-16  Bruno Haible  <bruno@clisp.org>
50456
50457         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
50458         * lib/getgroups.c (getgroups): Likewise.
50459         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
50460
50461 2007-10-16  Bruno Haible  <bruno@clisp.org>
50462
50463         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
50464         * modules/malloc-posix (License): Likewise.
50465         * modules/realloc-posix (License): Likewise.
50466         * modules/calloc-posix (License): Likewise.
50467         * modules/intprops (License): Change from GPL to LGPL, with
50468         Paul Eggert's approval.
50469
50470 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
50471
50472         Merge glibc changes into lib/glob.c.
50473
50474         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
50475         2007-10-15 04:59:03 UTC.  Here are the changes:
50476
50477         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
50478
50479         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
50480
50481         * lib/glob.c: Add some branch prediction throughout.
50482
50483         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
50484
50485         [BZ #5103]
50486         * lib/glob.c (glob): Recognize patterns starting \/.
50487
50488         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
50489
50490         [BZ #3996]
50491         * lib/glob.c (attribute_hidden): Define if not defined.
50492         (glob): Unescape dirname, filename or username when needed and not
50493         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
50494         is NULL.  Handle unescaped [ in pattern without closing ].
50495         Don't pass GLOB_CHECK down to recursive glob for directories.
50496         (__glob_pattern_type): New function.
50497         (__glob_pattern_p): Implement using __glob_pattern_type.
50498         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
50499         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
50500         Remove unreachable code.
50501
50502         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
50503
50504         * lib/glob.c (glob_in_dir): Add some comments and asserts to
50505         explain why there are no leaks.
50506
50507         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
50508
50509         [BZ #3253]
50510         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
50511         time, rather allocate increasingly bigger arrays of pointers, if
50512         possible with alloca, if too large with malloc.
50513
50514 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
50515
50516         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
50517         Problem reported by H.Merijn Brand in
50518         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
50519         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
50520         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
50521
50522 2007-10-15  Bruno Haible  <bruno@clisp.org>
50523
50524         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
50525         with explicit rpl_ prefix.
50526         * lib/fopen.c (fopen): Likewise.
50527         * lib/freopen.c (freopen): Likewise.
50528         * lib/iconv.c (iconv): Likewise.
50529         * lib/iconv_close.c (iconv_close): Likewise.
50530
50531 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50532
50533         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
50534
50535 2007-10-15  Bruno Haible  <bruno@clisp.org>
50536
50537         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
50538         <stddef.h> instead of <stdlib.h> since we only need NULL.
50539         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50540
50541 2007-10-15  Bruno Haible  <bruno@clisp.org>
50542
50543         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
50544         Replace paragraph talking about LIBOBJS.
50545         Reported by Colin Watson <cjwatson@debian.org>.
50546
50547 2007-10-15  Bruno Haible  <bruno@clisp.org>
50548
50549         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
50550         <stdlib.h> before using NULL.
50551
50552 2007-10-15  Simon Josefsson  <simon@josefsson.org>
50553
50554         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
50555         Reported by Albert Chin <china@thewrittenword.com>.
50556
50557 2007-10-14  Bruno Haible  <bruno@clisp.org>
50558
50559         * modules/iconv_open-utf-tests: New file.
50560         * tests/test-iconv-utf.c: New file.
50561
50562         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
50563         * modules/iconv_open-utf: New file.
50564         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
50565         (iconv, iconv_close): New declarations.
50566         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
50567         be defined.
50568         (iconv_open): Add special handling of conversion between UTF-8 and
50569         UTF-{16,32}{BE,LE}.
50570         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
50571         * lib/iconv_close.c: New file.
50572         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
50573         gl_FUNC_ICONV_OPEN.
50574         (gl_FUNC_ICONV_OPEN): Use it.
50575         (gl_FUNC_ICONV_OPEN_UTF): New macro.
50576         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
50577         and REPLACE_ICONV_UTF.
50578         * modules/iconv_open (Depends-on): Add c-strcase.
50579         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
50580         ICONV_CONST.
50581         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
50582
50583 2007-10-13  Albert Chin  <china@thewrittenword.com>
50584             Bruno Haible  <bruno@clisp.org>
50585
50586         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
50587         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
50588
50589 2007-10-13  Bruno Haible  <bruno@clisp.org>
50590
50591         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
50592         defined, use the ISO C99 inline semantics.
50593         * lib/argp.h (ARGP_EI): Likewise.
50594
50595 2007-10-13  Bruno Haible  <bruno@clisp.org>
50596
50597         Handle 'inline' change in gcc 4.3.0.
50598         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
50599         argp_fmtstream_write, argp_fmtstream_set_lmargin,
50600         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
50601         argp_fmtstream_point): Disable 'extern' declaration if the function
50602         definition is going to be provided inline.
50603         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
50604         semantics, not the ISO C99 inline semantics.
50605         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
50606         'extern' declaration if the function definition is going to be provided
50607         inline.
50608         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
50609         the GNU C inline semantics, not the ISO C99 inline semantics. With
50610         GCC 4.2, avoid a warning.
50611
50612 2007-10-13  Bruno Haible  <bruno@clisp.org>
50613
50614         * lib/freading.h (freading): Enable the use of __freading for
50615         glibc >= 2.7.
50616         * lib/freading.c (freading): Likewise.
50617
50618 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
50619
50620         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
50621         "warning: C99 inline functions are not supported; using GNU89".
50622
50623 2007-10-12  Bruno Haible  <bruno@clisp.org>
50624
50625         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
50626         of 2.
50627         * tests/test-ceilf2.c: New file.
50628         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
50629
50630         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
50631         * modules/ceilf-tests: Update.
50632
50633 2007-10-12  Bruno Haible  <bruno@clisp.org>
50634
50635         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
50636         of 2.
50637         * tests/test-floorf2.c: New file.
50638         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
50639
50640         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
50641         * modules/floorf-tests: Update.
50642
50643 2007-10-12  Bruno Haible  <bruno@clisp.org>
50644
50645         * tests/test-trunc2.c: New file.
50646         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
50647
50648         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
50649         * modules/trunc-tests: Update.
50650
50651 2007-10-12  Bruno Haible  <bruno@clisp.org>
50652
50653         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
50654         of 2.
50655         * tests/test-truncf2.c: New file.
50656         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
50657
50658         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
50659         * modules/truncf-tests: Update.
50660
50661 2007-10-11  Eric Blake  <ebb9@byu.net>
50662
50663         Don't claim strerror is broken on Interix.
50664         * doc/functions/strerror.texi (strerror): Known broken systems are
50665         now Solaris 8, and not Interix.
50666         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
50667         Interix on cross-compile.
50668         Reported by Martin Koeppe in
50669         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
50670
50671 2007-10-11  Bruno Haible  <bruno@clisp.org>
50672
50673         * modules/i-ring-tests: New file.
50674         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
50675         instead of assert.
50676
50677 2007-10-11  Bruno Haible  <bruno@clisp.org>
50678
50679         * modules/filenamecat-tests: New file.
50680         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
50681         * lib/filenamecat.c: Remove test code.
50682
50683 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
50684
50685         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
50686
50687         * lib/strerror.c: Include <string.h> always, to test interface,
50688         and to remove the need for the dummy.
50689         Include intprops.h to compute width instead of doing it ourselves
50690         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
50691         (strerror): Define it to return NULL if there's no system strerror.
50692         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
50693         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
50694         ancient pre-strerror Unix systems well any more.  Saying "unknown
50695         system error" is enough.
50696         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
50697         simpler strerror.c implementation.
50698         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
50699         Simplify the tests to reflect the simpler strerror implementation.
50700         * modules/strerror (Depends-on): Add intprops.
50701
50702 2007-10-09  Eric Blake  <ebb9@byu.net>
50703
50704         Silence test-fpending.
50705         * modules/fpending-tests (Files): Add wrapper script.
50706         * tests/test-fpending.sh: New file.
50707
50708 2007-10-09  Bruno Haible  <bruno@clisp.org>
50709
50710         * MODULES.html.sh (func_module): Don't create a hyperlink for
50711         function names like 'printf_frexp'.
50712         (Misc): Add crc, memxor.
50713         (Characteristics of floating types): New section.
50714         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
50715         isnanf-nolibm, signbit, trunc, truncf, truncl.
50716         (Enhancements for ISO C 99 functions): New subsection Input/output.
50717         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
50718         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
50719         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
50720         (Compatibility checks for POSIX:2001 functions): Add clock-time.
50721         (Enhancements for POSIX:2001 functions): Add chdir-long.
50722         (File system functions): Add areadlink, chdir-safer, read-file.
50723         Remove cycle-check.
50724         (File system as inode set): New section.
50725         (Date and time): Add gethrxtime.
50726         (Multithreading): Add openmp.
50727         (Internationalization functions): Add localename.
50728         (Unicode string functions): Add unistr/u*-mbsnlen.
50729         (Support for maintaining and releasing projects): Add git-version-gen.
50730         (Lone files): Remove directories.
50731
50732 2007-10-08  Ben Pfaff  <blp@gnu.org>
50733
50734         * lib/xmalloca.h: Fix typo in comment.
50735
50736 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
50737
50738         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
50739         when avoiding problems with integer overflow.  Use a portable test
50740         instead.
50741
50742 2007-10-08  Simon Josefsson  <simon@josefsson.org>
50743
50744         * modules/dummy (License): Change to LGPLv2+.
50745         * modules/float (License): Likewise
50746         * modules/realloc (License): Likewise
50747         * modules/stdlib (License): Likewise
50748
50749 2007-10-07  Bruno Haible  <bruno@clisp.org>
50750
50751         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
50752         * floor.c (TWO_MANT_DIG): Likewise.
50753         * ceil.c (TWO_MANT_DIG): Likewise.
50754         Reported by Ben Pfaff.
50755
50756 2007-10-07  Bruno Haible  <bruno@clisp.org>
50757
50758         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
50759         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
50760         * lib/frexp.c (FUNC): Likewise.
50761         * lib/printf-frexp.h (printf_frexp): Likewise.
50762         * lib/printf-frexpl.h (printf_frexpl): Likewise.
50763         * lib/printf-frexp.c (FUNC): Likewise.
50764         Suggested by Jim Meyering.
50765
50766 2007-10-07  Jim Meyering  <meyering@redhat.com>
50767
50768         Make xnanosleep's integer overflow test more robust.
50769         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
50770         so that gcc-4.3.0 doesn't optimize away this test for overflow.
50771
50772 2007-10-07  Bruno Haible  <bruno@clisp.org>
50773
50774         * NEWS: Mention the license change.
50775
50776         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
50777         abbreviations in the modules files.
50778
50779         Change copyright notice from GPLv2+ to GPLv3+.
50780         * README: Change copyright notice.
50781         * MODULES.html.sh: Likewise.
50782         * build-aux/bootstrap.conf: Likewise.
50783         * build-aux/config.libpath: Likewise.
50784         * build-aux/csharpcomp.sh.in: Likewise.
50785         * build-aux/csharpexec.sh.in: Likewise.
50786         * build-aux/install-reloc: Likewise.
50787         * build-aux/javacomp.sh.in: Likewise.
50788         * build-aux/javaexec.sh.in: Likewise.
50789         * build-aux/ldd.sh.in: Likewise.
50790         * build-aux/reloc-ldflags: Likewise.
50791         * build-aux/relocatable.sh.in: Likewise.
50792         * build-aux/x-to-1.in: Likewise.
50793         * check-module: Likewise.
50794         * config/srclistvars.sh: Likewise.
50795         * gnulib-tool: Likewise.
50796         * lib/acl-internal.h: Likewise.
50797         * lib/acl.c: Likewise.
50798         * lib/acl.h: Likewise.
50799         * lib/acl_entries.c: Likewise.
50800         * lib/areadlink-with-size.c: Likewise.
50801         * lib/areadlink.c: Likewise.
50802         * lib/areadlink.h: Likewise.
50803         * lib/argmatch.c: Likewise.
50804         * lib/argmatch.h: Likewise.
50805         * lib/argp-ba.c: Likewise.
50806         * lib/argp-eexst.c: Likewise.
50807         * lib/argp-fmtstream.c: Likewise.
50808         * lib/argp-fmtstream.h: Likewise.
50809         * lib/argp-fs-xinl.c: Likewise.
50810         * lib/argp-help.c: Likewise.
50811         * lib/argp-namefrob.h: Likewise.
50812         * lib/argp-parse.c: Likewise.
50813         * lib/argp-pin.c: Likewise.
50814         * lib/argp-pv.c: Likewise.
50815         * lib/argp-pvh.c: Likewise.
50816         * lib/argp-xinl.c: Likewise.
50817         * lib/argp.h: Likewise.
50818         * lib/at-func.c: Likewise.
50819         * lib/atanl.c: Likewise.
50820         * lib/backupfile.c: Likewise.
50821         * lib/backupfile.h: Likewise.
50822         * lib/basename.c: Likewise.
50823         * lib/binary-io.h: Likewise.
50824         * lib/byteswap.in.h: Likewise.
50825         * lib/c-stack.c: Likewise.
50826         * lib/c-stack.h: Likewise.
50827         * lib/c-strcasestr.c: Likewise.
50828         * lib/c-strcasestr.h: Likewise.
50829         * lib/c-strstr.c: Likewise.
50830         * lib/c-strstr.h: Likewise.
50831         * lib/c-strtod.c: Likewise.
50832         * lib/calloc.c: Likewise.
50833         * lib/canon-host.c: Likewise.
50834         * lib/canon-host.h: Likewise.
50835         * lib/canonicalize-lgpl.c: Likewise.
50836         * lib/canonicalize.c: Likewise.
50837         * lib/canonicalize.h: Likewise.
50838         * lib/ceil.c: Likewise.
50839         * lib/ceilf.c: Likewise.
50840         * lib/ceill.c: Likewise.
50841         * lib/chdir-long.c: Likewise.
50842         * lib/chdir-long.h: Likewise.
50843         * lib/chdir-safer.c: Likewise.
50844         * lib/chdir-safer.h: Likewise.
50845         * lib/chown.c: Likewise.
50846         * lib/classpath.c: Likewise.
50847         * lib/classpath.h: Likewise.
50848         * lib/clean-temp.c: Likewise.
50849         * lib/clean-temp.h: Likewise.
50850         * lib/cloexec.c: Likewise.
50851         * lib/close-stream.c: Likewise.
50852         * lib/closein.c: Likewise.
50853         * lib/closein.h: Likewise.
50854         * lib/closeout.c: Likewise.
50855         * lib/closeout.h: Likewise.
50856         * lib/concat-filename.c: Likewise.
50857         * lib/copy-file.c: Likewise.
50858         * lib/copy-file.h: Likewise.
50859         * lib/count-one-bits.h: Likewise.
50860         * lib/crc.c: Likewise.
50861         * lib/crc.h: Likewise.
50862         * lib/creat-safer.c: Likewise.
50863         * lib/csharpcomp.c: Likewise.
50864         * lib/csharpcomp.h: Likewise.
50865         * lib/csharpexec.c: Likewise.
50866         * lib/csharpexec.h: Likewise.
50867         * lib/cycle-check.c: Likewise.
50868         * lib/cycle-check.h: Likewise.
50869         * lib/diacrit.c: Likewise.
50870         * lib/diacrit.h: Likewise.
50871         * lib/diffseq.h: Likewise.
50872         * lib/dirchownmod.c: Likewise.
50873         * lib/dirent.in.h: Likewise.
50874         * lib/dirfd.c: Likewise.
50875         * lib/dirfd.h: Likewise.
50876         * lib/dirname.c: Likewise.
50877         * lib/dirname.h: Likewise.
50878         * lib/dummy.c: Likewise.
50879         * lib/dup-safer.c: Likewise.
50880         * lib/dup2.c: Likewise.
50881         * lib/eealloc.h: Likewise.
50882         * lib/error.c: Likewise.
50883         * lib/error.h: Likewise.
50884         * lib/euidaccess.c: Likewise.
50885         * lib/exclude.c: Likewise.
50886         * lib/exclude.h: Likewise.
50887         * lib/execute.c: Likewise.
50888         * lib/execute.h: Likewise.
50889         * lib/exitfail.c: Likewise.
50890         * lib/exitfail.h: Likewise.
50891         * lib/expl.c: Likewise.
50892         * lib/fatal-signal.c: Likewise.
50893         * lib/fatal-signal.h: Likewise.
50894         * lib/fbufmode.c: Likewise.
50895         * lib/fbufmode.h: Likewise.
50896         * lib/fchdir.c: Likewise.
50897         * lib/fchmodat.c: Likewise.
50898         * lib/fchownat.c: Likewise.
50899         * lib/fcntl--.h: Likewise.
50900         * lib/fcntl-safer.h: Likewise.
50901         * lib/fcntl.in.h: Likewise.
50902         * lib/fd-safer.c: Likewise.
50903         * lib/fflush.c: Likewise.
50904         * lib/file-has-acl.c: Likewise.
50905         * lib/file-set.c: Likewise.
50906         * lib/file-type.c: Likewise.
50907         * lib/file-type.h: Likewise.
50908         * lib/fileblocks.c: Likewise.
50909         * lib/filemode.c: Likewise.
50910         * lib/filemode.h: Likewise.
50911         * lib/filename.h: Likewise.
50912         * lib/filenamecat.c: Likewise.
50913         * lib/filenamecat.h: Likewise.
50914         * lib/findprog.c: Likewise.
50915         * lib/findprog.h: Likewise.
50916         * lib/float.in.h: Likewise.
50917         * lib/floor.c: Likewise.
50918         * lib/floorf.c: Likewise.
50919         * lib/floorl.c: Likewise.
50920         * lib/fopen-safer.c: Likewise.
50921         * lib/fopen.c: Likewise.
50922         * lib/fpending.c: Likewise.
50923         * lib/fpending.h: Likewise.
50924         * lib/fprintf.c: Likewise.
50925         * lib/fprintftime.h: Likewise.
50926         * lib/fpucw.h: Likewise.
50927         * lib/fpurge.c: Likewise.
50928         * lib/fpurge.h: Likewise.
50929         * lib/freadable.c: Likewise.
50930         * lib/freadable.h: Likewise.
50931         * lib/freadahead.c: Likewise.
50932         * lib/freadahead.h: Likewise.
50933         * lib/freading.c: Likewise.
50934         * lib/freading.h: Likewise.
50935         * lib/free.c: Likewise.
50936         * lib/freopen.c: Likewise.
50937         * lib/frexp.c: Likewise.
50938         * lib/frexpl.c: Likewise.
50939         * lib/fseek.c: Likewise.
50940         * lib/fseterr.c: Likewise.
50941         * lib/fseterr.h: Likewise.
50942         * lib/fstatat.c: Likewise.
50943         * lib/fstrcmp.c: Likewise.
50944         * lib/fstrcmp.h: Likewise.
50945         * lib/fsusage.c: Likewise.
50946         * lib/fsusage.h: Likewise.
50947         * lib/ftell.c: Likewise.
50948         * lib/ftello.c: Likewise.
50949         * lib/fts-cycle.c: Likewise.
50950         * lib/fts.c: Likewise.
50951         * lib/fts_.h: Likewise.
50952         * lib/full-read.c: Likewise.
50953         * lib/full-read.h: Likewise.
50954         * lib/full-write.c: Likewise.
50955         * lib/full-write.h: Likewise.
50956         * lib/fwritable.c: Likewise.
50957         * lib/fwritable.h: Likewise.
50958         * lib/fwriteerror.c: Likewise.
50959         * lib/fwriteerror.h: Likewise.
50960         * lib/fwriting.c: Likewise.
50961         * lib/fwriting.h: Likewise.
50962         * lib/gcd.c: Likewise.
50963         * lib/gcd.h: Likewise.
50964         * lib/getcwd.c: Likewise.
50965         * lib/getdate.h: Likewise.
50966         * lib/getdate.y: Likewise.
50967         * lib/getdomainname.c: Likewise.
50968         * lib/getdomainname.h: Likewise.
50969         * lib/getgroups.c: Likewise.
50970         * lib/gethostname.c: Likewise.
50971         * lib/gethrxtime.c: Likewise.
50972         * lib/gethrxtime.h: Likewise.
50973         * lib/getloadavg.c: Likewise.
50974         * lib/getndelim2.c: Likewise.
50975         * lib/getndelim2.h: Likewise.
50976         * lib/getnline.c: Likewise.
50977         * lib/getnline.h: Likewise.
50978         * lib/getopt.c: Likewise.
50979         * lib/getopt.in.h: Likewise.
50980         * lib/getopt1.c: Likewise.
50981         * lib/getopt_int.h: Likewise.
50982         * lib/getpagesize.h: Likewise.
50983         * lib/getsubopt.c: Likewise.
50984         * lib/gettime.c: Likewise.
50985         * lib/getugroups.c: Likewise.
50986         * lib/getugroups.h: Likewise.
50987         * lib/getusershell.c: Likewise.
50988         * lib/gl_anyavltree_list1.h: Likewise.
50989         * lib/gl_anyavltree_list2.h: Likewise.
50990         * lib/gl_anyhash_list1.h: Likewise.
50991         * lib/gl_anyhash_list2.h: Likewise.
50992         * lib/gl_anylinked_list1.h: Likewise.
50993         * lib/gl_anylinked_list2.h: Likewise.
50994         * lib/gl_anyrbtree_list1.h: Likewise.
50995         * lib/gl_anyrbtree_list2.h: Likewise.
50996         * lib/gl_anytree_list1.h: Likewise.
50997         * lib/gl_anytree_list2.h: Likewise.
50998         * lib/gl_anytree_oset.h: Likewise.
50999         * lib/gl_anytreehash_list1.h: Likewise.
51000         * lib/gl_anytreehash_list2.h: Likewise.
51001         * lib/gl_array_list.c: Likewise.
51002         * lib/gl_array_list.h: Likewise.
51003         * lib/gl_array_oset.c: Likewise.
51004         * lib/gl_array_oset.h: Likewise.
51005         * lib/gl_avltree_list.c: Likewise.
51006         * lib/gl_avltree_list.h: Likewise.
51007         * lib/gl_avltree_oset.c: Likewise.
51008         * lib/gl_avltree_oset.h: Likewise.
51009         * lib/gl_avltreehash_list.c: Likewise.
51010         * lib/gl_avltreehash_list.h: Likewise.
51011         * lib/gl_carray_list.c: Likewise.
51012         * lib/gl_carray_list.h: Likewise.
51013         * lib/gl_linked_list.c: Likewise.
51014         * lib/gl_linked_list.h: Likewise.
51015         * lib/gl_linkedhash_list.c: Likewise.
51016         * lib/gl_linkedhash_list.h: Likewise.
51017         * lib/gl_list.c: Likewise.
51018         * lib/gl_list.h: Likewise.
51019         * lib/gl_oset.c: Likewise.
51020         * lib/gl_oset.h: Likewise.
51021         * lib/gl_rbtree_list.c: Likewise.
51022         * lib/gl_rbtree_list.h: Likewise.
51023         * lib/gl_rbtree_oset.c: Likewise.
51024         * lib/gl_rbtree_oset.h: Likewise.
51025         * lib/gl_rbtreehash_list.c: Likewise.
51026         * lib/gl_rbtreehash_list.h: Likewise.
51027         * lib/gl_sublist.c: Likewise.
51028         * lib/gl_sublist.h: Likewise.
51029         * lib/group-member.c: Likewise.
51030         * lib/group-member.h: Likewise.
51031         * lib/hard-locale.c: Likewise.
51032         * lib/hard-locale.h: Likewise.
51033         * lib/hash-pjw.c: Likewise.
51034         * lib/hash-pjw.h: Likewise.
51035         * lib/hash-triple.c: Likewise.
51036         * lib/hash.c: Likewise.
51037         * lib/hash.h: Likewise.
51038         * lib/human.c: Likewise.
51039         * lib/human.h: Likewise.
51040         * lib/i-ring.c: Likewise.
51041         * lib/i-ring.h: Likewise.
51042         * lib/idcache.c: Likewise.
51043         * lib/imaxabs.c: Likewise.
51044         * lib/imaxdiv.c: Likewise.
51045         * lib/inet_pton.c: Likewise.
51046         * lib/inet_pton.h: Likewise.
51047         * lib/intprops.h: Likewise.
51048         * lib/inttostr.c: Likewise.
51049         * lib/inttostr.h: Likewise.
51050         * lib/inttypes.in.h: Likewise.
51051         * lib/isapipe.c: Likewise.
51052         * lib/isdir.c: Likewise.
51053         * lib/isnan.c: Likewise.
51054         * lib/isnan.h: Likewise.
51055         * lib/isnanf.c: Likewise.
51056         * lib/isnanf.h: Likewise.
51057         * lib/isnanl-nolibm.h: Likewise.
51058         * lib/isnanl.c: Likewise.
51059         * lib/isnanl.h: Likewise.
51060         * lib/javacomp.c: Likewise.
51061         * lib/javacomp.h: Likewise.
51062         * lib/javaexec.c: Likewise.
51063         * lib/javaexec.h: Likewise.
51064         * lib/javaversion.c: Likewise.
51065         * lib/javaversion.h: Likewise.
51066         * lib/javaversion.java: Likewise.
51067         * lib/lbrkprop.h: Likewise.
51068         * lib/lchmod.h: Likewise.
51069         * lib/lchown.c: Likewise.
51070         * lib/ldexpl.c: Likewise.
51071         * lib/linebreak.c: Likewise.
51072         * lib/linebreak.h: Likewise.
51073         * lib/linebuffer.c: Likewise.
51074         * lib/linebuffer.h: Likewise.
51075         * lib/locale.in.h: Likewise.
51076         * lib/logl.c: Likewise.
51077         * lib/long-options.c: Likewise.
51078         * lib/long-options.h: Likewise.
51079         * lib/lstat.c: Likewise.
51080         * lib/lstat.h: Likewise.
51081         * lib/math.in.h: Likewise.
51082         * lib/mbchar.c: Likewise.
51083         * lib/mbchar.h: Likewise.
51084         * lib/mbfile.h: Likewise.
51085         * lib/mbiter.h: Likewise.
51086         * lib/mbscasecmp.c: Likewise.
51087         * lib/mbscasestr.c: Likewise.
51088         * lib/mbschr.c: Likewise.
51089         * lib/mbscspn.c: Likewise.
51090         * lib/mbslen.c: Likewise.
51091         * lib/mbsncasecmp.c: Likewise.
51092         * lib/mbsnlen.c: Likewise.
51093         * lib/mbspbrk.c: Likewise.
51094         * lib/mbspcasecmp.c: Likewise.
51095         * lib/mbsrchr.c: Likewise.
51096         * lib/mbssep.c: Likewise.
51097         * lib/mbsspn.c: Likewise.
51098         * lib/mbsstr.c: Likewise.
51099         * lib/mbstok_r.c: Likewise.
51100         * lib/mbswidth.c: Likewise.
51101         * lib/mbswidth.h: Likewise.
51102         * lib/mbuiter.h: Likewise.
51103         * lib/memcasecmp.c: Likewise.
51104         * lib/memcasecmp.h: Likewise.
51105         * lib/memchr.c: Likewise.
51106         * lib/memcmp.c: Likewise.
51107         * lib/memcoll.c: Likewise.
51108         * lib/memcoll.h: Likewise.
51109         * lib/memcpy.c: Likewise.
51110         * lib/memrchr.c: Likewise.
51111         * lib/mkancesdirs.c: Likewise.
51112         * lib/mkdir-p.c: Likewise.
51113         * lib/mkdir-p.h: Likewise.
51114         * lib/mkdir.c: Likewise.
51115         * lib/mkdirat.c: Likewise.
51116         * lib/mkdtemp.c: Likewise.
51117         * lib/mkstemp-safer.c: Likewise.
51118         * lib/mkstemp.c: Likewise.
51119         * lib/modechange.c: Likewise.
51120         * lib/modechange.h: Likewise.
51121         * lib/mountlist.c: Likewise.
51122         * lib/mountlist.h: Likewise.
51123         * lib/mpsort.c: Likewise.
51124         * lib/nanosleep.c: Likewise.
51125         * lib/obstack.c: Likewise.
51126         * lib/obstack.h: Likewise.
51127         * lib/open-safer.c: Likewise.
51128         * lib/open.c: Likewise.
51129         * lib/openat-die.c: Likewise.
51130         * lib/openat-priv.h: Likewise.
51131         * lib/openat-proc.c: Likewise.
51132         * lib/openat.c: Likewise.
51133         * lib/openat.h: Likewise.
51134         * lib/pagealign_alloc.c: Likewise.
51135         * lib/pagealign_alloc.h: Likewise.
51136         * lib/physmem.c: Likewise.
51137         * lib/physmem.h: Likewise.
51138         * lib/pipe-safer.c: Likewise.
51139         * lib/pipe.c: Likewise.
51140         * lib/pipe.h: Likewise.
51141         * lib/posixtm.c: Likewise.
51142         * lib/posixtm.h: Likewise.
51143         * lib/posixver.c: Likewise.
51144         * lib/printf-frexp.c: Likewise.
51145         * lib/printf-frexp.h: Likewise.
51146         * lib/printf-frexpl.c: Likewise.
51147         * lib/printf-frexpl.h: Likewise.
51148         * lib/printf.c: Likewise.
51149         * lib/progname.c: Likewise.
51150         * lib/progname.h: Likewise.
51151         * lib/progreloc.c: Likewise.
51152         * lib/putenv.c: Likewise.
51153         * lib/quote.c: Likewise.
51154         * lib/quote.h: Likewise.
51155         * lib/quotearg.c: Likewise.
51156         * lib/quotearg.h: Likewise.
51157         * lib/raise.c: Likewise.
51158         * lib/readline.c: Likewise.
51159         * lib/readline.h: Likewise.
51160         * lib/readlink.c: Likewise.
51161         * lib/readtokens.c: Likewise.
51162         * lib/readtokens.h: Likewise.
51163         * lib/readtokens0.c: Likewise.
51164         * lib/readtokens0.h: Likewise.
51165         * lib/readutmp.c: Likewise.
51166         * lib/readutmp.h: Likewise.
51167         * lib/realloc.c: Likewise.
51168         * lib/relocwrapper.c: Likewise.
51169         * lib/rename-dest-slash.c: Likewise.
51170         * lib/rename.c: Likewise.
51171         * lib/rmdir.c: Likewise.
51172         * lib/rpmatch.c: Likewise.
51173         * lib/safe-read.c: Likewise.
51174         * lib/safe-read.h: Likewise.
51175         * lib/safe-write.c: Likewise.
51176         * lib/safe-write.h: Likewise.
51177         * lib/same-inode.h: Likewise.
51178         * lib/same.c: Likewise.
51179         * lib/same.h: Likewise.
51180         * lib/save-cwd.c: Likewise.
51181         * lib/save-cwd.h: Likewise.
51182         * lib/savedir.c: Likewise.
51183         * lib/savedir.h: Likewise.
51184         * lib/savewd.c: Likewise.
51185         * lib/savewd.h: Likewise.
51186         * lib/search.in.h: Likewise.
51187         * lib/setenv.c: Likewise.
51188         * lib/setenv.h: Likewise.
51189         * lib/settime.c: Likewise.
51190         * lib/sh-quote.c: Likewise.
51191         * lib/sh-quote.h: Likewise.
51192         * lib/sig2str.c: Likewise.
51193         * lib/sig2str.h: Likewise.
51194         * lib/signal.in.h: Likewise.
51195         * lib/signbitd.c: Likewise.
51196         * lib/signbitf.c: Likewise.
51197         * lib/signbitl.c: Likewise.
51198         * lib/sigprocmask.c: Likewise.
51199         * lib/sincosl.c: Likewise.
51200         * lib/sleep.c: Likewise.
51201         * lib/sprintf.c: Likewise.
51202         * lib/sqrtl.c: Likewise.
51203         * lib/stat-time.h: Likewise.
51204         * lib/stdio--.h: Likewise.
51205         * lib/stdio-safer.h: Likewise.
51206         * lib/stdlib--.h: Likewise.
51207         * lib/stdlib-safer.h: Likewise.
51208         * lib/stdlib.in.h: Likewise.
51209         * lib/stpcpy.c: Likewise.
51210         * lib/stpncpy.c: Likewise.
51211         * lib/strchrnul.c: Likewise.
51212         * lib/strcspn.c: Likewise.
51213         * lib/strerror.c: Likewise.
51214         * lib/strftime.c: Likewise.
51215         * lib/strftime.h: Likewise.
51216         * lib/striconveh.c: Likewise.
51217         * lib/striconveh.h: Likewise.
51218         * lib/striconveha.c: Likewise.
51219         * lib/striconveha.h: Likewise.
51220         * lib/stripslash.c: Likewise.
51221         * lib/strnlen1.c: Likewise.
51222         * lib/strnlen1.h: Likewise.
51223         * lib/strtod.c: Likewise.
51224         * lib/strtoimax.c: Likewise.
51225         * lib/strtok_r.c: Likewise.
51226         * lib/strtol.c: Likewise.
51227         * lib/strtoll.c: Likewise.
51228         * lib/strtoul.c: Likewise.
51229         * lib/strtoull.c: Likewise.
51230         * lib/sysexits.in.h: Likewise.
51231         * lib/tempname.c: Likewise.
51232         * lib/tempname.h: Likewise.
51233         * lib/timespec.h: Likewise.
51234         * lib/tls.c: Likewise.
51235         * lib/tls.h: Likewise.
51236         * lib/tmpdir.c: Likewise.
51237         * lib/tmpdir.h: Likewise.
51238         * lib/tmpfile-safer.c: Likewise.
51239         * lib/tmpfile.c: Likewise.
51240         * lib/trigl.c: Likewise.
51241         * lib/trigl.h: Likewise.
51242         * lib/trim.c: Likewise.
51243         * lib/trim.h: Likewise.
51244         * lib/trunc.c: Likewise.
51245         * lib/truncf.c: Likewise.
51246         * lib/truncl.c: Likewise.
51247         * lib/tsearch.c: Likewise.
51248         * lib/unicodeio.c: Likewise.
51249         * lib/unicodeio.h: Likewise.
51250         * lib/unistd--.h: Likewise.
51251         * lib/unistd-safer.h: Likewise.
51252         * lib/unistdio/ulc-fprintf.c: Likewise.
51253         * lib/unistdio/ulc-vfprintf.c: Likewise.
51254         * lib/unlinkdir.c: Likewise.
51255         * lib/unlinkdir.h: Likewise.
51256         * lib/unlocked-io.h: Likewise.
51257         * lib/unsetenv.c: Likewise.
51258         * lib/userspec.c: Likewise.
51259         * lib/utime.c: Likewise.
51260         * lib/utimecmp.c: Likewise.
51261         * lib/utimecmp.h: Likewise.
51262         * lib/utimens.c: Likewise.
51263         * lib/verify.h: Likewise.
51264         * lib/verror.c: Likewise.
51265         * lib/verror.h: Likewise.
51266         * lib/version-etc-fsf.c: Likewise.
51267         * lib/version-etc.c: Likewise.
51268         * lib/version-etc.h: Likewise.
51269         * lib/vfprintf.c: Likewise.
51270         * lib/vprintf.c: Likewise.
51271         * lib/vsprintf.c: Likewise.
51272         * lib/w32spawn.h: Likewise.
51273         * lib/wait-process.c: Likewise.
51274         * lib/wait-process.h: Likewise.
51275         * lib/wcwidth.c: Likewise.
51276         * lib/write-any-file.c: Likewise.
51277         * lib/xalloc-die.c: Likewise.
51278         * lib/xalloc.h: Likewise.
51279         * lib/xasprintf.c: Likewise.
51280         * lib/xgetcwd.c: Likewise.
51281         * lib/xgetcwd.h: Likewise.
51282         * lib/xgetdomainname.c: Likewise.
51283         * lib/xgetdomainname.h: Likewise.
51284         * lib/xgethostname.c: Likewise.
51285         * lib/xmalloc.c: Likewise.
51286         * lib/xmalloca.c: Likewise.
51287         * lib/xmalloca.h: Likewise.
51288         * lib/xmemcoll.c: Likewise.
51289         * lib/xnanosleep.c: Likewise.
51290         * lib/xreadlink.c: Likewise.
51291         * lib/xreadlink.h: Likewise.
51292         * lib/xsetenv.c: Likewise.
51293         * lib/xsetenv.h: Likewise.
51294         * lib/xstriconv.c: Likewise.
51295         * lib/xstriconv.h: Likewise.
51296         * lib/xstrndup.c: Likewise.
51297         * lib/xstrndup.h: Likewise.
51298         * lib/xstrtod.c: Likewise.
51299         * lib/xstrtod.h: Likewise.
51300         * lib/xstrtol-error.c: Likewise.
51301         * lib/xstrtol.c: Likewise.
51302         * lib/xstrtol.h: Likewise.
51303         * lib/xtime.h: Likewise.
51304         * lib/xvasprintf.c: Likewise.
51305         * lib/xvasprintf.h: Likewise.
51306         * lib/yesno.c: Likewise.
51307         * lib/yesno.h: Likewise.
51308         * posix-modules: Likewise.
51309         * tests/test-alloca-opt.c: Likewise.
51310         * tests/test-arcfour.c: Likewise.
51311         * tests/test-arctwo.c: Likewise.
51312         * tests/test-argmatch.c: Likewise.
51313         * tests/test-argp-2.sh: Likewise.
51314         * tests/test-argp.c: Likewise.
51315         * tests/test-arpa_inet.c: Likewise.
51316         * tests/test-array_list.c: Likewise.
51317         * tests/test-array_oset.c: Likewise.
51318         * tests/test-atexit.c: Likewise.
51319         * tests/test-avltree_list.c: Likewise.
51320         * tests/test-avltree_oset.c: Likewise.
51321         * tests/test-avltreehash_list.c: Likewise.
51322         * tests/test-base64.c: Likewise.
51323         * tests/test-binary-io.c: Likewise.
51324         * tests/test-byteswap.c: Likewise.
51325         * tests/test-c-ctype.c: Likewise.
51326         * tests/test-c-strcasecmp.c: Likewise.
51327         * tests/test-c-strcasestr.c: Likewise.
51328         * tests/test-c-strncasecmp.c: Likewise.
51329         * tests/test-c-strstr.c: Likewise.
51330         * tests/test-canonicalize-lgpl.c: Likewise.
51331         * tests/test-canonicalize.c: Likewise.
51332         * tests/test-carray_list.c: Likewise.
51333         * tests/test-ceilf.c: Likewise.
51334         * tests/test-ceill.c: Likewise.
51335         * tests/test-count-one-bits.c: Likewise.
51336         * tests/test-crc.c: Likewise.
51337         * tests/test-dirname.c: Likewise.
51338         * tests/test-fbufmode.c: Likewise.
51339         * tests/test-fcntl.c: Likewise.
51340         * tests/test-fflush.c: Likewise.
51341         * tests/test-floorf.c: Likewise.
51342         * tests/test-floorl.c: Likewise.
51343         * tests/test-fopen.c: Likewise.
51344         * tests/test-fprintf-posix.c: Likewise.
51345         * tests/test-fprintf-posix.h: Likewise.
51346         * tests/test-fpurge.c: Likewise.
51347         * tests/test-freadable.c: Likewise.
51348         * tests/test-freadahead.c: Likewise.
51349         * tests/test-freading.c: Likewise.
51350         * tests/test-freopen.c: Likewise.
51351         * tests/test-frexp.c: Likewise.
51352         * tests/test-frexpl.c: Likewise.
51353         * tests/test-fseek.c: Likewise.
51354         * tests/test-fseeko.c: Likewise.
51355         * tests/test-fseterr.c: Likewise.
51356         * tests/test-fstrcmp.c: Likewise.
51357         * tests/test-ftell.c: Likewise.
51358         * tests/test-ftello.c: Likewise.
51359         * tests/test-fwritable.c: Likewise.
51360         * tests/test-fwriting.c: Likewise.
51361         * tests/test-getaddrinfo.c: Likewise.
51362         * tests/test-getpass.c: Likewise.
51363         * tests/test-gettimeofday.c: Likewise.
51364         * tests/test-hmac-md5.c: Likewise.
51365         * tests/test-hmac-sha1.c: Likewise.
51366         * tests/test-iconv.c: Likewise.
51367         * tests/test-iconvme.c: Likewise.
51368         * tests/test-inttypes.c: Likewise.
51369         * tests/test-isnan.c: Likewise.
51370         * tests/test-isnanf.c: Likewise.
51371         * tests/test-isnanl-nolibm.c: Likewise.
51372         * tests/test-isnanl.c: Likewise.
51373         * tests/test-isnanl.h: Likewise.
51374         * tests/test-ldexpl.c: Likewise.
51375         * tests/test-linked_list.c: Likewise.
51376         * tests/test-linkedhash_list.c: Likewise.
51377         * tests/test-locale.c: Likewise.
51378         * tests/test-localename.c: Likewise.
51379         * tests/test-lock.c: Likewise.
51380         * tests/test-lseek.c: Likewise.
51381         * tests/test-malloca.c: Likewise.
51382         * tests/test-math.c: Likewise.
51383         * tests/test-mbscasecmp.c: Likewise.
51384         * tests/test-mbscasestr1.c: Likewise.
51385         * tests/test-mbscasestr2.c: Likewise.
51386         * tests/test-mbscasestr3.c: Likewise.
51387         * tests/test-mbscasestr4.c: Likewise.
51388         * tests/test-mbschr.c: Likewise.
51389         * tests/test-mbscspn.c: Likewise.
51390         * tests/test-mbsncasecmp.c: Likewise.
51391         * tests/test-mbspbrk.c: Likewise.
51392         * tests/test-mbspcasecmp.c: Likewise.
51393         * tests/test-mbsrchr.c: Likewise.
51394         * tests/test-mbsspn.c: Likewise.
51395         * tests/test-mbsstr1.c: Likewise.
51396         * tests/test-mbsstr2.c: Likewise.
51397         * tests/test-mbsstr3.c: Likewise.
51398         * tests/test-md5.c: Likewise.
51399         * tests/test-memmem.c: Likewise.
51400         * tests/test-netinet_in.c: Likewise.
51401         * tests/test-open.c: Likewise.
51402         * tests/test-printf-frexp.c: Likewise.
51403         * tests/test-printf-frexpl.c: Likewise.
51404         * tests/test-printf-posix.c: Likewise.
51405         * tests/test-printf-posix.h: Likewise.
51406         * tests/test-rbtree_list.c: Likewise.
51407         * tests/test-rbtree_oset.c: Likewise.
51408         * tests/test-rbtreehash_list.c: Likewise.
51409         * tests/test-read-file.c: Likewise.
51410         * tests/test-rijndael.c: Likewise.
51411         * tests/test-search.c: Likewise.
51412         * tests/test-signbit.c: Likewise.
51413         * tests/test-sleep.c: Likewise.
51414         * tests/test-snprintf-posix.c: Likewise.
51415         * tests/test-snprintf-posix.h: Likewise.
51416         * tests/test-snprintf.c: Likewise.
51417         * tests/test-sprintf-posix.c: Likewise.
51418         * tests/test-sprintf-posix.h: Likewise.
51419         * tests/test-stat-time.c: Likewise.
51420         * tests/test-stdbool.c: Likewise.
51421         * tests/test-stdint.c: Likewise.
51422         * tests/test-stdio.c: Likewise.
51423         * tests/test-stdlib.c: Likewise.
51424         * tests/test-stpncpy.c: Likewise.
51425         * tests/test-strcasestr.c: Likewise.
51426         * tests/test-striconv.c: Likewise.
51427         * tests/test-striconveh.c: Likewise.
51428         * tests/test-striconveha.c: Likewise.
51429         * tests/test-string.c: Likewise.
51430         * tests/test-sys_select.c: Likewise.
51431         * tests/test-sys_socket.c: Likewise.
51432         * tests/test-sys_stat.c: Likewise.
51433         * tests/test-sys_time.c: Likewise.
51434         * tests/test-sysexits.c: Likewise.
51435         * tests/test-time.c: Likewise.
51436         * tests/test-tls.c: Likewise.
51437         * tests/test-trunc.c: Likewise.
51438         * tests/test-truncf.c: Likewise.
51439         * tests/test-truncl.c: Likewise.
51440         * tests/test-unistd.c: Likewise.
51441         * tests/test-vasnprintf-posix.c: Likewise.
51442         * tests/test-vasnprintf-posix2.c: Likewise.
51443         * tests/test-vasnprintf.c: Likewise.
51444         * tests/test-vasprintf-posix.c: Likewise.
51445         * tests/test-vasprintf.c: Likewise.
51446         * tests/test-verify.c: Likewise.
51447         * tests/test-vfprintf-posix.c: Likewise.
51448         * tests/test-vprintf-posix.c: Likewise.
51449         * tests/test-vsnprintf-posix.c: Likewise.
51450         * tests/test-vsnprintf.c: Likewise.
51451         * tests/test-vsprintf-posix.c: Likewise.
51452         * tests/test-wchar.c: Likewise.
51453         * tests/test-wctype.c: Likewise.
51454         * tests/test-wcwidth.c: Likewise.
51455         * tests/test-xstrtol.c: Likewise.
51456         * tests/test-xvasprintf.c: Likewise.
51457         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
51458         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
51459         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
51460         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
51461         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
51462         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
51463         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
51464         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
51465         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
51466         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
51467         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
51468         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
51469         * tests/uniname/test-uninames.c: Likewise.
51470         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
51471         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
51472         * tests/unistdio/test-u16-printf1.h: Likewise.
51473         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
51474         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
51475         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
51476         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
51477         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
51478         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
51479         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
51480         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
51481         * tests/unistdio/test-u32-printf1.h: Likewise.
51482         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
51483         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
51484         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
51485         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
51486         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
51487         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
51488         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
51489         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
51490         * tests/unistdio/test-u8-printf1.h: Likewise.
51491         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
51492         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
51493         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
51494         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
51495         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
51496         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
51497         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
51498         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
51499         * tests/unistdio/test-ulc-printf1.h: Likewise.
51500         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
51501         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
51502         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
51503         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
51504         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
51505         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
51506         * tests/uniwidth/test-u16-strwidth.c: Likewise.
51507         * tests/uniwidth/test-u16-width.c: Likewise.
51508         * tests/uniwidth/test-u32-strwidth.c: Likewise.
51509         * tests/uniwidth/test-u32-width.c: Likewise.
51510         * tests/uniwidth/test-u8-strwidth.c: Likewise.
51511         * tests/uniwidth/test-u8-width.c: Likewise.
51512         * tests/uniwidth/test-uc_width.c: Likewise.
51513         * config/srclist-update: Likewise.
51514         (fixlicense): Update to GPLv3+.
51515
51516         Change copyright notice from LGPLv2.1+ to LGPLv3+.
51517         * tests/test-tsearch.c: Change copyright notice.
51518
51519         Change copyright notice from LGPLv2.0+ to LGPLv3+.
51520         * lib/c-strcaseeq.h: Change copyright notice.
51521         * lib/streq.h: Likewise.
51522         * lib/uniconv.h: Likewise.
51523         * lib/uniconv/u-conv-from-enc.h: Likewise.
51524         * lib/uniconv/u-conv-to-enc.h: Likewise.
51525         * lib/uniconv/u-strconv-from-enc.h: Likewise.
51526         * lib/uniconv/u-strconv-to-enc.h: Likewise.
51527         * lib/uniconv/u16-conv-from-enc.c: Likewise.
51528         * lib/uniconv/u16-conv-to-enc.c: Likewise.
51529         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
51530         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
51531         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
51532         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
51533         * lib/uniconv/u32-conv-from-enc.c: Likewise.
51534         * lib/uniconv/u32-conv-to-enc.c: Likewise.
51535         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
51536         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
51537         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
51538         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
51539         * lib/uniconv/u8-conv-from-enc.c: Likewise.
51540         * lib/uniconv/u8-conv-to-enc.c: Likewise.
51541         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
51542         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
51543         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
51544         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
51545         * lib/uniname.h: Likewise.
51546         * lib/uniname/uniname.c: Likewise.
51547         * lib/unistdio.h: Likewise.
51548         * lib/unistdio/u-asnprintf.h: Likewise.
51549         * lib/unistdio/u-asprintf.h: Likewise.
51550         * lib/unistdio/u-printf-args.c: Likewise.
51551         * lib/unistdio/u-printf-args.h: Likewise.
51552         * lib/unistdio/u-printf-parse.h: Likewise.
51553         * lib/unistdio/u-snprintf.h: Likewise.
51554         * lib/unistdio/u-sprintf.h: Likewise.
51555         * lib/unistdio/u-vasprintf.h: Likewise.
51556         * lib/unistdio/u-vsnprintf.h: Likewise.
51557         * lib/unistdio/u-vsprintf.h: Likewise.
51558         * lib/unistdio/u16-asnprintf.c: Likewise.
51559         * lib/unistdio/u16-asprintf.c: Likewise.
51560         * lib/unistdio/u16-printf-parse.c: Likewise.
51561         * lib/unistdio/u16-snprintf.c: Likewise.
51562         * lib/unistdio/u16-sprintf.c: Likewise.
51563         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
51564         * lib/unistdio/u16-u16-asprintf.c: Likewise.
51565         * lib/unistdio/u16-u16-snprintf.c: Likewise.
51566         * lib/unistdio/u16-u16-sprintf.c: Likewise.
51567         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
51568         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
51569         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
51570         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
51571         * lib/unistdio/u16-vasnprintf.c: Likewise.
51572         * lib/unistdio/u16-vasprintf.c: Likewise.
51573         * lib/unistdio/u16-vsnprintf.c: Likewise.
51574         * lib/unistdio/u16-vsprintf.c: Likewise.
51575         * lib/unistdio/u32-asnprintf.c: Likewise.
51576         * lib/unistdio/u32-asprintf.c: Likewise.
51577         * lib/unistdio/u32-printf-parse.c: Likewise.
51578         * lib/unistdio/u32-snprintf.c: Likewise.
51579         * lib/unistdio/u32-sprintf.c: Likewise.
51580         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
51581         * lib/unistdio/u32-u32-asprintf.c: Likewise.
51582         * lib/unistdio/u32-u32-snprintf.c: Likewise.
51583         * lib/unistdio/u32-u32-sprintf.c: Likewise.
51584         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
51585         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
51586         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
51587         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
51588         * lib/unistdio/u32-vasnprintf.c: Likewise.
51589         * lib/unistdio/u32-vasprintf.c: Likewise.
51590         * lib/unistdio/u32-vsnprintf.c: Likewise.
51591         * lib/unistdio/u32-vsprintf.c: Likewise.
51592         * lib/unistdio/u8-asnprintf.c: Likewise.
51593         * lib/unistdio/u8-asprintf.c: Likewise.
51594         * lib/unistdio/u8-printf-parse.c: Likewise.
51595         * lib/unistdio/u8-snprintf.c: Likewise.
51596         * lib/unistdio/u8-sprintf.c: Likewise.
51597         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
51598         * lib/unistdio/u8-u8-asprintf.c: Likewise.
51599         * lib/unistdio/u8-u8-snprintf.c: Likewise.
51600         * lib/unistdio/u8-u8-sprintf.c: Likewise.
51601         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
51602         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
51603         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
51604         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
51605         * lib/unistdio/u8-vasnprintf.c: Likewise.
51606         * lib/unistdio/u8-vasprintf.c: Likewise.
51607         * lib/unistdio/u8-vsnprintf.c: Likewise.
51608         * lib/unistdio/u8-vsprintf.c: Likewise.
51609         * lib/unistdio/ulc-asnprintf.c: Likewise.
51610         * lib/unistdio/ulc-asprintf.c: Likewise.
51611         * lib/unistdio/ulc-printf-parse.c: Likewise.
51612         * lib/unistdio/ulc-snprintf.c: Likewise.
51613         * lib/unistdio/ulc-sprintf.c: Likewise.
51614         * lib/unistdio/ulc-vasnprintf.c: Likewise.
51615         * lib/unistdio/ulc-vasprintf.c: Likewise.
51616         * lib/unistdio/ulc-vsnprintf.c: Likewise.
51617         * lib/unistdio/ulc-vsprintf.c: Likewise.
51618         * lib/unistr.h: Likewise.
51619         * lib/unistr/u-cpy-alloc.h: Likewise.
51620         * lib/unistr/u-cpy.h: Likewise.
51621         * lib/unistr/u-endswith.h: Likewise.
51622         * lib/unistr/u-move.h: Likewise.
51623         * lib/unistr/u-set.h: Likewise.
51624         * lib/unistr/u-startswith.h: Likewise.
51625         * lib/unistr/u-stpcpy.h: Likewise.
51626         * lib/unistr/u-stpncpy.h: Likewise.
51627         * lib/unistr/u-strcat.h: Likewise.
51628         * lib/unistr/u-strcpy.h: Likewise.
51629         * lib/unistr/u-strcspn.h: Likewise.
51630         * lib/unistr/u-strdup.h: Likewise.
51631         * lib/unistr/u-strlen.h: Likewise.
51632         * lib/unistr/u-strncat.h: Likewise.
51633         * lib/unistr/u-strncpy.h: Likewise.
51634         * lib/unistr/u-strnlen.h: Likewise.
51635         * lib/unistr/u-strpbrk.h: Likewise.
51636         * lib/unistr/u-strspn.h: Likewise.
51637         * lib/unistr/u-strstr.h: Likewise.
51638         * lib/unistr/u-strtok.h: Likewise.
51639         * lib/unistr/u16-check.c: Likewise.
51640         * lib/unistr/u16-chr.c: Likewise.
51641         * lib/unistr/u16-cmp.c: Likewise.
51642         * lib/unistr/u16-cpy-alloc.c: Likewise.
51643         * lib/unistr/u16-cpy.c: Likewise.
51644         * lib/unistr/u16-endswith.c: Likewise.
51645         * lib/unistr/u16-mblen.c: Likewise.
51646         * lib/unistr/u16-mbsnlen.c: Likewise.
51647         * lib/unistr/u16-mbtouc-aux.c: Likewise.
51648         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
51649         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
51650         * lib/unistr/u16-mbtouc.c: Likewise.
51651         * lib/unistr/u16-mbtoucr.c: Likewise.
51652         * lib/unistr/u16-move.c: Likewise.
51653         * lib/unistr/u16-next.c: Likewise.
51654         * lib/unistr/u16-prev.c: Likewise.
51655         * lib/unistr/u16-set.c: Likewise.
51656         * lib/unistr/u16-startswith.c: Likewise.
51657         * lib/unistr/u16-stpcpy.c: Likewise.
51658         * lib/unistr/u16-stpncpy.c: Likewise.
51659         * lib/unistr/u16-strcat.c: Likewise.
51660         * lib/unistr/u16-strchr.c: Likewise.
51661         * lib/unistr/u16-strcmp.c: Likewise.
51662         * lib/unistr/u16-strcpy.c: Likewise.
51663         * lib/unistr/u16-strcspn.c: Likewise.
51664         * lib/unistr/u16-strdup.c: Likewise.
51665         * lib/unistr/u16-strlen.c: Likewise.
51666         * lib/unistr/u16-strmblen.c: Likewise.
51667         * lib/unistr/u16-strmbtouc.c: Likewise.
51668         * lib/unistr/u16-strncat.c: Likewise.
51669         * lib/unistr/u16-strncmp.c: Likewise.
51670         * lib/unistr/u16-strncpy.c: Likewise.
51671         * lib/unistr/u16-strnlen.c: Likewise.
51672         * lib/unistr/u16-strpbrk.c: Likewise.
51673         * lib/unistr/u16-strrchr.c: Likewise.
51674         * lib/unistr/u16-strspn.c: Likewise.
51675         * lib/unistr/u16-strstr.c: Likewise.
51676         * lib/unistr/u16-strtok.c: Likewise.
51677         * lib/unistr/u16-to-u32.c: Likewise.
51678         * lib/unistr/u16-to-u8.c: Likewise.
51679         * lib/unistr/u16-uctomb-aux.c: Likewise.
51680         * lib/unistr/u16-uctomb.c: Likewise.
51681         * lib/unistr/u32-check.c: Likewise.
51682         * lib/unistr/u32-chr.c: Likewise.
51683         * lib/unistr/u32-cmp.c: Likewise.
51684         * lib/unistr/u32-cpy-alloc.c: Likewise.
51685         * lib/unistr/u32-cpy.c: Likewise.
51686         * lib/unistr/u32-endswith.c: Likewise.
51687         * lib/unistr/u32-mblen.c: Likewise.
51688         * lib/unistr/u32-mbsnlen.c: Likewise.
51689         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
51690         * lib/unistr/u32-mbtouc.c: Likewise.
51691         * lib/unistr/u32-mbtoucr.c: Likewise.
51692         * lib/unistr/u32-move.c: Likewise.
51693         * lib/unistr/u32-next.c: Likewise.
51694         * lib/unistr/u32-prev.c: Likewise.
51695         * lib/unistr/u32-set.c: Likewise.
51696         * lib/unistr/u32-startswith.c: Likewise.
51697         * lib/unistr/u32-stpcpy.c: Likewise.
51698         * lib/unistr/u32-stpncpy.c: Likewise.
51699         * lib/unistr/u32-strcat.c: Likewise.
51700         * lib/unistr/u32-strchr.c: Likewise.
51701         * lib/unistr/u32-strcmp.c: Likewise.
51702         * lib/unistr/u32-strcpy.c: Likewise.
51703         * lib/unistr/u32-strcspn.c: Likewise.
51704         * lib/unistr/u32-strdup.c: Likewise.
51705         * lib/unistr/u32-strlen.c: Likewise.
51706         * lib/unistr/u32-strmblen.c: Likewise.
51707         * lib/unistr/u32-strmbtouc.c: Likewise.
51708         * lib/unistr/u32-strncat.c: Likewise.
51709         * lib/unistr/u32-strncmp.c: Likewise.
51710         * lib/unistr/u32-strncpy.c: Likewise.
51711         * lib/unistr/u32-strnlen.c: Likewise.
51712         * lib/unistr/u32-strpbrk.c: Likewise.
51713         * lib/unistr/u32-strrchr.c: Likewise.
51714         * lib/unistr/u32-strspn.c: Likewise.
51715         * lib/unistr/u32-strstr.c: Likewise.
51716         * lib/unistr/u32-strtok.c: Likewise.
51717         * lib/unistr/u32-to-u16.c: Likewise.
51718         * lib/unistr/u32-to-u8.c: Likewise.
51719         * lib/unistr/u32-uctomb.c: Likewise.
51720         * lib/unistr/u8-check.c: Likewise.
51721         * lib/unistr/u8-chr.c: Likewise.
51722         * lib/unistr/u8-cmp.c: Likewise.
51723         * lib/unistr/u8-cpy-alloc.c: Likewise.
51724         * lib/unistr/u8-cpy.c: Likewise.
51725         * lib/unistr/u8-endswith.c: Likewise.
51726         * lib/unistr/u8-mblen.c: Likewise.
51727         * lib/unistr/u8-mbsnlen.c: Likewise.
51728         * lib/unistr/u8-mbtouc-aux.c: Likewise.
51729         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
51730         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
51731         * lib/unistr/u8-mbtouc.c: Likewise.
51732         * lib/unistr/u8-mbtoucr.c: Likewise.
51733         * lib/unistr/u8-move.c: Likewise.
51734         * lib/unistr/u8-next.c: Likewise.
51735         * lib/unistr/u8-prev.c: Likewise.
51736         * lib/unistr/u8-set.c: Likewise.
51737         * lib/unistr/u8-startswith.c: Likewise.
51738         * lib/unistr/u8-stpcpy.c: Likewise.
51739         * lib/unistr/u8-stpncpy.c: Likewise.
51740         * lib/unistr/u8-strcat.c: Likewise.
51741         * lib/unistr/u8-strchr.c: Likewise.
51742         * lib/unistr/u8-strcmp.c: Likewise.
51743         * lib/unistr/u8-strcpy.c: Likewise.
51744         * lib/unistr/u8-strcspn.c: Likewise.
51745         * lib/unistr/u8-strdup.c: Likewise.
51746         * lib/unistr/u8-strlen.c: Likewise.
51747         * lib/unistr/u8-strmblen.c: Likewise.
51748         * lib/unistr/u8-strmbtouc.c: Likewise.
51749         * lib/unistr/u8-strncat.c: Likewise.
51750         * lib/unistr/u8-strncmp.c: Likewise.
51751         * lib/unistr/u8-strncpy.c: Likewise.
51752         * lib/unistr/u8-strnlen.c: Likewise.
51753         * lib/unistr/u8-strpbrk.c: Likewise.
51754         * lib/unistr/u8-strrchr.c: Likewise.
51755         * lib/unistr/u8-strspn.c: Likewise.
51756         * lib/unistr/u8-strstr.c: Likewise.
51757         * lib/unistr/u8-strtok.c: Likewise.
51758         * lib/unistr/u8-to-u16.c: Likewise.
51759         * lib/unistr/u8-to-u32.c: Likewise.
51760         * lib/unistr/u8-uctomb-aux.c: Likewise.
51761         * lib/unistr/u8-uctomb.c: Likewise.
51762         * lib/unitypes.h: Likewise.
51763         * lib/uniwidth.h: Likewise.
51764         * lib/uniwidth/cjk.h: Likewise.
51765         * lib/uniwidth/u16-strwidth.c: Likewise.
51766         * lib/uniwidth/u16-width.c: Likewise.
51767         * lib/uniwidth/u32-strwidth.c: Likewise.
51768         * lib/uniwidth/u32-width.c: Likewise.
51769         * lib/uniwidth/u8-strwidth.c: Likewise.
51770         * lib/uniwidth/u8-width.c: Likewise.
51771         * lib/uniwidth/width.c: Likewise.
51772
51773 2007-10-07  Bruno Haible  <bruno@clisp.org>
51774
51775         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
51776         The file is still under LGPL (see modules/inttypes).
51777
51778 2007-10-06  Bruno Haible  <bruno@clisp.org>
51779
51780         * modules/trunc (Dependencies): Add 'extensions'.
51781         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
51782         Reported by Ben Pfaff <blp@gnu.org>.
51783
51784 2007-10-06  Bruno Haible  <bruno@clisp.org>
51785
51786         * modules/freopen-tests: New file.
51787         * tests/test-freopen.c: New file.
51788
51789         * modules/fopen-tests: New file.
51790         * tests/test-fopen.c: New file.
51791
51792         * modules/fopen: New file.
51793         * lib/fopen.c: New file.
51794         * m4/fopen.m4: New file.
51795         * modules/freopen: New file.
51796         * lib/freopen.c: New file.
51797         * m4/freopen.m4: New file.
51798         * lib/stdio.in.h (fopen, freopen): New declarations.
51799         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
51800         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
51801         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
51802         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
51803         * doc/functions/fopen.texi: Mention the 'fopen' module.
51804         * doc/functions/freopen.texi: Mention the 'freopen' module.
51805
51806 2007-10-06  Bruno Haible  <bruno@clisp.org>
51807
51808         * modules/open-tests: New file.
51809         * tests/test-open.c: New file.
51810
51811         * modules/open: New file.
51812         * lib/open.c: New file.
51813         * m4/open.m4: New file.
51814         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
51815         lib/open.c does.
51816         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
51817         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
51818         macros.
51819         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
51820         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
51821         REPLACE_OPEN.
51822         * doc/functions/open.texi: Mention the 'open' module.
51823
51824 2007-10-04  Bruno Haible  <bruno@clisp.org>
51825
51826         * modules/ceill-tests: New file.
51827         * tests/test-ceill.c: New file.
51828
51829         * modules/ceill: New file.
51830         * lib/ceill.c: Replace entire file.
51831         * m4/ceill.m4: New file.
51832         * lib/math.in.h (ceill): Replace declaration.
51833         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
51834         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
51835         * doc/functions/ceill.texi: Mention the 'ceill' module.
51836         * modules/mathl (Files): Remove lib/ceill.c.
51837         (Depends-on): Add ceill.
51838
51839 2007-10-04  Bruno Haible  <bruno@clisp.org>
51840
51841         * modules/ceilf-tests: New file.
51842         * tests/test-ceilf.c: New file.
51843
51844         * modules/ceilf: New file.
51845         * lib/ceil.c: New file.
51846         * lib/ceilf.c: New file.
51847         * m4/ceilf.m4: New file.
51848         * lib/math.in.h (ceilf): New declaration.
51849         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
51850         HAVE_DECL_CEILF.
51851         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
51852         HAVE_DECL_CEILF.
51853         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
51854
51855 2007-10-04  Bruno Haible  <bruno@clisp.org>
51856
51857         * modules/floorl-tests: New file.
51858         * tests/test-floorl.c: New file.
51859
51860         * modules/floorl: New file.
51861         * lib/floorl.c: Replace entire file.
51862         * m4/floorl.m4: New file.
51863         * lib/math.in.h (floorl): Replace declaration.
51864         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
51865         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
51866         * doc/functions/floorl.texi: Mention the 'floorl' module.
51867         * modules/mathl (Files): Remove lib/floorl.c.
51868         (Depends-on): Add floorl.
51869
51870 2007-10-04  Bruno Haible  <bruno@clisp.org>
51871
51872         * modules/floorf-tests: New file.
51873         * tests/test-floorf.c: New file.
51874
51875         * modules/floorf: New file.
51876         * lib/floor.c: New file.
51877         * lib/floorf.c: New file.
51878         * m4/floorf.m4: New file.
51879         * lib/math.in.h (floorf): New declaration.
51880         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
51881         HAVE_DECL_FLOORF.
51882         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
51883         HAVE_DECL_FLOORF.
51884         * doc/functions/floorf.texi: Mention the 'floorf' module.
51885
51886 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
51887             Bruno Haible  <bruno@clisp.org>
51888
51889         Advertise for the Git server instead of the CVS server.
51890         * doc/gnulib-intro.texi (Steady Development): Mention the Git
51891         repository instead of the CVS one.
51892         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
51893         about all VCS systems generically.
51894         * doc/gnulib.texi (Introduction): Capitalize `Git'.
51895
51896 2007-10-04  Bruno Haible  <bruno@clisp.org>
51897
51898         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
51899         means.
51900         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
51901
51902 2007-10-04  Bruno Haible  <bruno@clisp.org>
51903
51904         * modules/truncl-tests: New file.
51905         * tests/test-truncl.c: New file.
51906
51907         * modules/truncl: New file.
51908         * lib/truncl.c: New file.
51909         * m4/truncl.m4: New file.
51910         * lib/math.in.h (truncl): New declaration.
51911         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
51912         HAVE_DECL_TRUNCL.
51913         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
51914         HAVE_DECL_TRUNCL.
51915         * doc/functions/truncl.texi: Mention the 'truncl' module.
51916
51917 2007-10-04  Bruno Haible  <bruno@clisp.org>
51918
51919         * modules/truncf-tests: New file.
51920         * tests/test-truncf.c: New file.
51921
51922         * modules/truncf: New file.
51923         * lib/trunc.c: Make paramerizable through USE_* macros.
51924         * lib/truncf.c: New file.
51925         * m4/truncf.m4: New file.
51926         * lib/math.in.h (truncf): New declaration.
51927         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
51928         HAVE_DECL_TRUNCF.
51929         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
51930         HAVE_DECL_TRUNCF.
51931         * doc/functions/truncf.texi: Mention the 'truncf' module.
51932
51933 2007-10-03  Bruno Haible  <bruno@clisp.org>
51934
51935         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
51936         augmentation also for tests modules.
51937         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
51938         * modules/atexit-tests (Makefile.am): Likewise.
51939         * modules/binary-io-tests (Makefile.am): Likewise.
51940         * modules/c-strcase-tests (Makefile.am): Likewise.
51941         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
51942         * modules/canonicalize-tests (Makefile.am): Likewise.
51943         * modules/closein-tests (Makefile.am): Likewise.
51944         * modules/fprintf-posix-tests (Makefile.am): Likewise.
51945         * modules/freadahead-tests (Makefile.am): Likewise.
51946         * modules/fseek-tests (Makefile.am): Likewise.
51947         * modules/fseeko-tests (Makefile.am): Likewise.
51948         * modules/ftell-tests (Makefile.am): Likewise.
51949         * modules/ftello-tests (Makefile.am): Likewise.
51950         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
51951         * modules/isnanl-tests (Makefile.am): Likewise.
51952         * modules/lseek-tests (Makefile.am): Likewise.
51953         * modules/mbscasecmp-tests (Makefile.am): Likewise.
51954         * modules/mbscasestr-tests (Makefile.am): Likewise.
51955         * modules/mbschr-tests (Makefile.am): Likewise.
51956         * modules/mbscspn-tests (Makefile.am): Likewise.
51957         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
51958         * modules/mbspbrk-tests (Makefile.am): Likewise.
51959         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
51960         * modules/mbsrchr-tests (Makefile.am): Likewise.
51961         * modules/mbsspn-tests (Makefile.am): Likewise.
51962         * modules/mbsstr-tests (Makefile.am): Likewise.
51963         * modules/printf-posix-tests (Makefile.am): Likewise.
51964         * modules/snprintf-posix-tests (Makefile.am): Likewise.
51965         * modules/sprintf-posix-tests (Makefile.am): Likewise.
51966         * modules/tsearch-tests (Makefile.am): Likewise.
51967         * modules/uniname/uniname-tests (Makefile.am): Likewise.
51968         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
51969         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
51970         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
51971         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
51972         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
51973         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
51974         * modules/vprintf-posix-tests (Makefile.am): Likewise.
51975         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
51976         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
51977         * modules/xstrtoimax-tests (Makefile.am): Likewise.
51978         * modules/xstrtol-tests (Makefile.am): Likewise.
51979         * modules/xstrtoumax-tests (Makefile.am): Likewise.
51980         * modules/yesno-tests (Makefile.am): Likewise.
51981
51982 2007-10-03  Bruno Haible  <bruno@clisp.org>
51983
51984         * modules/trunc-tests: New file.
51985         * tests/test-trunc.c: New file.
51986
51987         * modules/trunc: New file.
51988         * lib/trunc.c: New file.
51989         * m4/trunc.m4: New file.
51990         * lib/math.in.h (trunc): New declaration.
51991         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
51992         HAVE_DECL_TRUNC.
51993         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
51994         HAVE_DECL_TRUNC.
51995         * doc/functions/trunc.texi: Mention the 'trunc' module.
51996
51997 2007-10-03  Bruno Haible  <bruno@clisp.org>
51998
51999         * tests/test-fpending.c: New file, mostly copied
52000         from coreutils/lib/t-fpending.c.
52001         * modules/fpending-tests: New file.
52002
52003 2007-10-03  Bruno Haible  <bruno@clisp.org>
52004
52005         Port the stdio extensions to QNX (untested).
52006         * lib/fseterr.c (fseterr): Add support for QNX.
52007         * lib/fbufmode.c (fbufmode): Likewise.
52008         * lib/freadable.c (freadable): Likewise.
52009         * lib/fwritable.c (fwritable): Likewise.
52010         * lib/freading.c (freading): Likewise.
52011         * lib/fwriting.c (fwriting): Likewise.
52012         * lib/freadahead.c (freadahed): Likewise.
52013         * lib/fpurge.c (fpurge): Likewise.
52014         * lib/fseeko.c (rpl_fseeko): Likewise.
52015
52016 2007-10-03  Bruno Haible  <bruno@clisp.org>
52017             Jim Meyering  <jim@meyering.net>
52018             Eric Blake  <ebb9@byu.net>
52019
52020         * doc/relocatable.texi: Use @command instead of @program.
52021
52022 2007-10-02  Jim Meyering  <jim@meyering.net>
52023
52024         Perform one more "_.h" -> ".in.h" substitution.
52025         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
52026         instead of unistd_.h here, too.
52027
52028 2007-10-01  Bruno Haible  <bruno@clisp.org>
52029
52030         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
52031         Needed for the alloca-opt module.
52032
52033 2007-09-30  Bruno Haible  <bruno@clisp.org>
52034
52035         * lib/alloca.in.h: Renamed from lib/alloca_.h.
52036         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
52037         alloca_.h.
52038         * lib/argz.in.h: Renamed from lib/argz_.h.
52039         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
52040         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
52041         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
52042         byteswap_.h.
52043         * lib/dirent.in.h: Renamed from lib/dirent_.h.
52044         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
52045         dirent_.h.
52046         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
52047         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
52048         fcntl_.h.
52049         * lib/float.in.h: Renamed from lib/float_.h.
52050         * modules/float (Files, Makefile.am): Use float.in.h instead of
52051         float_.h.
52052         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
52053         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
52054         fnmatch_.h.
52055         * lib/getopt.in.h: Renamed from lib/getopt_.h.
52056         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
52057         getopt_.h.
52058         * lib/glob.in.h: Renamed from lib/glob_.h.
52059         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
52060         * lib/iconv.in.h: Renamed from lib/iconv_.h.
52061         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
52062         iconv_.h.
52063         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
52064         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
52065         inttypes_.h.
52066         * lib/locale.in.h: Renamed from lib/locale_.h.
52067         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
52068         locale_.h.
52069         * lib/math.in.h: Renamed from lib/math_.h.
52070         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
52071         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
52072         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
52073         of netinet_in_.h. Add dependency.
52074         * lib/poll.in.h: Renamed from lib/poll_.h.
52075         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
52076         * lib/search.in.h: Renamed from lib/search_.h.
52077         * modules/search (Files, Makefile.am): Use search.in.h instead of
52078         search_.h.
52079         * lib/signal.in.h: Renamed from lib/signal_.h.
52080         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
52081         _signal.h.
52082         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
52083         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
52084         stdbool_.h.
52085         * lib/stdint.in.h: Renamed from lib/stdint_.h.
52086         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
52087         stdint_.h.
52088         * lib/stdio.in.h: Renamed from lib/stdio_.h.
52089         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
52090         stdio_.h.
52091         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
52092         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
52093         stdlib_.h.
52094         * lib/string.in.h: Renamed from lib/string_.h.
52095         * modules/string (Files, Makefile.am): Use string.in.h instead of
52096         string_.h.
52097         * doc/gnulib-tool.texi (Initial import): Update.
52098         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
52099         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
52100         of sys_select_.h. Add dependency.
52101         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
52102         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
52103         of sys_socket_.h.
52104         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
52105         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
52106         sys_stat_.h.
52107         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
52108         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
52109         sys_time_.h.
52110         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
52111         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
52112         sysexits_.h.
52113         * lib/time.in.h: Renamed from lib/time_.h.
52114         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
52115         * lib/unistd.in.h: Renamed from lib/unistd_.h.
52116         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
52117         unistd_.h.
52118         * lib/wchar.in.h: Renamed from lib/wchar_.h.
52119         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
52120         wchar_.h.
52121         * lib/wctype.in.h: Renamed from lib/wctype_.h.
52122         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
52123         wctype_.h.
52124         * build-aux/bootstrap (slurp): Update.
52125         * lib/.cppi-disable: Update.
52126
52127 2007-09-30  Bruno Haible  <bruno@clisp.org>
52128
52129         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
52130         Needed on BeOS.
52131
52132 2007-09-30  Bruno Haible  <bruno@clisp.org>
52133
52134         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
52135
52136 2007-09-29  Bruno Haible  <bruno@clisp.org>
52137
52138         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
52139
52140 2007-09-29  Bruno Haible  <bruno@clisp.org>
52141
52142         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
52143         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
52144         * build-aux/install-reloc: Compile also areadlink.c.
52145         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
52146
52147 2007-09-29  Bruno Haible  <bruno@clisp.org>
52148
52149         * gnulib-tool (func_emit_initmacro_done): Indentation.
52150
52151 2007-09-29  Bruno Haible  <bruno@clisp.org>
52152
52153         * README: Add CVS checkout update instructions.
52154         Info from Bob Proulx <bob@proulx.com>.
52155
52156 2007-09-28  Eric Blake  <ebb9@byu.net>
52157
52158         Provide move-if-change.
52159         * build-aux/move-if-change: New file, based on best practice
52160         rather than any canonical upstream location.
52161
52162 2007-09-28  Jim Meyering  <jim@meyering.net>
52163
52164         Fix canonicalize loop-detection corner case.
52165         Do not attempt to stat the symlink values stored via seen_triple.
52166         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
52167         on linux-2.6.18, (but not 2.6.22).
52168         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
52169         triple_compare.  The former compares dev,ino,filename, while the latter
52170         would actually stat dirname(filename) when dev and ino were equal.
52171         * lib/hash-triple.c: Install <string.h>.
52172         (STREQ): Define.
52173         (triple_compare_ino_str): New function.
52174         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
52175
52176 2007-09-28  Eric Blake  <ebb9@byu.net>
52177
52178         Enforce that AC_REPLACE_FUNCS files exist.
52179         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
52180         override check for typos.
52181
52182         Fix test-closein on Solaris 10.
52183         * tests/test-closein.c (main): Don't assume stdin can be inherited
52184         closed on all systems.
52185         * tests/test-closein.sh: Likewise.
52186         Reported by Piotr Tarnowski.
52187
52188 2007-09-28  Jim Meyering  <jim@meyering.net>
52189
52190         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
52191
52192 2007-09-27  Jim Meyering  <jim@meyering.net>
52193
52194         canonicalize: Avoid a false-positive cycle failure.
52195         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
52196         Sort.  Remove cycle-check.
52197         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
52198         not cycle-check.h.
52199         (seen_triple): New function.
52200         (canonicalize_filename_mode): Use it instead of cycle-check.
52201         * tests/test-canonicalize.c: Add a test for this bug.
52202         * tests/test-canonicalize.sh: Set up and run the test.
52203
52204         New module, file-set, from coreutils.
52205         * modules/file-set: Define it.
52206         * lib/file-set.c, lib/file-set.h: Implement.
52207
52208         New module, hash-triple, from coreutils.
52209         * modules/hash-triple: Define it.
52210         * lib/hash-triple.c, lib/hash-triple.h: Implement.
52211
52212 2007-09-25  Eric Blake  <ebb9@byu.net>
52213
52214         Fix strerror on Interix.
52215         * lib/string_.h (strerror): Declare replacement.
52216         * doc/functions/strerror.texi (strerror): Document the Interix
52217         shortcoming.
52218         * modules/string (Makefile.am): Support new hooks.
52219         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
52220         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
52221         gl_FUNC_STRERROR_SEPARATE.
52222         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
52223         * lib/strerror.c (rpl_strerror): Provide replacement.
52224         * modules/strerror (Depends-on): Add string.
52225         (configure.ac): Detect use of module.
52226         * tests/test-strerror.c: New file.
52227         * modules/strerror-tests: New test module.
52228         * modules/argp (Depends-on): Add strerror.
52229         * modules/error (Depends-on): Likewise.
52230         Reported by Martin Koeppe.
52231
52232 2007-09-24  Bruno Haible  <bruno@clisp.org>
52233
52234         * README: Update git instructions.
52235
52236 2007-09-24  Eric Blake  <ebb9@byu.net>
52237
52238         Revert fpending breakage from 2007-09-08.
52239         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
52240         __fpending.c.
52241
52242 2007-09-24  Jim Meyering  <jim@meyering.net>
52243
52244         filenamecat.c: Add a test.
52245         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
52246         showing how the function works when DIR is the empty string.
52247
52248 2007-09-21  Simon Josefsson  <simon@josefsson.org>
52249
52250         * tests/test-canonicalize.sh: Turn on executable bit.
52251
52252 2007-09-19  Eric Blake  <ebb9@byu.net>
52253
52254         * README: Update CVS instructions.
52255
52256 2007-09-18  Bruno Haible  <bruno@clisp.org>
52257
52258         * modules/areadlink: New file.
52259         * lib/areadlink.h (areadlink): New declaration.
52260         * lib/areadlink.c: New file, based on lib/xreadlink.c.
52261
52262 2007-09-17  Jim Meyering  <jim@meyering.net>
52263
52264         * lib/savewd.c (ESTALE) [!defined]: Define.
52265         Reported to be required on Interix by Martin Koeppe.
52266
52267 2007-09-17  Bruno Haible  <bruno@clisp.org>
52268
52269         * gnulib-tool (func_version): Use $version.
52270
52271 2007-09-16  Bruno Haible  <bruno@clisp.org>
52272
52273         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
52274         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
52275         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
52276         Reported by Greg Schafer <gschafer@zip.com.au>.
52277
52278 2007-09-15  Bruno Haible  <bruno@clisp.org>
52279
52280         * gnulib-tool (sed): Try a little harder to make bash understand the
52281         alias.
52282         Reported by Bruce Korb <bruce.korb@gmail.com>.
52283
52284 2007-09-13  Eric Blake  <ebb9@byu.net>
52285
52286         * ChangeLog: Remove conflict markers.
52287
52288 2007-09-13  Simon Josefsson  <simon@josefsson.org>
52289
52290         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
52291         Reported by Bruno Haible <bruno@clisp.org>.
52292
52293 2007-09-12  Bruno Haible  <bruno@clisp.org>
52294
52295         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
52296         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
52297         is not defined.
52298
52299 2007-09-12  Eric Blake  <ebb9@byu.net>
52300
52301         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
52302         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
52303         Autoconf definition.
52304         * modules/euidaccess (Depends-on): Add extensions, for
52305         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
52306         * modules/fnmatch (Depends-on): Likewise.
52307         * modules/getaddrinfo (Depends-on): Likewise.
52308         * modules/getdelim (Depends-on): Likewise.
52309         * modules/getline (Depends-on): Likewise.
52310         * modules/getsubopt (Depends-on): Likewise.
52311         * modules/gettext (Depends-on): Likewise.
52312         * modules/group-member (Depends-on): Likewise.
52313         * modules/mbchar (Depends-on): Likewise.
52314         * modules/memmem (Depends-on): Likewise.
52315         * modules/mempcpy (Depends-on): Likewise.
52316         * modules/memrchr (Depends-on): Likewise.
52317         * modules/pagealign_alloc (Depends-on): Likewise.
52318         * modules/readutmp (Depends-on): Likewise.
52319         * modules/stpcpy (Depends-on): Likewise.
52320         * modules/stpncpy (Depends-on): Likewise.
52321         * modules/strchrnul (Depends-on): Likewise.
52322         * modules/strndup (Depends-on): Likewise.
52323         * modules/strsep (Depends-on): Likewise.
52324         * modules/strverscmp (Depends-on): Likewise.
52325         * modules/vasprintf (Depends-on): Likewise.
52326         * modules/wcwidth (Depends-on): Likewise.
52327         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
52328         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
52329         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
52330         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
52331         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
52332         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
52333         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
52334         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
52335         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
52336         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
52337         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52338         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
52339         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
52340         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
52341         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
52342         * m4/readutmp.m4 (gl_READUTMP): Likewise.
52343         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
52344         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
52345         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
52346         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
52347         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
52348         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
52349         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
52350         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
52351         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
52352         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
52353         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
52354         so that lock.m4 can be used in gettext without extensions module.
52355
52356 2007-09-11  Bruno Haible  <bruno@clisp.org>
52357
52358         * m4/isc-posix.m4: Remove file.
52359         Suggested by Eric Blake.
52360
52361 2007-09-11  Eric Blake  <ebb9@byu.net>
52362
52363         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
52364
52365 2007-09-10  Bruno Haible  <bruno@clisp.org>
52366
52367         * posix-modules: Fix typo in error message.
52368         Reported by Matt <mkraai@beckman.com>.
52369
52370 2007-09-09  Bruno Haible  <bruno@clisp.org>
52371
52372         * doc/functions/getdelim.texi: Update list of platforms lacking the
52373         function.
52374         * doc/functions/getline.texi: Likewise.
52375
52376 2007-09-09  Jim Meyering  <jim@meyering.net>
52377
52378         * lib/hash.c (hash_initialize): Detect calloc failure.
52379         Reported by Bruno Haible.
52380
52381 2007-09-09  Bruno Haible  <bruno@clisp.org>
52382
52383         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
52384         malloc or realloc fails.
52385
52386 2007-09-09  Bruno Haible  <bruno@clisp.org>
52387
52388         * modules/getcwd (Depends-on): Add malloc-posix.
52389         * modules/glob (Depends-on): Likewise.
52390         * modules/putenv (Depends-on): Likewise.
52391         * modules/strdup (Depends-on): Likewise.
52392         * modules/getdelim (Depends-on): Add realloc-posix.
52393         * modules/read-file (Depends-on): Likewise.
52394
52395 2007-09-09  Bruno Haible  <bruno@clisp.org>
52396
52397         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
52398         (gl_FUNC_MALLOC_POSIX): Require it.
52399         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
52400         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
52401         * modules/realloc (Files): Add m4/malloc.m4.
52402         * modules/calloc (Files): Likewise.
52403
52404 2007-09-09  Bruno Haible  <bruno@clisp.org>
52405
52406         * modules/malloc-posix: New file.
52407         * modules/malloc (Depends-on): Add malloc-posix.
52408         * lib/malloc.c: Include errno.h.
52409         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
52410         and a POSIX-compatible malloc into a single function. Set ENOMEM
52411         when returning NULL.
52412         * m4/malloc.m4: New file.
52413         * doc/functions/malloc.texi: Mention the malloc-posix module.
52414         * lib/stdlib_.h (malloc): New declaration.
52415         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
52416         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
52417         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
52418         and HAVE_MALLOC_POSIX.
52419
52420 2007-09-09  Bruno Haible  <bruno@clisp.org>
52421
52422         * modules/realloc-posix: New file.
52423         * modules/realloc (Depends-on): Add realloc-posix.
52424         * lib/realloc.c: Include errno.h.
52425         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
52426         and a POSIX-compatible realloc into a single function. Set ENOMEM
52427         when returning NULL.
52428         * m4/realloc.m4: New file.
52429         * doc/functions/realloc.texi: Mention the realloc-posix module.
52430         * lib/stdlib_.h (realloc): New declaration.
52431         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
52432         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
52433         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
52434         and HAVE_REALLOC_POSIX.
52435
52436 2007-09-09  Bruno Haible  <bruno@clisp.org>
52437
52438         * modules/calloc-posix: New file.
52439         * modules/calloc (Depends-on): Add calloc-posix.
52440         * lib/calloc.c: Include errno.h.
52441         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
52442         and a POSIX-compatible calloc into a single function. Set ENOMEM
52443         when returning NULL.
52444         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
52445         * doc/functions/calloc.texi: Mention the calloc-posix module.
52446         * lib/stdlib_.h (calloc): New declaration.
52447         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
52448         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
52449         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
52450         and HAVE_CALLOC_POSIX.
52451
52452 2007-09-09  Bruno Haible  <bruno@clisp.org>
52453
52454         Allow for modules to show an arbitrary notice.
52455         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
52456         * gnulib-tool: New option --extract-notice.
52457         (func_usage): Document it.
52458         (sed_extract_prog): Update.
52459         (func_get_notice): New function.
52460         (func_modules_notice): New function.
52461         (func_import, func_create_testdir): Invoke it.
52462         Suggested by Jim Meyering.
52463
52464 2007-09-09  Bruno Haible  <bruno@clisp.org>
52465
52466         * gnulib-tool: New options --verbose, --quiet.
52467         (func_usage): Document them.
52468         (verbose): New variable.
52469         (func_execute_command): New function.
52470         (func_import): Don't show the module list and the file list if
52471         $verbose < 0.
52472         (func_create_testdir): Likewise. Use func_execute_command.
52473         (func_create_megatestdir): Use func_execute_command.
52474
52475 2007-09-08  Bruno Haible  <bruno@clisp.org>
52476
52477         * gnulib-tool (func_import): Prefer rsync over wget when available,
52478         for fetching the PO files.
52479
52480 2007-09-08  Bruno Haible  <bruno@clisp.org>
52481
52482         * posix-modules: New file. Portions copied from gnulib-tool.
52483         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
52484
52485 2007-09-08  Jim Meyering  <jim@meyering.net>
52486
52487         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
52488         * lib/fpending.h: Rename from __fpending.h.
52489         * lib/fpending.c: Rename from __fpending.c.
52490         Include "fpending.h", not "__fpending.h".
52491         * lib/__fpending.h, lib/__fpending.c: Remove files.
52492         * modules/fpending (Files): Reflect new file names.
52493         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
52494
52495 2007-09-08  Bruno Haible  <bruno@clisp.org>
52496
52497         * m4/inttypes-h.m4: Remove stub file.
52498
52499 2007-09-07  Simon Josefsson  <simon@josefsson.org>
52500
52501         * doc/headers/stdint.texi: Discuss #include_next issue.
52502
52503 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
52504
52505         * build-aux/bootstrap: Remove obsolete comment about wget --help.
52506
52507 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52508
52509         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
52510         in variable name.
52511
52512 2007-09-03  Jim Meyering  <jim@meyering.net>
52513
52514         New module: git-version-gen.
52515         * modules/git-version-gen: New file.
52516
52517         Import changes from coreutils for bootstrap script.
52518
52519         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
52520
52521         bootstrap: uses rsync to download the .po files
52522         * build-aux/bootstrap (po_download_command_format): New global.
52523         (download_po_files): Use rsync.
52524         (update_po_files): Don't remove .po files after download,
52525         so future rsync runs can take advantage of the copies.
52526
52527         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
52528
52529         Solve the unnecessary-.po-file-regeneration problem once and for all.
52530         * build-aux/bootstrap (download_po_files): New function, renamed from
52531         get_translations.  Now, downloads, but doesn't update LINGUAS.
52532         (update_po_files): New function.
52533
52534         bootstrap: Ignore more.
52535         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
52536         uniwidth to e.g., lib/.gitignore.
52537         (slurp): Handle the sys_stat_.h -> sys mapping, too.
52538
52539         * build-aux/bootstrap: New setting: vc_ignore.
52540         (insert_sorted_if_absent): Create $file if absent.
52541         Adapt to new, possibly empty, list: $vc_ignore.
52542
52543         bootstrap: generate more ignorable names
52544         * build-aux/bootstrap (slurp): When generating ignorable names,
52545         also map .sin to .sed, .gperf to .c, and .y to .c.
52546
52547 2007-09-03  Jim Meyering  <jim@meyering.net>
52548
52549         * build-aux/git-version-gen: New file, from coreutils.  For details, see
52550         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
52551
52552 2007-09-02  Bruno Haible  <bruno@clisp.org>
52553
52554         Fix mis-recognition of 'mcs' on QNX 6.
52555         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
52556         output contains the string "Mono".
52557         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
52558         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
52559
52560 2007-09-01  Bruno Haible  <bruno@clisp.org>
52561
52562         Fix collision between uniwidth/* and linebreak modules.
52563         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
52564         u32_width): Remove declarations.
52565         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
52566         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
52567         streq3, streq2, streq1, streq0): Remove functions.
52568         (STREQ): Remove macro.
52569         (is_cjk_encoding): Remove function.
52570         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
52571         (uc_width, u8_width, u16_width, u32_width): Remove functions.
52572         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
52573         * NEWS: Document the change.
52574
52575 2007-09-01  Bruno Haible  <bruno@clisp.org>
52576
52577         * lib/streq.h: Add double-inclusion guard.
52578
52579 2007-09-01  Karl Berry  <karl@gnu.org>
52580
52581         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
52582
52583 2007-08-28  Jim Meyering  <jim@meyering.net>
52584
52585         Rename mreadlink_with_size to areadlink_with_size.
52586         * NEWS: Document the change.
52587         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
52588         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
52589         * lib/mreadlink.h: Rename this to...
52590         * lib/areadlink.h: ...this.
52591         * modules/mreadlink-with-size: Rename this to...
52592         * modules/areadlink-with-size: ...this.
52593         * lib/canonicalize.c: Reflect the renaming.
52594         * modules/canonicalize: Likewise.
52595
52596 2007-08-26  Bruno Haible  <bruno@clisp.org>
52597
52598         * gnulib-tool (func_import): When deciding which files to remove,
52599         consider also dangling symbolic links.
52600         Reported by Eric Blake.
52601
52602 2007-08-26  Bruno Haible  <bruno@clisp.org>
52603
52604         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
52605
52606 2007-08-23  Simon Josefsson  <simon@josefsson.org>
52607
52608         * lib/readline.c: Don't include getline.h, the prototype is now
52609         found in stdio.h.
52610
52611 2007-08-23  Jim Meyering  <jim@meyering.net>
52612
52613         Getdelim touchup.
52614         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
52615         around the funlockfile call, since funlockfile never sets errno.
52616         Don't set errno upon failed realloc.
52617
52618 2007-08-22  Eric Blake  <ebb9@byu.net>
52619
52620         Getline touchups.
52621         * lib/getdelim.c (getdelim): Revert regression that required *n to
52622         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
52623         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
52624         getdelim, rather than whether implementation is missing.
52625         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
52626         * lib/stdio_.h (getline): Also declare if replacement is
52627         required.
52628         * doc/functions/getdelim.texi: New file.
52629         * doc/functions/getline.texi: Likewise.
52630         * doc/gnulib.texi (Function Substitutes): Add new files.
52631         Reported by Bruno Haible.
52632
52633 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
52634
52635         * users.txt: Add Guile.
52636
52637 2007-08-22  Eric Blake  <ebb9@byu.net>
52638
52639         * tests/test-getdelim.c (main): Use remove, not unlink.
52640         * tests/test-getline.c (main): Likewise.
52641
52642         Move getline and getdelim into stdio.h, per POSIX 200x.
52643         * modules/getline (Files): Remove getline.h.
52644         (Depends-on): Add stdio.
52645         (configure.ac): Add module indicator.
52646         * modules/getdelim (Files): Remove getdelim.h.
52647         (Depends-on): Add stdio.
52648         (configure.ac): Add module indicator.
52649         * modules/stdio (Makefile.am): Work with new indicators.
52650         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
52651         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
52652         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
52653         * lib/getdelim.h: Delete.
52654         * lib/getline.h: Delete.
52655         * lib/stdio_.h (getdelim, getline): Declare.
52656         * modules/getdelim-tests: New module.
52657         * modules/getline-tests: Likewise.
52658         * tests/test-getdelim.c: New file.
52659         * tests/test-getline.c: Likewise.
52660         * NEWS: Document the change.
52661         * lib/getline.c: Update choice of header.
52662         * lib/csharpcomp.c: Likewise.
52663         * lib/getpass.c: Likewise.
52664         * lib/javacomp.c: Likewise.
52665         * lib/javaversion.c: Likewise.
52666         * lib/yesno.c: Likewise.
52667         * lib/getdelim.c: Likewise.
52668         (getdelim): Set errno on failure, and avoid memory leak.
52669
52670 2007-08-19  Bruno Haible  <bruno@clisp.org>
52671
52672         * modules/closein (Depends-on): Add freadahead.
52673         * lib/closein.c: Include freadahead.h.
52674         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
52675         is zero.
52676
52677 2007-08-19  Bruno Haible  <bruno@clisp.org>
52678
52679         * modules/freadahead-tests: New file.
52680         * tests/test-freadahead.sh: New file.
52681         * tests/test-freadahead.c: New file.
52682
52683         * modules/freadahead: New file.
52684         * lib/freadahead.h: New file.
52685         * lib/freadahead.c: New file.
52686         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
52687         fbufmode, fpurge, freadable, fwritable.
52688
52689 2007-08-19  Eric Blake  <ebb9@byu.net>
52690
52691         Test yesno in combination with closein.
52692         * lib/yesno.c (yesno): Document use of stdin.
52693         * modules/yesno-tests (Files): New module.
52694         * tests/test-yesno.c (main): New file.
52695         * tests/test-yesno.sh: Likewise.
52696
52697 2007-08-19  Bruno Haible  <bruno@clisp.org>
52698
52699         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
52700         * lib/fseeko.c (rpl_fseeko): Likewise.
52701         * lib/fseterr.c (fseterr): Likewise.
52702
52703 2007-08-19  Bruno Haible  <bruno@clisp.org>
52704
52705         * tests/test-lseek.c (main): Disable a test for BeOS.
52706         * doc/functions/lseek.texi: Document the BeOS bug.
52707
52708 2007-08-19  Bruno Haible  <bruno@clisp.org>
52709             Eric Blake  <ebb9@byu.net>
52710
52711         * lib/lseek.c: Include <sys/stat.h>.
52712         (rpl_lseek): Add workaround code also for Unix platforms.
52713         Needed for BeOS.
52714         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
52715         * doc/functions/lseek.texi: Document BeOS definiency.
52716
52717 2007-08-18  Bruno Haible  <bruno@clisp.org>
52718
52719         * modules/fstrcmp-tests: New file.
52720         * tests/test-fstrcmp.c: New file.
52721
52722 2007-08-18  Bruno Haible  <bruno@clisp.org>
52723
52724         * modules/fstrcmp: New file, from GNU gettext with modifications.
52725         * lib/fstrcmp.h: New file, from GNU gettext.
52726         * lib/fstrcmp.c: New file, from GNU gettext.
52727         * MODULES.html.sh (String handling): Add fstrcmp.
52728
52729 2007-08-18  Bruno Haible  <bruno@clisp.org>
52730
52731         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
52732         'bool'.
52733         (diag, compareseq): Remove const from the ctxt argument.
52734         (USE_HEURISTIC): Undefine at the end.
52735
52736 2007-08-18  Jim Meyering  <jim@meyering.net>
52737
52738         New file: lib/idcache.h
52739         * NEWS: Mention the addition.
52740         * modules/idcache (Files): Add lib/idcache.h
52741         * lib/idcache.c: Include "idcache.h".
52742         Don't include <sys/types.h>.
52743         Add a FIXME comment.
52744         Move file-scoped "static" declarations to the top.
52745         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
52746
52747 2007-08-17  Bruno Haible  <bruno@clisp.org>
52748         and Paul Eggert  <eggert@cs.ucla.edu>
52749
52750         * MODULES.html.sh: Add diffseq.
52751         * modules/diffseq: New file.
52752         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
52753         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
52754
52755 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52756
52757         Import changes from coreutils for bootstrap script.
52758
52759         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
52760
52761         * build-aux/bootstrap (slurp): Work even in environments where
52762         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
52763         current code does not slurp files whose names start with ".", and
52764         this looks like it might be a troublesome area.
52765
52766         2007-07-11  Jim Meyering  <jim@meyering.net>
52767
52768         If there's a GPL vN copyright comment, require that N == 3.
52769
52770         2007-07-08  Jim Meyering  <jim@meyering.net>
52771
52772         Run the coreutils-specific code only if tests/Makefile.am.in exists.
52773         * build-aux/bootstrap (mam_template): Move definition out of loop.
52774
52775         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
52776
52777         * build-aux/bootstrap (symlink_to_dir): Rename function from
52778         symlink_to_gnulib.  Add a directory parameter.  Update all
52779         callers.
52780         (cp_mark_as_generated): Also check for -- and link to -- files in
52781         gl/.
52782
52783         2007-07-08  Jim Meyering  <jim@meyering.net>
52784
52785         Adapt to deeper hierarchy in gnulib.
52786         * build-aux/bootstrap (symlink_to_dir): If the destination
52787         directory doesn't exist, create it. This is required at least for
52788         "lib/uniwidth/cjk.h".
52789
52790         2007-05-15  Jim Meyering  <jim@meyering.net>
52791
52792         * build-aux/bootstrap: Now that generated Makefile.am files
52793         are no longer under version control, they must be created at
52794         bootstrap time.
52795
52796 2007-08-14  Ben Pfaff  <blp@gnu.org>
52797
52798         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
52799
52800 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
52801
52802         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
52803         given the changes below.
52804         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
52805         even on hosts that have padding bits beyond the supported 64.
52806
52807 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
52808
52809         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
52810         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
52811         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
52812         depends on it.
52813         (xstrtol_error): Remove.
52814         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
52815         but with a different signature.
52816         (ATTRIBUTE_NORETURN, __attribute__): New macros.
52817         * lib/xstrtol-error.c: Include exitfail.h.
52818         (xstrtol_fatal): New function, with a different signature from the
52819         old xstrtol_error, so that the caller need not worry about passing
52820         in an exit status, or about storage management of the option argument.
52821         (xstrtol_error): Now a static function.  Redo signature to
52822         implement xstrtol_fatal.  Output the correct number of hyphens in
52823         front of the option so that the caller need not worry about
52824         storage management.
52825         (N_): New macro.
52826         (_): Remove; not used now.
52827         * modules/xstrtol: Depend on getopt.
52828         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
52829         of old STRTOL_FATAL_ERROR macro.
52830         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
52831         of test program.
52832         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
52833         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
52834
52835 2007-08-08  Eric Blake  <ebb9@byu.net>
52836
52837         * lib/xstrtol-error.c: Add missing include.
52838
52839         Move xstrtol messages into gnulib domain, when --pobase is used.
52840         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
52841         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
52842         * modules/xstrtol (Files): Distribute new file.
52843         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
52844         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
52845         * tests/test-xstrtol.c: ...into new file.
52846         * tests/test-xstrtoul.c: Also test xstrtoul.
52847         * tests/test-xstrtoimax.c: Also test xstrtoimax.
52848         * tests/test-xstrtoumax.c: Also test xstrtoumax.
52849         * tests/test-xstrtol.sh: Drive the tests.
52850         * tests/test-xstrtoimax.sh: Likewise.
52851         * tests/test-xstrtoumax.sh: Likewise.
52852         * modules/xstrtol-tests: New module.
52853         * modules/xstrtoimax-tests: Likewise.
52854         * modules/xstrtoumax-tests: Likewise.
52855
52856 2007-08-08  Jim Meyering  <jim@meyering.net>
52857
52858         New function: mfile_name_concat.
52859         * lib/filenamecat.c (mfile_name_concat): New function, just like
52860         file_name_concat, but return NULL upon failure rather than exiting
52861         with a diagnostic.
52862         * lib/filenamecat.h: Declare it.
52863
52864 2007-08-07  Bruno Haible  <bruno@clisp.org>
52865
52866         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
52867         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
52868         warning from gcc.
52869         Reported by Eric Blake.
52870
52871 2007-08-07  Simon Josefsson  <simon@josefsson.org>
52872
52873         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
52874         * modules/crypto/arcfour (License): Likewise.
52875         * modules/crypto/des-tests (License): Likewise.
52876         * modules/crypto/gc-arctwo-tests (License): Likewise.
52877         * modules/crypto/gc-des-tests (License): Likewise.
52878         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
52879         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
52880         * modules/crypto/gc-md2-tests (License): Likewise.
52881         * modules/crypto/gc-md4-tests (License): Likewise.
52882         * modules/crypto/gc-md5-tests (License): Likewise.
52883         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
52884         * modules/crypto/gc-rijndael-tests (License): Likewise.
52885         * modules/crypto/gc-sha1-tests (License): Likewise.
52886         * modules/crypto/gc-tests (License): Likewise.
52887         * modules/crypto/hmac-md5 (License): Likewise.
52888         * modules/crypto/hmac-sha1 (License): Likewise.
52889         * modules/crypto/md2-tests (License): Likewise.
52890         * modules/crypto/md4-tests (License): Likewise.
52891         * modules/crypto/md5 (License): Likewise.
52892         * modules/crypto/rijndael (License): Likewise.
52893         * modules/crypto/sha1 (License): Likewise.
52894         * modules/memxor (License): Likewise.
52895
52896 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
52897         and Bruno Haible  <bruno@clisp.org>
52898
52899         * NEWS: Describe interface changes to human, xstrtol.
52900         * lib/human.h: Include <xstrtol.h>.
52901         (human_options): Return enum strtol_error, not int.  Remove
52902         bool arg; take int * instead.
52903         * lib/human.c: Don't include "gettext.h".
52904         (_): Remove; no longer used.
52905         Don't include <xstrtol.h>, since human.h does it.
52906         (human_options): Adjust to abovementioned interface changes.
52907         Do not report error to stderr; that's now the caller's
52908         responsibility.
52909         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
52910         interface change.
52911         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
52912         Str, Argument_type_string.  All uses changed.  Put " argument"
52913         in diagnostics to make them clearer.  Change wording of suffix
52914         message for clarity.
52915         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
52916         Argument_type_string.
52917         (STRTOL_FATAL_WARN): Remove; no longer used.
52918         * modules/human (Depends-on): Remove gettext-h.
52919
52920 2007-08-06  Simon Josefsson  <simon@josefsson.org>
52921
52922         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
52923
52924 2007-07-31  Bruno Haible  <bruno@clisp.org>
52925
52926         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
52927         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
52928         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
52929
52930 2007-07-31  Bruno Haible  <bruno@clisp.org>
52931
52932         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
52933         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
52934
52935 2007-07-30  Bruno Haible  <bruno@clisp.org>
52936
52937         * modules/base64 (License): Use the synonymous term "LGPLv2+".
52938         * modules/c-ctype (License): Likewise.
52939         * modules/c-strcase (License): Likewise.
52940         * modules/check-version (License): Likewise.
52941         * modules/iconv (License): Likewise.
52942         * modules/iconv_open (License): Likewise.
52943         * modules/read-file (License): Likewise.
52944         * modules/striconv (License): Likewise.
52945         * modules/strverscmp (License): Likewise.
52946         * modules/vasprintf (License): Likewise.
52947         * modules/crypto/des (License): Likewise.
52948         * modules/crypto/gc (License): Likewise.
52949         * modules/crypto/gc-arcfour (License): Likewise.
52950         * modules/crypto/gc-arctwo (License): Likewise.
52951         * modules/crypto/gc-des (License): Likewise.
52952         * modules/crypto/gc-hmac-md5 (License): Likewise.
52953         * modules/crypto/gc-hmac-sha1 (License): Likewise.
52954         * modules/crypto/gc-md2 (License): Likewise.
52955         * modules/crypto/gc-md4 (License): Likewise.
52956         * modules/crypto/gc-md5 (License): Likewise.
52957         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
52958         * modules/crypto/gc-random (License): Likewise.
52959         * modules/crypto/gc-rijndael (License): Likewise.
52960         * modules/crypto/gc-sha1 (License): Likewise.
52961         * modules/crypto/md2 (License): Likewise.
52962         * modules/crypto/md4 (License): Likewise.
52963
52964 2007-07-30  Jim Meyering  <jim@meyering.net>
52965
52966         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
52967         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
52968         it has valid stat data.  This bug would cause du not to count the
52969         sizes of inaccessible directories.
52970         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
52971         in <http://bugzilla.redhat.com/250077>.
52972
52973 2007-07-25  Peter O'Gorman  <peter@pogma.com>
52974             Bruno Haible  <bruno@clisp.org>
52975
52976         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
52977         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
52978         #include_next, gives a diagnostic about it, but reports no error in
52979         the exit code.
52980         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
52981
52982 2007-07-24  Ben Pfaff  <blp@gnu.org>
52983
52984         Improve name: "count-one-bits" is better than "popcount".
52985         * MODULES.html.sh: Update name.
52986         * lib/popcount.h: Renamed lib/count-one-bits.h.
52987         (popcount): Renamed count_one_bits.
52988         (popcountl): Renamed count_one_bits_l.
52989         (popcountll): Renamed count_one_bits_ll.
52990         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
52991         * modules/popcount: Renamed module/count-one-bits.
52992         * modules/popcount-tests: Renamed module/count-one-bits-tests.
52993         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
52994
52995 2007-07-23  Ben Pfaff  <blp@gnu.org>
52996
52997         * lib/popcount.h (popcount32): Reduce size of constants, to allow
52998         better code generation, and add U to large constants to avoid
52999         warnings, in non-GCC case.
53000         Suggested by Bruno Haible.
53001
53002 2007-07-23  Ben Pfaff  <blp@gnu.org>
53003
53004         * lib/popcount.h: Use verify_true instead of if...abort.
53005         * modules/popcount: Depend on verify module.
53006         Suggested by Jim Meyering.
53007
53008 2007-07-23  Bruno Haible  <bruno@clisp.org>
53009
53010         * gnulib-tool (func_import): Create a .cvsignore file also when the
53011         directory is not yet in CVS but the toplevel directory is. When
53012         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
53013         Reported by Karl Berry.
53014
53015 2007-07-22  Ben Pfaff  <blp@gnu.org>
53016
53017         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
53018         case.
53019         Suggested by Eric Blake.
53020
53021 2007-07-22  Ben Pfaff  <blp@gnu.org>
53022
53023         New module: popcount.
53024         * MODULES.html.sh: Add popcount.
53025         * modules/popcount: New file.
53026         * modules/popcount-tests: New file.
53027         * tests/test-popcount.c: New file.
53028         * lib/popcount.h: New file.
53029         * m4/popcount.m4: New file.
53030
53031 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
53032
53033         * build-aux/announce-gen: Update to GPLv3.
53034
53035         * build-aux/config.guess: Update from config.
53036
53037 2007-07-21  Bruno Haible  <bruno@clisp.org>
53038
53039         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
53040         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
53041
53042 2007-07-20  Jim Meyering  <jim@meyering.net>
53043
53044         * check-module: Diagnose a self-dependency.
53045
53046 2007-07-19  Bruno Haible  <bruno@clisp.org>
53047
53048         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
53049         empty.
53050         Reported by Eric Blake.
53051
53052 2007-07-18  Bruno Haible  <bruno@clisp.org>
53053
53054         * gnulib-tool: New options --po-base, --po-domain.
53055         (func_usage): Document them.
53056         (pobase, po_domain): New variables.
53057         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
53058         DEFAULT_TEXT_DOMAIN.
53059         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
53060         (func_import): Consider pobase and po_domain. Create a po/ directory.
53061         (func_create_testdir): Set pobase and po_domain to empty.
53062         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
53063         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
53064
53065 2007-07-18  Bruno Haible  <bruno@clisp.org>
53066
53067         * gnulib-tool (func_get_automake_snippet): Synthesize also an
53068         EXTRA_DIST augmentation for files in build-aux/.
53069
53070 2007-07-16  Bruno Haible  <bruno@clisp.org>
53071
53072         * modules/lseek (License): Use the synonymous term "LGPLv2+".
53073         * modules/getdelim (License): Likewise.
53074
53075 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53076
53077         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
53078         * modules/d-type (License): Likewise.
53079         * modules/extensions (License): Likewise.
53080         * modules/fnmatch (License): Likewise.
53081         * modules/fseeko (License): Likewise.
53082         * modules/getaddrinfo (License): Likewise.
53083         * modules/getline (License): Likewise.
53084         * modules/getlogin_r (License): Likewise.
53085         * modules/getpass (License): Likewise.
53086         * modules/gettimeofday (License): Likewise.
53087         * modules/glob (License): Likewise.
53088         * modules/inet_ntop (License): Likewise.
53089         * modules/malloc (License): Likewise.
53090         * modules/malloca (License): Likewise.
53091         * modules/memmem (License): Likewise.
53092         * modules/mempcpy (License): Likewise.
53093         * modules/memset (License): Likewise.
53094         * modules/minmax (License): Likewise.
53095         * modules/mktime (License): Likewise.
53096         * modules/netinet_in (License): Likewise.
53097         * modules/pathmax (License): Likewise.
53098         * modules/poll (License): Likewise.
53099         * modules/regex (License): Likewise.
53100         * modules/snprintf (License): Likewise.
53101         * modules/stdbool (License): Likewise.
53102         * modules/stdint (License): Likewise.
53103         * modules/stdio (License): Likewise.
53104         * modules/strcase (License): Likewise.
53105         * modules/strcasestr (License): Likewise.
53106         * modules/strdup (License): Likewise.
53107         * modules/string (License): Likewise.
53108         * modules/strndup (License): Likewise.
53109         * modules/strnlen (License): Likewise.
53110         * modules/strpbrk (License): Likewise.
53111         * modules/strptime (License): Likewise.
53112         * modules/strsep (License): Likewise.
53113         * modules/sys_select (License): Likewise.
53114         * modules/sys_socket (License): Likewise.
53115         * modules/sys_stat (License): Likewise.
53116         * modules/sys_time (License): Likewise.
53117         * modules/time (License): Likewise.
53118         * modules/time_r (License): Likewise.
53119         * modules/timegm (License): Likewise.
53120         * modules/unistd (License): Likewise.
53121         * modules/vsnprintf (License): Likewise.
53122         * modules/wctype (License): Likewise.
53123
53124 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53125
53126         * modules/argz (License): LGPLv2+.
53127
53128 2007-07-15  Karl Berry  <karl@gnu.org>
53129
53130         * doc/gnulib.texi: revise node structure per new fdl.texi.
53131
53132 2007-07-14  Bruno Haible  <bruno@clisp.org>
53133
53134         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
53135         the output file.
53136         * lib/uniname/uninames.h: Regenerated.
53137
53138 2007-07-14  Karl Berry  <karl@gnu.org>
53139
53140         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
53141         omitting sectioning and index commands.
53142
53143 2007-07-13  Bruno Haible  <bruno@clisp.org>
53144
53145         New gnulib-tool option --more-symlinks.
53146         * gnulib-tool (func_usage): Document --more-symlinks.
53147         (do_copyrights): New variable.
53148         Recognize option --more-symlinks.
53149         (func_import): Don't add a copyright notice transform to
53150         sed_transform_lib_file if do_copyrights is empty.
53151
53152 2007-07-13  Bruno Haible  <bruno@clisp.org>
53153
53154         * lib/vasnprintf.c (decimal_point_char): Define also if
53155         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
53156         && !NEED_PRINTF_DIRECTIVE_A.
53157         Reported by Clemens Koller <clemens.koller@anagramm.de> via
53158         Gary V. Vaughan <gary@gnu.org>.
53159
53160 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
53161
53162         * lib/inttypes_.h: Undo previous change, since it was fixed
53163         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
53164
53165 2007-07-13  Bruno Haible  <bruno@clisp.org>
53166
53167         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
53168         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
53169
53170 2007-07-13  Jim Meyering  <jim@meyering.net>
53171
53172         df: Don't fail for Tru64's "file-on-file mount".
53173         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
53174         so we fall through and use statfs instead.  Details here:
53175         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
53176         Reported by Albert Chin.
53177
53178 2007-07-13  Bruno Haible  <bruno@clisp.org>
53179
53180         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
53181         * modules/configmake (License): Likewise.
53182         * modules/gettext (License): Likewise.
53183         * modules/gettext-h (License): Likewise.
53184         * modules/include_next (License): Likewise.
53185         * modules/link-warning (License): Likewise.
53186         * modules/localcharset (License): Likewise.
53187         * modules/localename (License): Likewise.
53188         * modules/lock (License): Likewise.
53189         * modules/relocatable-lib-lgpl (License): Likewise.
53190         * modules/size_max (License): Likewise.
53191         * modules/vasnprintf (License): Likewise.
53192         * modules/wchar (License): Likewise.
53193         * modules/xsize (License): Likewise.
53194
53195 2007-07-13  Bruno Haible  <bruno@clisp.org>
53196
53197         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
53198         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
53199
53200 2007-07-12  Bruno Haible  <bruno@clisp.org>
53201
53202         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
53203         in the modules files.
53204
53205 2007-07-11  Karl Berry  <karl@gnu.org>
53206
53207         * MODULES.html.sh (func_module): use
53208          sed -e '\|^'"${includefile}"'$|d'
53209          instead of /.../d, to avoid errors on $includefile's containing /.
53210
53211 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
53212
53213         * gnulib-tool (func_import): Avoid duplication of --avoid
53214         statements
53215         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
53216         names to `_' in variable names.
53217
53218 2007-07-10  Eric Blake  <ebb9@byu.net>
53219
53220         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
53221         * NEWS: Document this change.
53222
53223 2007-07-08  Bruno Haible  <bruno@clisp.org>
53224
53225         Update to Unicode 5.0.
53226         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
53227         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
53228         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
53229         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
53230         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
53231         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
53232         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
53233         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
53234         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
53235         U+10A3F, U+1D242..U+1D244.
53236         (nonspacing_table_ind): Update.
53237         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
53238         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
53239
53240 2007-07-08  Bruno Haible  <bruno@clisp.org>
53241
53242         Update to Unicode 5.0.
53243         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
53244         code transform. Extend the name index field of unicode_name_to_code and
53245         unicode_code_to_name from 16 to 24 bits.
53246         * lib/uniname/uniname.c (unicode_character_name,
53247         unicode_name_character): Add the range 0x12xxx to the code transform.
53248         * lib/uniname/uninames.h: Regenerated.
53249         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
53250
53251 2007-07-07  Bruno Haible  <bruno@clisp.org>
53252
53253         * modules/wcwidth-tests: New file.
53254         * tests/test-wcwidth.c: New file.
53255
53256         Work around MacOS X wcwidth() bug.
53257         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
53258         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
53259         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
53260         original wcwidth in non-UTF-8 locales.
53261         * modules/wcwidth (Depends-on): Add localcharset, streq,
53262         uniwidth/width.
53263         * doc/functions/wcwidth.texi: Update.
53264
53265 2007-07-07  Bruno Haible  <bruno@clisp.org>
53266
53267         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
53268         (wcwidth): New declaration.
53269         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
53270         macros.
53271         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
53272         here. Prepare for creating <wchar.h> unconditionally.
53273         * modules/wchar (Depends-on): Add link-warning.
53274         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
53275         REPLACE_WCWIDTH, and GL_LINK_WARNING.
53276         * lib/wcwidth.h: Remove file.
53277         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
53278         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
53279         * modules/wcwidth (Files): Remove lib/wcwidth.h.
53280         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
53281         (Include): Replace wcwidth.h with <wchar.h>.
53282         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
53283         * lib/mbchar.h: Don't include wcwidth.h.
53284         * lib/mbswidth.c: Likewise.
53285         * NEWS: Mention the change.
53286
53287 2007-07-07  Bruno Haible  <bruno@clisp.org>
53288
53289         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
53290         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
53291         definition with an external declaration.
53292         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
53293         defined as a function. Remove AC_C_INLINE requirement.
53294         * modules/wcwidth (Files): Add lib/wcwidth.c.
53295         (Makefile.am): Remove redundant statement.
53296
53297 2007-07-07  Bruno Haible  <bruno@clisp.org>
53298
53299         * MODULES.html.sh (Unicode string functions): Add the new modules.
53300
53301         * tests/uniwidth/test-u32-strwidth.c: New file.
53302         * modules/uniwidth/u32-strwidth-tests: New file.
53303
53304         * lib/uniwidth/u32-strwidth.c: New file.
53305         * modules/uniwidth/u32-strwidth: New file.
53306
53307         * tests/uniwidth/test-u16-strwidth.c: New file.
53308         * modules/uniwidth/u16-strwidth-tests: New file.
53309
53310         * lib/uniwidth/u16-strwidth.c: New file.
53311         * modules/uniwidth/u16-strwidth: New file.
53312
53313         * tests/uniwidth/test-u8-strwidth.c: New file.
53314         * modules/uniwidth/u8-strwidth-tests: New file.
53315
53316         * lib/uniwidth/u8-strwidth.c: New file.
53317         * modules/uniwidth/u8-strwidth: New file.
53318
53319         * tests/uniwidth/test-u32-width.c: New file.
53320         * modules/uniwidth/u32-width-tests: New file.
53321
53322         * lib/uniwidth/u32-width.c: New file.
53323         * modules/uniwidth/u32-width: New file.
53324
53325         * tests/uniwidth/test-u16-width.c: New file.
53326         * modules/uniwidth/u16-width-tests: New file.
53327
53328         * lib/uniwidth/u16-width.c: New file.
53329         * modules/uniwidth/u16-width: New file.
53330
53331         * tests/uniwidth/test-u8-width.c: New file.
53332         * modules/uniwidth/u8-width-tests: New file.
53333
53334         * lib/uniwidth/u8-width.c: New file.
53335         * modules/uniwidth/u8-width: New file.
53336
53337         * tests/uniwidth/test-uc_width.c: New file.
53338         * modules/uniwidth/width-tests: New file.
53339
53340         * lib/uniwidth/width.c: New file, from GNU libiconv.
53341         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
53342         * modules/uniwidth/width: New file.
53343
53344         * lib/uniwidth.h: New file, from GNU libiconv.
53345         * modules/uniwidth/base: New file.
53346
53347 2007-07-07  Bruno Haible  <bruno@clisp.org>
53348
53349         * lib/uniname.h: New file, from GNU gettext.
53350         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
53351         * lib/uniname/uninames.h: New file, from GNU gettext.
53352         * lib/uniname/uniname.c: New file, from GNU gettext.
53353         * tests/uniname/test-uninames.sh: New file.
53354         * tests/uniname/test-uninames.c: New file, from GNU gettext.
53355         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
53356         * modules/uniname/base: New file.
53357         * modules/uniname/uniname: New file.
53358         * modules/uniname/uniname-tests: New file.
53359         * MODULES.html.sh (Unicode string functions): Add the new modules.
53360
53361 2007-07-06  Bruno Haible  <bruno@clisp.org>
53362
53363         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
53364
53365 2007-07-06  Bruno Haible  <bruno@clisp.org>
53366
53367         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
53368         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
53369         includes <cygwin/sys_time.h> which includes <sys/select.h> which
53370         include <sys/time.h>.
53371         Reported by Eric Blake.
53372
53373 2007-07-06  Eric Blake  <ebb9@byu.net>
53374
53375         Fix testing canonicalize on cygwin.
53376         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
53377         Revert patch from 2007-06-19.
53378         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
53379         canonicalize module is also in use.
53380         * tests/test-canonicalize.c: New file.
53381         * tests/test-canonicalize.sh: Likewise.
53382         * modules/canonicalize-tests: Likewise.
53383
53384 2007-07-06  Jim Meyering  <jim@meyering.net>
53385
53386         * lib/getugroups.c (getugroups): Detect getgrent failure.
53387         Adjust comment to reflect reality: this function may return -1.
53388
53389 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
53390
53391         * build-aux/bootstrap (TP_URL,get_translations): Update to use
53392         the new TP address.
53393         (usage): Fix typo
53394         (gnulib_mk): New variable.
53395
53396 2007-07-05  Jim Meyering  <jim@meyering.net>
53397
53398         Don't let endgrent clobber errno, no matter how improbable.
53399         * lib/getugroups.c (getugroups): Save and restore errno around
53400         endgrent call.
53401
53402         Close the group DB even when failing with 2^31 or more members.
53403         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
53404
53405 2007-07-04  Jim Meyering  <jim@meyering.net>
53406
53407         * lib/getugroups.h: New file.
53408         * lib/getugroups.c: Include "getugroups.h".
53409         Remove uses of "register" keyword.
53410         Move local variable, "cp", down into scope where used.
53411         Give "username" parameter the "const" attribute.
53412         * modules/getugroups (Files): Add lib/getugroups.h
53413
53414 2007-07-04  Karl Berry  <karl@gnu.org>
53415
53416         * MODULES.html.sh (func_all_modules): Complete rename of
53417         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
53418
53419 2007-07-02  Bruno Haible  <bruno@clisp.org>
53420
53421         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
53422         mode, when inttypes.h comes from gnulib.
53423         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53424
53425 2007-07-02  Simon Josefsson  <simon@josefsson.org>
53426
53427         * NEWS: Mention lgpl module name change.
53428
53429         * modules/lgpl-2.1: Renamed from lgpl.
53430
53431         * NEWS: Mention gpl module name change.
53432
53433         * modules/gpl-3.0: New file, based on gpl-2.0.
53434
53435         * modules/gpl-2.0: Renamed from gpl.
53436
53437         * modules/gpl: Fix filename, doc/gpl.texi is now found at
53438         doc/gpl-2.0.texi.
53439
53440 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
53441
53442         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
53443         #define __STDC_LIMIT_MACROS temporarily while including
53444         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
53445         Problem reported by Joel E. Denny in
53446         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
53447
53448 2007-07-01  Bruno Haible  <bruno@clisp.org>
53449
53450         * lib/unistdio.h: New file.
53451         * lib/unistdio/u-asnprintf.h: New file.
53452         * lib/unistdio/u-asprintf.h: New file.
53453         * lib/unistdio/u-printf-args.c: New file.
53454         * lib/unistdio/u-printf-args.h: New file.
53455         * lib/unistdio/u-printf-parse.h: New file.
53456         * lib/unistdio/u-snprintf.h: New file.
53457         * lib/unistdio/u-sprintf.h: New file.
53458         * lib/unistdio/u-vasprintf.h: New file.
53459         * lib/unistdio/u-vsnprintf.h: New file.
53460         * lib/unistdio/u-vsprintf.h: New file.
53461         * lib/unistdio/ulc-asnprintf.c: New file.
53462         * lib/unistdio/ulc-asprintf.c: New file.
53463         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
53464         * lib/unistdio/ulc-printf-parse.c: New file.
53465         * lib/unistdio/ulc-snprintf.c: New file.
53466         * lib/unistdio/ulc-sprintf.c: New file.
53467         * lib/unistdio/ulc-vasnprintf.c: New file.
53468         * lib/unistdio/ulc-vasprintf.c: New file.
53469         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
53470         * lib/unistdio/ulc-vsnprintf.c: New file.
53471         * lib/unistdio/ulc-vsprintf.c: New file.
53472         * lib/unistdio/u8-asnprintf.c: New file.
53473         * lib/unistdio/u8-asprintf.c: New file.
53474         * lib/unistdio/u8-printf-parse.c: New file.
53475         * lib/unistdio/u8-snprintf.c: New file.
53476         * lib/unistdio/u8-sprintf.c: New file.
53477         * lib/unistdio/u8-vasnprintf.c: New file.
53478         * lib/unistdio/u8-vasprintf.c: New file.
53479         * lib/unistdio/u8-vsnprintf.c: New file.
53480         * lib/unistdio/u8-vsprintf.c: New file.
53481         * lib/unistdio/u8-u8-asnprintf.c: New file.
53482         * lib/unistdio/u8-u8-asprintf.c: New file.
53483         * lib/unistdio/u8-u8-snprintf.c: New file.
53484         * lib/unistdio/u8-u8-sprintf.c: New file.
53485         * lib/unistdio/u8-u8-vasnprintf.c: New file.
53486         * lib/unistdio/u8-u8-vasprintf.c: New file.
53487         * lib/unistdio/u8-u8-vsnprintf.c: New file.
53488         * lib/unistdio/u8-u8-vsprintf.c: New file.
53489         * lib/unistdio/u16-asnprintf.c: New file.
53490         * lib/unistdio/u16-asprintf.c: New file.
53491         * lib/unistdio/u16-printf-parse.c: New file.
53492         * lib/unistdio/u16-snprintf.c: New file.
53493         * lib/unistdio/u16-sprintf.c: New file.
53494         * lib/unistdio/u16-vasnprintf.c: New file.
53495         * lib/unistdio/u16-vasprintf.c: New file.
53496         * lib/unistdio/u16-vsnprintf.c: New file.
53497         * lib/unistdio/u16-vsprintf.c: New file.
53498         * lib/unistdio/u16-u16-asnprintf.c: New file.
53499         * lib/unistdio/u16-u16-asprintf.c: New file.
53500         * lib/unistdio/u16-u16-snprintf.c: New file.
53501         * lib/unistdio/u16-u16-sprintf.c: New file.
53502         * lib/unistdio/u16-u16-vasnprintf.c: New file.
53503         * lib/unistdio/u16-u16-vasprintf.c: New file.
53504         * lib/unistdio/u16-u16-vsnprintf.c: New file.
53505         * lib/unistdio/u16-u16-vsprintf.c: New file.
53506         * lib/unistdio/u32-asnprintf.c: New file.
53507         * lib/unistdio/u32-asprintf.c: New file.
53508         * lib/unistdio/u32-printf-parse.c: New file.
53509         * lib/unistdio/u32-snprintf.c: New file.
53510         * lib/unistdio/u32-sprintf.c: New file.
53511         * lib/unistdio/u32-vasnprintf.c: New file.
53512         * lib/unistdio/u32-vasprintf.c: New file.
53513         * lib/unistdio/u32-vsnprintf.c: New file.
53514         * lib/unistdio/u32-vsprintf.c: New file.
53515         * lib/unistdio/u32-u32-asnprintf.c: New file.
53516         * lib/unistdio/u32-u32-asprintf.c: New file.
53517         * lib/unistdio/u32-u32-snprintf.c: New file.
53518         * lib/unistdio/u32-u32-sprintf.c: New file.
53519         * lib/unistdio/u32-u32-vasnprintf.c: New file.
53520         * lib/unistdio/u32-u32-vasprintf.c: New file.
53521         * lib/unistdio/u32-u32-vsnprintf.c: New file.
53522         * lib/unistdio/u32-u32-vsprintf.c: New file.
53523         * tests/unistdio/test-ulc-asnprintf1.c: New file.
53524         * tests/unistdio/test-ulc-asnprintf1.h: New file.
53525         * tests/unistdio/test-ulc-printf1.h: New file.
53526         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
53527         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
53528         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
53529         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
53530         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
53531         * tests/unistdio/test-ulc-vasprintf1.c: New file.
53532         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
53533         * tests/unistdio/test-ulc-vsprintf1.c: New file.
53534         * tests/unistdio/test-u8-asnprintf1.c: New file.
53535         * tests/unistdio/test-u8-asnprintf1.h: New file.
53536         * tests/unistdio/test-u8-printf1.h: New file.
53537         * tests/unistdio/test-u8-vasnprintf1.c: New file.
53538         * tests/unistdio/test-u8-vasnprintf2.c: New file.
53539         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
53540         * tests/unistdio/test-u8-vasnprintf3.c: New file.
53541         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
53542         * tests/unistdio/test-u8-vasprintf1.c: New file.
53543         * tests/unistdio/test-u8-vsnprintf1.c: New file.
53544         * tests/unistdio/test-u8-vsprintf1.c: New file.
53545         * tests/unistdio/test-u16-asnprintf1.c: New file.
53546         * tests/unistdio/test-u16-asnprintf1.h: New file.
53547         * tests/unistdio/test-u16-printf1.h: New file.
53548         * tests/unistdio/test-u16-vasnprintf1.c: New file.
53549         * tests/unistdio/test-u16-vasnprintf2.c: New file.
53550         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
53551         * tests/unistdio/test-u16-vasnprintf3.c: New file.
53552         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
53553         * tests/unistdio/test-u16-vasprintf1.c: New file.
53554         * tests/unistdio/test-u16-vsnprintf1.c: New file.
53555         * tests/unistdio/test-u16-vsprintf1.c: New file.
53556         * tests/unistdio/test-u32-asnprintf1.c: New file.
53557         * tests/unistdio/test-u32-asnprintf1.h: New file.
53558         * tests/unistdio/test-u32-printf1.h: New file.
53559         * tests/unistdio/test-u32-vasnprintf1.c: New file.
53560         * tests/unistdio/test-u32-vasnprintf2.c: New file.
53561         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
53562         * tests/unistdio/test-u32-vasnprintf3.c: New file.
53563         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
53564         * tests/unistdio/test-u32-vasprintf1.c: New file.
53565         * tests/unistdio/test-u32-vsnprintf1.c: New file.
53566         * tests/unistdio/test-u32-vsprintf1.c: New file.
53567         * modules/unistdio/base: New file.
53568         * modules/unistdio/u-printf-args: New file.
53569         * modules/unistdio/ulc-asnprintf: New file.
53570         * modules/unistdio/ulc-asprintf: New file.
53571         * modules/unistdio/ulc-fprintf: New file.
53572         * modules/unistdio/ulc-printf-parse: New file.
53573         * modules/unistdio/ulc-snprintf: New file.
53574         * modules/unistdio/ulc-sprintf: New file.
53575         * modules/unistdio/ulc-vasnprintf: New file.
53576         * modules/unistdio/ulc-vasprintf: New file.
53577         * modules/unistdio/ulc-vfprintf: New file.
53578         * modules/unistdio/ulc-vsnprintf: New file.
53579         * modules/unistdio/ulc-vsprintf: New file.
53580         * modules/unistdio/u8-asnprintf: New file.
53581         * modules/unistdio/u8-asprintf: New file.
53582         * modules/unistdio/u8-printf-parse: New file.
53583         * modules/unistdio/u8-snprintf: New file.
53584         * modules/unistdio/u8-sprintf: New file.
53585         * modules/unistdio/u8-vasnprintf: New file.
53586         * modules/unistdio/u8-vasprintf: New file.
53587         * modules/unistdio/u8-vsnprintf: New file.
53588         * modules/unistdio/u8-vsprintf: New file.
53589         * modules/unistdio/u8-u8-asnprintf: New file.
53590         * modules/unistdio/u8-u8-asprintf: New file.
53591         * modules/unistdio/u8-u8-snprintf: New file.
53592         * modules/unistdio/u8-u8-sprintf: New file.
53593         * modules/unistdio/u8-u8-vasnprintf: New file.
53594         * modules/unistdio/u8-u8-vasprintf: New file.
53595         * modules/unistdio/u8-u8-vsnprintf: New file.
53596         * modules/unistdio/u8-u8-vsprintf: New file.
53597         * modules/unistdio/u16-asnprintf: New file.
53598         * modules/unistdio/u16-asprintf: New file.
53599         * modules/unistdio/u16-printf-parse: New file.
53600         * modules/unistdio/u16-snprintf: New file.
53601         * modules/unistdio/u16-sprintf: New file.
53602         * modules/unistdio/u16-vasnprintf: New file.
53603         * modules/unistdio/u16-vasprintf: New file.
53604         * modules/unistdio/u16-vsnprintf: New file.
53605         * modules/unistdio/u16-vsprintf: New file.
53606         * modules/unistdio/u16-u16-asnprintf: New file.
53607         * modules/unistdio/u16-u16-asprintf: New file.
53608         * modules/unistdio/u16-u16-snprintf: New file.
53609         * modules/unistdio/u16-u16-sprintf: New file.
53610         * modules/unistdio/u16-u16-vasnprintf: New file.
53611         * modules/unistdio/u16-u16-vasprintf: New file.
53612         * modules/unistdio/u16-u16-vsnprintf: New file.
53613         * modules/unistdio/u16-u16-vsprintf: New file.
53614         * modules/unistdio/u32-asnprintf: New file.
53615         * modules/unistdio/u32-asprintf: New file.
53616         * modules/unistdio/u32-printf-parse: New file.
53617         * modules/unistdio/u32-snprintf: New file.
53618         * modules/unistdio/u32-sprintf: New file.
53619         * modules/unistdio/u32-vasnprintf: New file.
53620         * modules/unistdio/u32-vasprintf: New file.
53621         * modules/unistdio/u32-vsnprintf: New file.
53622         * modules/unistdio/u32-vsprintf: New file.
53623         * modules/unistdio/u32-u32-asnprintf: New file.
53624         * modules/unistdio/u32-u32-asprintf: New file.
53625         * modules/unistdio/u32-u32-snprintf: New file.
53626         * modules/unistdio/u32-u32-sprintf: New file.
53627         * modules/unistdio/u32-u32-vasnprintf: New file.
53628         * modules/unistdio/u32-u32-vasprintf: New file.
53629         * modules/unistdio/u32-u32-vsnprintf: New file.
53630         * modules/unistdio/u32-u32-vsprintf: New file.
53631         * modules/unistdio/ulc-asnprintf-tests: New file.
53632         * modules/unistdio/ulc-vasnprintf-tests: New file.
53633         * modules/unistdio/ulc-vasprintf-tests: New file.
53634         * modules/unistdio/ulc-vsnprintf-tests: New file.
53635         * modules/unistdio/ulc-vsprintf-tests: New file.
53636         * modules/unistdio/u8-asnprintf-tests: New file.
53637         * modules/unistdio/u8-vasnprintf-tests: New file.
53638         * modules/unistdio/u8-vasprintf-tests: New file.
53639         * modules/unistdio/u8-vsnprintf-tests: New file.
53640         * modules/unistdio/u8-vsprintf-tests: New file.
53641         * modules/unistdio/u16-asnprintf-tests: New file.
53642         * modules/unistdio/u16-vasnprintf-tests: New file.
53643         * modules/unistdio/u16-vasprintf-tests: New file.
53644         * modules/unistdio/u16-vsnprintf-tests: New file.
53645         * modules/unistdio/u16-vsprintf-tests: New file.
53646         * modules/unistdio/u32-asnprintf-tests: New file.
53647         * modules/unistdio/u32-vasnprintf-tests: New file.
53648         * modules/unistdio/u32-vasprintf-tests: New file.
53649         * modules/unistdio/u32-vsnprintf-tests: New file.
53650         * modules/unistdio/u32-vsprintf-tests: New file.
53651         * MODULES.html.sh (Unicode string functions): Add the new modules.
53652
53653 2007-07-01  Bruno Haible  <bruno@clisp.org>
53654
53655         * lib/sprintf.c (sprintf): Limit the available length estimation,
53656         to avoid address wraparound.
53657         * lib/vsprintf.c (vsprintf): Likewise.
53658         * modules/sprintf-posix (Dependencies): Add stdint.
53659         * modules/vsprintf-posix (Dependencies): Likewise.
53660
53661 2007-07-01  Bruno Haible  <bruno@clisp.org>
53662
53663         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
53664         Windows PATH as well. Conservative double-quoting. Comments.
53665
53666 2007-07-01  Bruno Haible  <bruno@clisp.org>
53667             Eric Blake  <ebb9@byu.net>
53668             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53669
53670         * gnulib-tool (self_abspathname): Fix algorithm to cope with
53671         empty components in $PATH, denoting '.'.
53672
53673 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53674
53675         * gnulib-tool: Fix indentation.
53676         (func_create_megatestdir): Likewise.
53677         Report by Bruno Haible.
53678
53679 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53680
53681         Sync from Automake.
53682         * build-aux/gnupload: Fix shell portability issues with for loops.
53683         Report by Karl Berry.
53684
53685 2007-06-29  Simon Josefsson  <simon@josefsson.org>
53686
53687         * build-aux/maint.mk (POURL): Use translationproject.org.
53688
53689 2007-06-27  Simon Josefsson  <simon@josefsson.org>
53690             Bruno Haible  <bruno@clisp.org>
53691
53692         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
53693         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
53694         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
53695         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
53696         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
53697
53698 2007-06-27  Bruno Haible  <bruno@clisp.org>
53699
53700         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
53701         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
53702
53703 2007-06-26  Karl Berry  <karl@gnu.org>
53704
53705         * MODULES.html.sh: remove xreadlink-with-size.
53706
53707 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
53708
53709         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
53710         method that I hope also handles the double-include problem noted
53711         by Bruno Haible in
53712         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
53713
53714 2007-06-23  Bruno Haible  <bruno@clisp.org>
53715
53716         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53717         Don't let the 'mostlyclean' target fail if the last subdirectory could
53718         not be removed.
53719         Reported by Karl Berry.
53720
53721 2007-06-23  Bruno Haible  <bruno@clisp.org>
53722
53723         * gnulib-tool (echo): Add a speedier workaround for ksh.
53724         * tests/test-echo.sh: Likewise.
53725
53726 2007-06-23  Bruno Haible  <bruno@clisp.org>
53727
53728         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
53729         * tests/test-echo.sh: Likewise.
53730
53731 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53732
53733         * gnulib-tool (IFS): Initialize early, so we don't set it to
53734         empty later.
53735         (self_abspathname): Rewrite algorithm to set it, reindent.
53736         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
53737         (func_create_megatestdir): Merge some sed scripts.
53738
53739 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
53740
53741         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
53742         exposed by Sun Studio 11 cc on Solaris 8.
53743
53744 2007-06-22  Bruno Haible  <bruno@clisp.org>
53745
53746         * gnulib-tool (echo): Ensure the echo primitive does not interpret
53747         backslashes.
53748         * tests/test-echo.sh: New file.
53749
53750 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53751
53752         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
53753         simplify `sed_replace_build_aux' scripts, they are portable but
53754         echoing them with `echo' is not.
53755         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
53756
53757 2007-06-21  Karl Berry  <karl@gnu.org>
53758
53759         * config/srclist.txt: guess we can't handle the licenses via
53760         srclist at the moment.
53761
53762 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
53763
53764         * MODULES.html.sh: Add include_next.
53765         * modules/include_next: New file.
53766
53767 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
53768
53769         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
53770         INCLUDE_NEXT.
53771         (gl_CHECK_NEXT_HEADERS): New macro.
53772         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
53773         the obsolescent gl_ABSOLUTE_HEADER.
53774         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
53775         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
53776         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
53777         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
53778         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
53779         * m4/math_h.m4 (gl_MATH_H): Likewise.
53780         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
53781         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
53782         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
53783         * m4/stdint.m4 (gl_STDINT_H): Likewise.
53784         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
53785         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
53786         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
53787         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53788         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
53789         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
53790         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
53791         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
53792         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
53793         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
53794         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
53795         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
53796         * m4/inttypes.m4 (gl_INTTYPES_H): Define
53797         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
53798         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
53799         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
53800         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
53801         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
53802         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
53803         * lib/float_.h: Likewise.
53804         * lib/inttypes_.h: Likewise.
53805         * lib/math_.h: Likewise.
53806         * lib/search_.h: Likewise.
53807         * lib/signal_.h: Likewise.
53808         * lib/stdint_.h: Likewise.
53809         * lib/stdio_.h: Likewise.
53810         * lib/stdlib_.h: Likewise.
53811         * lib/string_.h: Likewise.
53812         * lib/sys_stat_.h: Likewise.
53813         * lib/sys_time_.h: Likewise.
53814         * lib/time_.h: Likewise.
53815         * lib/unistd_.h: Likewise.
53816         * lib/wchar_.h: Likewise.
53817         * lib/wctype_.h: Likewise.
53818         * lib/dirent_.h: Likewise.
53819         * lib/iconv_.h: Likewise.
53820         * lib/locale_.h: Likewise.
53821         * lib/netinet_in_.h: Likewise.
53822         * lib/sys_select_.h: Likewise.
53823         * lib/sys_socket_.h: Likewise.
53824         * lib/sysexits_.h: Likewise.
53825         * modules/fcntl (Depends-on): Depend on include_next, not
53826         absolute_header.
53827         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
53828         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
53829         * modules/fchdir: Likewise.
53830         * modules/float: Likewise.
53831         * modules/iconv_open: Likewise.
53832         * modules/inttypes: Likewise.
53833         * modules/locale: Likewise.
53834         * modules/math: Likewise.
53835         * modules/netinet_in: Likewise.
53836         * modules/search: Likewise.
53837         * modules/signal: Likewise.
53838         * modules/stdint: Likewise.
53839         * modules/stdio: Likewise.
53840         * modules/stdlib: Likewise.
53841         * modules/string: Likewise.
53842         * modules/sys_select: Likewise.
53843         * modules/sys_socket: Likewise.
53844         * modules/sys_stat: Likewise.
53845         * modules/sys_time: Likewise.
53846         * modules/sysexits: Likewise.
53847         * modules/time: Likewise.
53848         * modules/unistd: Likewise.
53849         * modules/wchar: Likewise.
53850         * modules/wctype: Likewise.
53851         * modules/sys_stat: Change maintainer to "all".
53852         * modules/unistd: Likewise.
53853
53854 2007-06-20  Karl Berry  <karl@gnu.org>
53855
53856         * config/srclist.txt: track www changes in license files.
53857
53858 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
53859
53860         * build-aux/bootstrap: Remove stray dot.
53861         Make sure build_aux settings are honored when linking
53862         gnulib_extra_files.
53863
53864 2007-06-19  Eric Blake  <ebb9@byu.net>
53865
53866         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
53867         Allow compilation on cygwin.
53868
53869 2007-06-19  Jim Meyering  <jim@meyering.net>
53870
53871         xreadlink-with-size: Remove module.  No longer used.
53872         Ex-callers now use xreadlink or mreadlink-with-size.
53873         * modules/xreadlink-with-size: Remove module.
53874         * lib/xreadlink-with-size.c: Remove file.
53875         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
53876         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
53877         just before the function definition *is* accurate.
53878
53879         Eliminate one way canonicalize_filename_mode could exit.
53880         * lib/canonicalize.c (canonicalize_filename_mode):
53881         Use mreadlink_with_size, not xreadlink_with_size.
53882
53883 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
53884
53885         Detect porting problems to FreeBSD/arm, which has time_t wider than
53886         long int.  Original problem reported for GNU diff by Xin Li in
53887         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
53888         * modules/getdate (Depends-on): Add intprops, verify.
53889         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
53890         is an integer type no wider than long int.
53891
53892 2007-06-18  Jim Meyering  <jim@meyering.net>
53893
53894         New module: mreadlink-with-size.
53895         * MODULES.html.sh: Add mreadlink-with-size.
53896         * modules/mreadlink-with-size: New module
53897         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
53898         not xreadlink-with-size.
53899         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
53900
53901 2007-06-16  Bruno Haible  <bruno@clisp.org>
53902
53903         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
53904         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
53905         Reported by Gary V. Vaughan <gary@gnu.org>.
53906
53907 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
53908
53909         Revamp lchown so that it lives in unistd.h where it belongs.
53910         * lib/lchown.h: Remove.
53911         * lib/dirchownmod.c: Don't include lib/lchown.h.
53912         * lib/fchownat.c: Likewise.
53913         * lib/openat.c: Likewise.
53914         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
53915         does not follow symlinks.
53916         (EOPNOTSUPP): Define if not defined.
53917         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
53918         is defined to 0.
53919         (lchown): New decl.
53920         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
53921         Do not check for lchown decl.
53922         Set REPLACE_LCHOWN.
53923         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
53924         REPLACE_LCHOWN.
53925         * modules/chown: Make it clear it follows symlinks.
53926         * modules/lchown: Make it clear it doesn't follow symlinks.
53927         (Files): Remove lib/lchown.h
53928         (Depends-on): Add unistd.
53929         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
53930         (Include): Include <unistd.h>, not "lchown.h".
53931         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
53932         REPLACE_LCHOWN.
53933
53934 2007-06-15  Jim Meyering  <jim@meyering.net>
53935
53936         Change license (GPL to LGPL) of fsusage and dependents.
53937         * modules/fsusage (License): Change to LGPL.
53938         * modules/full-read (License): Likewise.
53939         * modules/full-write (License): Likewise.
53940         * modules/safe-read (License): Likewise.
53941         * modules/safe-write (License): Likewise.
53942
53943 2007-06-14  Ben Pfaff  <blp@gnu.org>
53944
53945         Missing part of allocsa -> malloca transition.
53946         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
53947         gl_MALLOCA.
53948
53949 2007-06-12  Bruno Haible  <bruno@clisp.org>
53950
53951         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
53952         to ia64, x86_64, i386.
53953         Reported by Eric Blake.
53954
53955 2007-06-12  Bruno Haible  <bruno@clisp.org>
53956
53957         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
53958         cross-compiling to x86_64.
53959
53960 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
53961
53962         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
53963         glitch reported by Ralf Wildenhues in
53964         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
53965
53966         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
53967         Vin Shelton.
53968
53969 2007-06-11  Bruno Haible  <bruno@clisp.org>
53970
53971         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
53972         replacement string.
53973         Reported by Eric Blake.
53974
53975 2007-06-10  Bruno Haible  <bruno@clisp.org>
53976
53977         Prepare vasnprintf code for use with Unicode strings.
53978         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
53979         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
53980         TYPE_U32_STRING.
53981         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
53982         a_u32_string variants.
53983         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
53984         * lib/printf-args.c: Don't include config.h and the specification
53985         header if PRINTF_FETCHARGS is already defined.
53986         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
53987         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
53988         TYPE_U16_STRING, TYPE_U32_STRING.
53989         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
53990         u16_directive, u16_directives, u32_directive, u32_directives): New
53991         types.
53992         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
53993         New declarations.
53994         * lib/printf-parse.c: Don't include config.h and the specification
53995         header if PRINTF_PARSE is already defined. Eliminate the set of
53996         parameters for WIDE_CHAR_VERSION; the user of this file must provide
53997         them now. Include c-ctype.h.
53998         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
53999         directive and CHAR_T_ONLY_ASCII.
54000         * lib/vasnprintf.c: Don't include config.h and the specification header
54001         if VASNPRINTF is already defined.
54002         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
54003         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
54004         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
54005         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
54006         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
54007         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
54008         code accordingly.
54009         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
54010         pad_ourselves also in this case, with the 'c' and 's' directives, and
54011         with a different notion of "width".
54012         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
54013
54014 2007-06-10  Bruno Haible  <bruno@clisp.org>
54015
54016         * modules/unistr/u32-mbsnlen: New file.
54017         * lib/unistr/u32-mbsnlen.c: New file.
54018
54019         * modules/unistr/u16-mbsnlen: New file.
54020         * lib/unistr/u16-mbsnlen.c: New file.
54021
54022         * modules/unistr/u8-mbsnlen: New file.
54023         * lib/unistr/u8-mbsnlen.c: New file.
54024
54025         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
54026         declarations.
54027
54028 2007-06-10  Bruno Haible  <bruno@clisp.org>
54029
54030         * lib/string_.h (mbsnlen): New declaration.
54031         * lib/mbsnlen.c: New file.
54032         * m4/mbsnlen.m4: New file.
54033         * modules/mbsnlen: New file.
54034         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
54035         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
54036         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
54037
54038 2007-06-10  Bruno Haible  <bruno@clisp.org>
54039
54040         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
54041
54042 2007-06-10  Bruno Haible  <bruno@clisp.org>
54043
54044         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
54045         * lib/mbuiter.h: Likewise.
54046
54047 2007-06-10  Bruno Haible  <bruno@clisp.org>
54048
54049         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
54050         declaration.
54051
54052 2007-06-10  Karl Berry  <karl@gnu.org>
54053
54054         * config/srclist.txt: remove gettext entries, Bruno prefers
54055         to update individually.
54056
54057 2007-06-10  Bruno Haible  <bruno@clisp.org>
54058
54059         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
54060         'maxlen'. Ensure only length + width bytes are allocated, not
54061         length + 1 + width.
54062
54063 2007-06-09  Bruno Haible  <bruno@clisp.org>
54064
54065         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
54066         (CHAR_T): Remove macro.
54067         (VASNPRINTF): Update.
54068
54069 2007-06-09  Bruno Haible  <bruno@clisp.org>
54070
54071         * MODULES.html.sh (Unicode string functions): Add the new modules.
54072
54073         * modules/uniconv/u32-conv-to-enc: New file.
54074         * lib/uniconv/u32-conv-to-enc.c: New file.
54075         * modules/uniconv/u32-conv-to-enc-tests: New file.
54076         * tests/uniconv/test-u32-conv-to-enc.c: New file.
54077
54078         * modules/uniconv/u16-conv-to-enc: New file.
54079         * lib/uniconv/u16-conv-to-enc.c: New file.
54080         * lib/uniconv/u-conv-to-enc.h: New file.
54081         * modules/uniconv/u16-conv-to-enc-tests: New file.
54082         * tests/uniconv/test-u16-conv-to-enc.c: New file.
54083
54084         * modules/uniconv/u8-conv-to-enc: New file.
54085         * lib/uniconv/u8-conv-to-enc.c: New file.
54086         * modules/uniconv/u8-conv-to-enc-tests: New file.
54087         * tests/uniconv/test-u8-conv-to-enc.c: New file.
54088
54089         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
54090         u32_conv_to_encoding): New declarations.
54091
54092 2007-06-09  Bruno Haible  <bruno@clisp.org>
54093
54094         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
54095
54096 2007-06-09  Bruno Haible  <bruno@clisp.org>
54097
54098         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
54099         * modules/malloca: Renamed from modules/allocsa, updated.
54100         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
54101         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
54102         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
54103         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
54104         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
54105         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
54106         * modules/xmalloca: Renamed from modules/xallocsa, updated.
54107         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
54108         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
54109         * modules/c-strcasestr (Depends-on): Update.
54110         * lib/c-strcasestr.c: Update.
54111         * modules/c-strstr (Depends-on): Update.
54112         * lib/c-strstr.c: Update.
54113         * modules/canonicalize-lgpl (Depends-on): Update.
54114         * lib/canonicalize-lgpl.c: Update.
54115         * modules/clean-temp (Depends-on): Update.
54116         * lib/clean-temp.c: Update.
54117         * modules/csharpcomp (Depends-on): Update.
54118         * lib/csharpcomp.c: Update.
54119         * modules/csharpexec (Depends-on): Update.
54120         * lib/csharpexec.c: Update.
54121         * modules/javacomp (Depends-on): Update.
54122         * lib/javacomp.c: Update.
54123         * modules/javaexec (Depends-on): Update.
54124         * lib/javaexec.c: Update.
54125         * modules/mbscasestr (Depends-on): Update.
54126         * lib/mbscasestr.c: Update.
54127         * modules/mbsstr (Depends-on): Update.
54128         * lib/mbsstr.c: Update.
54129         * modules/setenv (Depends-on): Update.
54130         * lib/setenv.c: Update.
54131         * modules/strcasestr (Depends-on): Update.
54132         * lib/strcasestr.c: Update.
54133         * modules/striconveha (Depends-on): Update.
54134         * lib/striconveha.c: Update.
54135         * modules/relocatable-prog-wrapper (Files): Update.
54136         * lib/relocwrapper.c: Update.
54137         * build-aux/install-reloc: Update.
54138         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
54139
54140 2007-06-08  Bruno Haible  <bruno@clisp.org>
54141
54142         Port to uClibc.
54143         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
54144         * lib/fpurge.c (fpurge): Likewise.
54145         * lib/freading.c (freading): Likewise.
54146         * lib/fseeko.c (rpl_fseeko): Likewise.
54147         * lib/fseterr.c (fseterr): Likewise.
54148         * lib/fwriting.c (fwriting): Likewise.
54149         * tests/test-fflush.c (main): Avoid a failure on uClibc.
54150
54151 2007-06-08  Bruno Haible  <bruno@clisp.org>
54152
54153         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
54154         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
54155         * modules/gettext (Files): Add m4/intlmacosx.m4.
54156
54157 2007-06-07  Bruno Haible  <bruno@clisp.org>
54158
54159         * modules/localename-tests: New file.
54160         * tests/test-localename.c: New file.
54161
54162         New module 'localename'.
54163         * lib/localename.h: New file.
54164         * lib/localename.c: New file, from GNU gettext.
54165         * m4/localename.m4: New file.
54166         * modules/localename: New file.
54167
54168 2007-06-07  Bruno Haible  <bruno@clisp.org>
54169
54170         Work around the lack of <wchar.h> on some builds of uClibc.
54171         * doc/headers/wchar.texi: Update.
54172         * lib/wchar_.h: Include <wchar.h> only if it exists.
54173         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
54174         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
54175         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
54176         doesn't exist.
54177         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
54178         * modules/mbfile (Depends-on): Add wchar.
54179         * modules/mbiter (Depends-on): Likewise.
54180         * modules/mbuiter (Depends-on): Likewise.
54181         Reported by Simon Josefsson.
54182
54183 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
54184
54185         Work around problem reported by Steven M. Schweda in
54186         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
54187         Tru64 5.1B with the Compaq compiler environment installed declares
54188         an 'isblank' function but does not define it in the C library.
54189         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
54190         * lib/regex_internal.h (isblank): Likewise.
54191         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
54192         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
54193
54194 2007-06-05  Bruno Haible  <bruno@clisp.org>
54195
54196         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
54197         ia64.
54198         * modules/printf-safe: New file.
54199         * modules/fprintf-posix (Depends-on): Add printf-safe.
54200         * modules/printf-posix (Depends-on): Likewise.
54201         * modules/snprintf-posix (Depends-on): Likewise.
54202         * modules/sprintf-posix (Depends-on): Likewise.
54203         * modules/vasnprintf-posix (Depends-on): Likewise.
54204         * modules/vasprintf-posix (Depends-on): Likewise.
54205         * modules/vfprintf-posix (Depends-on): Likewise.
54206         * modules/vprintf-posix (Depends-on): Likewise.
54207         * modules/vsnprintf-posix (Depends-on): Likewise.
54208         * modules/vsprintf-posix (Depends-on): Likewise.
54209         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
54210         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
54211         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
54212         "no" on i386, x86_64, ia64.
54213         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
54214         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
54215         on i386, x86_64, ia64.
54216         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
54217         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
54218         on i386, x86_64, ia64.
54219         * tests/test-vasnprintf-posix.c: Include float.h.
54220         (LDBL80_WORDS): New macro.
54221         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
54222         on i386, x86_64, ia64.
54223         * tests/test-vasprintf-posix.c: Include float.h.
54224         (LDBL80_WORDS): New macro.
54225         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
54226         on i386, x86_64, ia64.
54227         * tests/test-snprintf-posix.c: Include float.h.
54228         * tests/test-sprintf-posix.c: Likewise.
54229         * tests/test-vsnprintf-posix.c: Likewise.
54230         * tests/test-vsprintf-posix.c: Likewise.
54231
54232 2007-06-05  Bruno Haible  <bruno@clisp.org>
54233
54234         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
54235         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
54236         non-IEEE numbers on i386, x86_64, ia64.
54237         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
54238         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
54239         * tests/test-isnanl.h: Include float.h.
54240         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
54241
54242 2007-06-05  Bruno Haible  <bruno@clisp.org>
54243
54244         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
54245         also the %a / %A. Handle the %a / %A code before this extra handling.
54246
54247 2007-06-05  Bruno Haible  <bruno@clisp.org>
54248
54249         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
54250         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
54251
54252 2007-06-05  Bruno Haible  <bruno@clisp.org>
54253
54254         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
54255         typo in variable name.
54256
54257 2007-06-05  Eric Blake  <ebb9@byu.net>
54258
54259         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
54260         Reported by Simon Josefsson.
54261
54262 2007-06-04  Bruno Haible  <bruno@clisp.org>
54263
54264         Avoid test failures on some PowerPC platforms.
54265         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
54266         Define differently for PowerPC.
54267         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
54268         Reported by Gary V. Vaughan <gary@gnu.org>.
54269
54270 2007-06-02  Bruno Haible  <bruno@clisp.org>
54271
54272         Fix test-stdint failure on FreeBSD/ia64.
54273         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
54274         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
54275         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
54276         * doc/headers/stdint.texi: Update.
54277
54278 2007-06-01  Bruno Haible  <bruno@clisp.org>
54279
54280         * tests/test-binary-io.c (main): Pass a third argument to open().
54281         Reported by Gary V. Vaughan <gary@gnu.org>.
54282
54283 2007-06-01  Bruno Haible  <bruno@clisp.org>
54284
54285         * doc/functions/frexpl.texi: Update for mingw.
54286
54287 2007-06-01  Bruno Haible  <bruno@clisp.org>
54288
54289         * tests/test-lseek.c (main): Disable test of errno for invalid third
54290         argument.
54291         * doc/functions/lseek.texi: Update.
54292         Reported by Gary V. Vaughan <gary@gnu.org>.
54293
54294 2007-05-28  Bruno Haible  <bruno@clisp.org>
54295
54296         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
54297
54298 2007-05-31  Eric Blake  <ebb9@byu.net>
54299
54300         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
54301         cross compiling.
54302
54303 2007-05-30  Eric Blake  <ebb9@byu.net>
54304         and Bruno Haible  <bruno@clisp.org>
54305
54306         Work around mingw test failures exposed by m4-1.4.9b.
54307         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
54308         * tests/test-unistd.c: Disable uid_t and git_t tests for the
54309         moment.
54310
54311 2007-05-30  Bruno Haible  <bruno@clisp.org>
54312
54313         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
54314         assuming that they are closed. Needed on HP-UX 11.
54315
54316 2007-05-29  Bruno Haible  <bruno@clisp.org>
54317
54318         Fix a problem with #include_next.
54319         * lib/dirent_.h: Split the double-inclusion guard.
54320         * lib/fcntl_.h: Likewise.
54321         * lib/float_.h: Likewise.
54322         * lib/iconv_.h: Likewise.
54323         * lib/inttypes_.h: Likewise.
54324         * lib/locale_.h: Likewise.
54325         * lib/math_.h: Likewise.
54326         * lib/netinet_in_.h: Likewise.
54327         * lib/search_.h: Likewise.
54328         * lib/signal_.h: Likewise.
54329         * lib/stdint_.h: Likewise.
54330         * lib/stdio_.h: Likewise.
54331         * lib/stdlib_.h: Likewise.
54332         * lib/string_.h: Likewise.
54333         * lib/sys_select_.h: Likewise.
54334         * lib/sys_socket_.h: Likewise.
54335         * lib/sys_stat_.h: Likewise.
54336         * lib/sys_time_.h: Likewise.
54337         * lib/sysexits_.h: Likewise.
54338         * lib/time_.h: Likewise.
54339         * lib/unistd_.h: Likewise.
54340         * lib/wchar_.h: Likewise.
54341         * lib/wctype_.h: Likewise.
54342
54343 2007-05-29  Bruno Haible  <bruno@clisp.org>
54344
54345         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
54346         for the moment.
54347
54348 2007-05-29  Bruno Haible  <bruno@clisp.org>
54349
54350         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
54351         invocation.
54352         Reported by Eric Blake.
54353
54354 2007-05-29  Bruno Haible  <bruno@clisp.org>
54355
54356         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
54357         compiling case.
54358
54359 2007-05-29  Eric Blake  <ebb9@byu.net>
54360             Bruno Haible  <bruno@clisp.org>
54361
54362         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
54363         cross compiles.
54364
54365 2007-05-28  Eric Blake  <ebb9@byu.net>
54366
54367         * modules/closein-tests (test_closein_LDADD): Support test on
54368         cygwin with libtool.
54369
54370 2007-05-28  Bruno Haible  <bruno@clisp.org>
54371
54372         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
54373         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
54374         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
54375         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
54376         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
54377         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
54378         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
54379         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
54380         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
54381
54382 2007-05-28  Eric Blake  <ebb9@byu.net>
54383
54384         Unconditionally include <config.h> in unit tests.
54385         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
54386         * tests/test-allocsa.c, tests/test-arcfour.c,
54387         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
54388         tests/test-array_list.c, tests/test-array_oset.c,
54389         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
54390         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
54391         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
54392         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
54393         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
54394         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
54395         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
54396         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
54397         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
54398         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
54399         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
54400         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
54401         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
54402         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
54403         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
54404         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
54405         test-md5.c, test-memmem.c, test-printf-posix.c,
54406         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
54407         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
54408         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
54409         test-strcasestr.c, test-striconv.c, test-striconveh.c,
54410         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
54411         test-vasnprintf-posix2.c, test-vasnprintf.c,
54412         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
54413         test-vfprintf-posix.c, test-vprintf-posix.c,
54414         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
54415         test-xvasprintf.c: Likewise.
54416
54417 2007-05-28  Bruno Haible  <bruno@clisp.org>
54418
54419         * gnulib-tool (func_import): Remember the --with-tests command-line
54420         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
54421         Reported by Eric Blake.
54422
54423 2007-05-28  Bruno Haible  <bruno@clisp.org>
54424
54425         * modules/ftell-tests: New file.
54426         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
54427         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
54428
54429         * lib/ftell.c: New file.
54430         * modules/ftell: New file.
54431         * m4/ftell.m4: New file.
54432         * doc/functions/ftell.texi: Update.
54433         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
54434         REPLACE_FTELL.
54435         * lib/stdio_.h (rpl_ftell): New declaration.
54436         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
54437         REPLACE_FTELL.
54438
54439 2007-05-28  Eric Blake  <ebb9@byu.net>
54440
54441         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
54442
54443 2007-05-28  Bruno Haible  <bruno@clisp.org>
54444
54445         * modules/fseek-tests: New file.
54446         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
54447         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
54448
54449         * lib/fseek.c: New file.
54450         * modules/fseek: New file.
54451         * m4/fseek.m4: New file.
54452         * doc/functions/fseek.texi: Update.
54453         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
54454         REPLACE_FSEEK.
54455         * lib/stdio_.h (rpl_fseek): New declaration.
54456         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
54457         REPLACE_FSEEK.
54458
54459 2007-05-28  Bruno Haible  <bruno@clisp.org>
54460
54461         * lib/stdio_.h (fflush): More comments.
54462
54463 2007-05-28  Bruno Haible  <bruno@clisp.org>
54464
54465         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
54466         runtime test.
54467
54468 2007-05-28  Eric Blake  <ebb9@byu.net>
54469
54470         Improve lseek module.
54471         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
54472         * lib/unistd_.h (lseek): Scale back link warning message.
54473         * tests/test-lseek.c: Beef up test.
54474         * tests/test-lseek.sh: Exercise more facets of lseek.
54475         Reported by Bruno Haible.
54476
54477 2007-05-28  Bruno Haible  <bruno@clisp.org>
54478
54479         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
54480         to define.
54481
54482 2007-05-27  Bruno Haible  <bruno@clisp.org>
54483
54484         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
54485
54486 2007-05-27  Bruno Haible  <bruno@clisp.org>
54487
54488         * modules/openmp: New file.
54489         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
54490         Noah Misch.
54491
54492 2007-05-26  Bruno Haible  <bruno@clisp.org>
54493
54494         * modules/chdir-long (Depends-on): Add fchdir.
54495         * modules/chdir-safer (Depends-on): Likewise.
54496         * modules/fts (Depends-on): Likewise.
54497         * modules/fts-lgpl (Depends-on): Likewise.
54498         * modules/openat (Depends-on): Likewise.
54499         * modules/savewd (Depends-on): Likewise.
54500
54501 2007-05-24  Eric Blake  <ebb9@byu.net>
54502
54503         Fix lseek on mingw.
54504         * modules/lseek: New module.
54505         * m4/lseek.m4: New file.
54506         * lib/lseek.c: New file.
54507         * modules/lseek-tests: New file.
54508         * tests/test-lseek.c: New file.
54509         * tests/test-lseek.sh: New file.
54510         * MODULES.html.sh: Document lseek module.
54511         * modules/fflush (Depends-on): Add lseek, fseeko.
54512         * modules/fseeko (Depends-on): Likewise.
54513         * modules/ftello (Depends-on): Likewise.
54514         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
54515         broken.
54516         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
54517         broken.
54518         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
54519         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
54520         * lib/ftello.c (rpl_ftello): Likewise.
54521         * tests/test-fseeko.c (main): Test this.
54522         * tests/test-fseeko.sh: Likewise.
54523         * tests/test-ftello.c (main): Likewise.
54524         * tests/test-ftello.sh: Likewise.
54525         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
54526         implies replacing fseek.
54527         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
54528         HAVE_FTELLO.
54529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
54530         * modules/unistd (Makefile.am): Likewise.
54531         * lib/unistd_.h (lseek): Declare a replacement.
54532         * doc/functions/lseek.texi (lseek): Document this fix.
54533         * doc/functions/fseek.texi (fseek): Likewise.
54534         * doc/functions/ftell.texi (ftell): Likewise.
54535
54536 2007-05-24  Bruno Haible  <bruno@clisp.org>
54537
54538         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
54539         in the printed representation of a NaN.
54540         * tests/test-vasprintf-posix.c (test_function): Likewise.
54541         * tests/test-snprintf-posix.h (test_function): Likewise.
54542         * tests/test-sprintf-posix.h (test_function): Likewise.
54543         Reported by Eric Blake.
54544
54545 2007-05-23  Eric Blake  <ebb9@byu.net>
54546
54547         Fix fseeko/ftello on cygwin 1.5.24.
54548         * doc/functions/fseeko.texi (fseeko): Document the fix.
54549         * doc/functions/ftello.texi (ftello): Document the fix.
54550         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
54551         * doc/functions/stdout.text (stdout): New file.
54552         * doc/functions/stderr.text (stderr): New file.
54553         * doc/gnulib.texi (Function Substitutes): Use new files.
54554         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
54555         prior to 1.7.0.
54556         * tests/test-ftello.c (main): Likewise for ftello.
54557         * tests/test-fseeko.sh: New file.
54558         * tests/test-ftello.sh: New file.
54559         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
54560         with seekable stdin.
54561         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
54562         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
54563         (gl_REPLACE_FSEEKO): New macro.
54564         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
54565         * modules/fseeko (Files): Distribute fseeko.c.
54566         * modules/ftello (Files): Distribute ftello.c.
54567         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
54568         mode.
54569         * lib/ftello.c (rpl_ftello): New file.
54570         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
54571         fseeko, ftello.
54572         (gl_STDIN_LARGE_OFFSET): New macro.
54573         * modules/stdio (Makefile.am): Perform the replacement.
54574         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
54575
54576 2007-05-23  Bruno Haible  <bruno@clisp.org>
54577
54578         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
54579         GNULIB_POSIXCHECK is defined.
54580
54581 2007-05-21  Bruno Haible  <bruno@clisp.org>
54582
54583         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
54584         Check also the output for NaN arguments. When cross-compiling, guess
54585         no on IRIX.
54586         * lib/vasnprintf.c: Update comments.
54587         * tests/test-vasnprintf-posix.c (strisnan): New function.
54588         (test_function): Use it.
54589         * tests/test-vasprintf-posix.c (strisnan): New function.
54590         (test_function): Use it.
54591         * tests/test-snprintf-posix.h (strisnan): New function.
54592         (test_function): Use it.
54593         * tests/test-sprintf-posix.h (strisnan): New function.
54594         (test_function): Use it.
54595         Reported by Eric Blake.
54596
54597 2007-05-20  Bruno Haible  <bruno@clisp.org>
54598
54599         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
54600         numbers that fails on BeOS.
54601         * doc/functions/frexpl.texi: Update.
54602
54603 2007-05-20  Jim Meyering  <jim@meyering.net>
54604
54605         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
54606         forced upon us by glibc-2.6.
54607
54608 2007-05-20  Bruno Haible  <bruno@clisp.org>
54609
54610         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
54611         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
54612         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
54613         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
54614         NEED_PRINTF_INFINITE.
54615         (is_infinitel): New function.
54616         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
54617         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
54618         gl_PREREQ_VASNPRINTF_INFINITE.
54619         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
54620         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54621         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
54622         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
54623         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
54624         gl_PREREQ_VASNPRINTF_INFINITE.
54625         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54626         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54627         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54628         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54629         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54630         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54631         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54632         * doc/functions/fprintf.texi: Update.
54633         * doc/functions/printf.texi: Update.
54634         * doc/functions/snprintf.texi: Update.
54635         * doc/functions/sprintf.texi: Update.
54636         * doc/functions/vfprintf.texi: Update.
54637         * doc/functions/vprintf.texi: Update.
54638         * doc/functions/vsnprintf.texi: Update.
54639         * doc/functions/vsprintf.texi: Update.
54640
54641 2007-05-20  Bruno Haible  <bruno@clisp.org>
54642
54643         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
54644         was not found in libc.
54645         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
54646
54647 2007-05-20  Bruno Haible  <bruno@clisp.org>
54648
54649         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
54650         printed as "-nan" instead of "nan".
54651         * tests/test-vasprintf-posix.c (test_function): Likewise.
54652         * tests/test-snprintf-posix.h (test_function): Likewise.
54653         * tests/test-sprintf-posix.h (test_function): Likewise.
54654         Needed for HP-UX 11.
54655
54656 2007-05-20  Jim Meyering  <jim@meyering.net>
54657
54658         Fix buggy test for the fchownat-deref bug.
54659         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
54660         symlink required for the run-test.  Without it, this test would
54661         always declare that fchownat doesn't work, and client code would
54662         unnecessarily use the replacement function with fixed libc.
54663         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
54664         Reported by Greg Schafer.
54665
54666 2007-05-19  Bruno Haible  <bruno@clisp.org>
54667
54668         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
54669         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
54670         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
54671         Needed for IRIX 6.5 and Solaris 2.5.1.
54672
54673 2007-05-19  Bruno Haible  <bruno@clisp.org>
54674
54675         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
54676         (test_function): Skip tests involving -0.0 on platforms where
54677         -0.0 = 0.0.
54678         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
54679         (test_function): Skip tests involving -0.0 on platforms where
54680         -0.0 = 0.0.
54681         * tests/test-snprintf-posix.h (have_minus_zero): New function.
54682         (test_function): Skip tests involving -0.0 on platforms where
54683         -0.0 = 0.0.
54684         * tests/test-sprintf-posix.h (have_minus_zero): New function.
54685         (test_function): Skip tests involving -0.0 on platforms where
54686         -0.0 = 0.0.
54687         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
54688         tests.
54689         * tests/test-printf-posix.h (test_function): Likewise.
54690         * tests/test-printf-posix.output: Remove all -0.0 related results.
54691         Needed for IRIX 6.5.
54692
54693 2007-05-19  Bruno Haible  <bruno@clisp.org>
54694
54695         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
54696         printed as "nan0x7fffffff" instead of "nan".
54697         * tests/test-vasprintf-posix.c (test_function): Likewise.
54698         * tests/test-snprintf-posix.h (test_function): Likewise.
54699         * tests/test-sprintf-posix.h (test_function): Likewise.
54700         * tests/test-fprintf-posix.h (NaN): Remove macro.
54701         (test_function): Remove all NaN related tests.
54702         * tests/test-printf-posix.h (NaN): Remove macro.
54703         (test_function): Remove all NaN related tests.
54704         * tests/test-printf-posix.output: Remove all NaN related results.
54705         Needed for IRIX 6.5.
54706
54707 2007-05-19  Bruno Haible  <bruno@clisp.org>
54708
54709         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
54710         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
54711
54712 2007-05-19  Bruno Haible  <bruno@clisp.org>
54713
54714         * lib/float_.h: New file.
54715         * m4/float_h.m4: New file.
54716         * modules/float: New file.
54717         * modules/isnanl (Dependencies): Add float.
54718         * modules/isnanl-nolibm (Dependencies): Likewise.
54719         * modules/mathl (Dependencies): Likewise.
54720         * modules/printf-frexpl (Dependencies): Likewise.
54721         * modules/signbit (Dependencies): Likewise.
54722         * modules/vasnprintf (Dependencies): Likewise.
54723         * doc/headers/float.texi: Update.
54724
54725 2007-05-19  Jim Meyering  <jim@meyering.net>
54726
54727         * lib/utimens.c (gl_futimens): Rename from futimens,
54728         now that glibc-2.6 declares futimens.
54729         * lib/utimens.h: Likewise.
54730
54731 2007-05-19  Bruno Haible  <bruno@clisp.org>
54732
54733         Avoid test failures on mingw.
54734         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
54735         * tests/test-printf-posix.sh: Likewise.
54736         * tests/test-vfprintf-posix.sh: Likewise.
54737         * tests/test-vprintf-posix.sh: Likewise.
54738
54739 2007-05-19  Bruno Haible  <bruno@clisp.org>
54740
54741         Fix *printf result for NaN, Inf, -0.0 on mingw.
54742         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
54743         * lib/vasnprintf.c: Include math.h and isnan.h.
54744         (is_infinite_or_zero): New function.
54745         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
54746         values in the %f, %F, %e, %E, %g, %G directives.
54747         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
54748         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54749         gl_PRINTF_INFINITE and test its result. Invoke
54750         gl_PREREQ_VASNPRINTF_INFINITE.
54751         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54752         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54753         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54754         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54755         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54756         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54757         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54758         * doc/functions/fprintf.texi: Update.
54759         * doc/functions/printf.texi: Update.
54760         * doc/functions/snprintf.texi: Update.
54761         * doc/functions/sprintf.texi: Update.
54762         * doc/functions/vfprintf.texi: Update.
54763         * doc/functions/vprintf.texi: Update.
54764         * doc/functions/vsnprintf.texi: Update.
54765         * doc/functions/vsprintf.texi: Update.
54766
54767 2007-05-19  Bruno Haible  <bruno@clisp.org>
54768
54769         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
54770         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
54771         Instead of multiplying with 10^k, set extra_zeroes to k.
54772         (scale10_round_long_double): Remove function.
54773
54774 2007-05-18  Bruno Haible  <bruno@clisp.org>
54775
54776         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
54777         introduced on 2007-05-06.
54778
54779 2007-05-18  Bruno Haible  <bruno@clisp.org>
54780
54781         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
54782         %g directives.
54783         * tests/test-vasprintf-posix.c (test_function): Likewise.
54784         * tests/test-snprintf-posix.h (test_function): Likewise.
54785         * tests/test-sprintf-posix.h (test_function): Likewise.
54786
54787 2007-05-18  Bruno Haible  <bruno@clisp.org>
54788
54789         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
54790         (strmatch): New function.
54791         (test_function): Test the %f directive on numbers of various exponents.
54792         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
54793         (strmatch): New function.
54794         (test_function): Test the %f directive on numbers of various exponents.
54795         * tests/test-snprintf-posix.h (strmatch): New function.
54796         (test_function): Test the %f directive on numbers of various exponents.
54797         * tests/test-sprintf-posix.h (strmatch): New function.
54798         (test_function): Test the %f directive on numbers of various exponents.
54799         * tests/test-snprintf-posix.c (SIZEOF): New macro.
54800         * tests/test-sprintf-posix.c (SIZEOF): New macro.
54801         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
54802         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
54803
54804 2007-05-18  Bruno Haible  <bruno@clisp.org>
54805
54806         Add support for 'long double' number output.
54807         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
54808         * lib/vasnprintf.c: Include math.h and float+.h.
54809         (mp_limb_t): New type.
54810         (GMP_LIMB_BITS): New macro.
54811         (mp_twolimb_t): New type.
54812         (GMP_TWOLIMB_BITS): New macro.
54813         (mpn_t): New type.
54814         (multiply, divide, convert_to_decimal, decode_long_double,
54815         scale10_round_long_double, scale10_round_decimal_long_double,
54816         floorlog10l): New functions.
54817         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
54818         for the %f, %F, %e, %E, %g, %G directives.
54819         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
54820         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54821         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
54822         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
54823         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54824         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54825         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54826         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54827         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54828         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54829         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54830         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
54831         * modules/snprintf-posix (Depends-on): Likewise.
54832         * modules/sprintf-posix (Depends-on): Likewise.
54833         * modules/vasnprintf-posix (Depends-on): Likewise.
54834         * modules/vasprintf-posix (Depends-on): Likewise.
54835         * modules/vfprintf-posix (Depends-on): Likewise.
54836         * modules/vsnprintf-posix (Depends-on): Likewise.
54837         * modules/vsprintf-posix (Depends-on): Likewise.
54838         * modules/vasnprintf (Files): Add lib/float+.h.
54839         * doc/functions/fprintf.texi: Update.
54840         * doc/functions/printf.texi: Update.
54841         * doc/functions/snprintf.texi: Update.
54842         * doc/functions/sprintf.texi: Update.
54843         * doc/functions/vfprintf.texi: Update.
54844         * doc/functions/vprintf.texi: Update.
54845         * doc/functions/vsnprintf.texi: Update.
54846         * doc/functions/vsprintf.texi: Update.
54847
54848 2007-05-18  Bruno Haible  <bruno@clisp.org>
54849
54850         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
54851
54852 2007-05-18  Bruno Haible  <bruno@clisp.org>
54853
54854         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
54855         for printing 64-bit integers. Needed for mingw.
54856
54857 2007-05-18  Bruno Haible  <bruno@clisp.org>
54858
54859         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
54860         gl_FUNC_FREXPL_WORKS.
54861         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
54862
54863 2007-05-18  Bruno Haible  <bruno@clisp.org>
54864
54865         * modules/frexpl-nolibm-tests: New file.
54866
54867         * modules/frexpl-nolibm: New file.
54868         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
54869
54870 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
54871
54872         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
54873         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
54874         GCC 4.2, which otherwise issues a lot of warnings.
54875         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
54876         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
54877         Likewise.
54878         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
54879         * modules/iconv_open (iconv.h): Likewise.
54880         * modules/locale (locale.h): Likewise.
54881         * modules/netinet_in (netinet/in.h): Likewise.
54882         * modules/sys_select (sys_select.h): Likewise.
54883         * modules/sys_socket (sys/socket.h): Likewise.
54884         * modules/sys_stat (sys/stat.h): Likewise.
54885         * modules/sysexits (sysexits.h): Likewise.
54886         * modules/unistd (unistd.h): Likewise.
54887
54888 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54889
54890         * modules/closein-tests (Makefile.am): Distribute
54891         `test-closein.sh'.
54892
54893 2007-05-17  Bruno Haible  <bruno@clisp.org>
54894
54895         * tests/test-printf-posix.output: Renamed from
54896         tests/test-fprintf-posix.out.
54897         * modules/fprintf-posix-tests: Update.
54898         * modules/printf-posix-tests: Update.
54899         * modules/vfprintf-posix-tests: Update.
54900         * modules/vprintf-posix-tests: Update.
54901         * tests/test-fprintf-posix.sh: Update.
54902         * tests/test-printf-posix.sh: Update.
54903         * tests/test-vfprintf-posix.sh: Update.
54904         * tests/test-vprintf-posix.sh: Update.
54905         Reported by Ralf Wildenhues.
54906
54907 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
54908
54909         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
54910         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
54911         GCC 4.2, which otherwise issues a lot of warnings.
54912         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
54913         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
54914         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
54915         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
54916         it should no longer be needed.
54917         * lib/string_.h: Likewise.
54918         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
54919         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
54920         * modules/inttypes (inttypes.h): Likewise.
54921         * modules/math (math.h): Likewise.
54922         * modules/search (search.h): Likewise.
54923         * modules/signal (signal.h): Likewise.
54924         * modules/stdint (stdint.h): Likewise.
54925         * modules/stdio (stdio.h): Likewise.
54926         * modules/stdlib (stdlib.h): Likewise.
54927         * modules/string (string.h): Likewise.
54928         * modules/sys_time (sys/time.h): Likewise.
54929         * modules/time (time.h): Likewise.
54930         * modules/wchar (wchar.h): Likewise.
54931         * modules/wctype (wtype.h): Likewise.
54932
54933 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
54934
54935         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
54936
54937 2007-05-13  Bruno Haible  <bruno@clisp.org>
54938
54939         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
54940         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
54941         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
54942         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
54943         (gl_PREREQ_STRTOK_R): Don't require it here.
54944
54945 2007-05-13  Bruno Haible  <bruno@clisp.org>
54946
54947         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
54948         when used in C++ mode.
54949
54950 2007-05-12  Bruno Haible  <bruno@clisp.org>
54951
54952         * lib/linebuffer.h: Tweak doc.
54953         * lib/linebuffer.c: Likewise.
54954
54955 2007-05-12  James Youngman  <jay@gnu.org>
54956
54957         * lib/linebuffer.c (readlinebuffer_delim): New function,
54958         like readlinebuffer, but use a caller-specified delimiter.
54959         (readlinebuffer): Just call readlinebuffer_delim with '\n'
54960         as the delimiter.
54961         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
54962
54963 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
54964
54965         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
54966         * modules/openat (Files): Remove openat-die.c.
54967         (Depends-on): Add openat-die.
54968         * modules/openat-die: New module.
54969
54970 2007-05-06  Bruno Haible  <bruno@clisp.org>
54971
54972         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
54973         Update with info about Cygwin.
54974         * doc/functions/fprintf.texi: Update.
54975         * doc/functions/printf.texi: Update.
54976         * doc/functions/snprintf.texi: Update.
54977         * doc/functions/sprintf.texi: Update.
54978         * doc/functions/vfprintf.texi: Update.
54979         * doc/functions/vprintf.texi: Update.
54980         * doc/functions/vsnprintf.texi: Update.
54981         * doc/functions/vsprintf.texi: Update.
54982         Reported by Eric Blake.
54983
54984 2007-05-06  Bruno Haible  <bruno@clisp.org>
54985
54986         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
54987         padding ourselves for the floating-point directives.
54988         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
54989         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
54990         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54991         gl_PRINTF_FLAG_ZERO and test its result. Invoke
54992         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
54993         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54994         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
54995         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54996         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54997         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54998         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54999         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55000         * tests/test-snprintf-posix.h (test_function): Also check the width
55001         and some flags in the %f directive.
55002         * tests/test-sprintf-posix.h (test_function): Likewise.
55003         * tests/test-vasnprintf-posix.c (test_function): Likewise.
55004         * tests/test-vasprintf-posix.c (test_function): Likewise.
55005         * doc/functions/fprintf.texi: Update.
55006         * doc/functions/printf.texi: Update.
55007         * doc/functions/snprintf.texi: Update.
55008         * doc/functions/sprintf.texi: Update.
55009         * doc/functions/vfprintf.texi: Update.
55010         * doc/functions/vprintf.texi: Update.
55011         * doc/functions/vsnprintf.texi: Update.
55012         * doc/functions/vsprintf.texi: Update.
55013
55014 2007-05-06  Bruno Haible  <bruno@clisp.org>
55015
55016         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
55017         pass the ' flag character to sprintf or snprintf.
55018         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
55019         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
55020         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55021         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
55022         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
55023         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55024         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
55025         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55026         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55027         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55028         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55029         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55030         * tests/test-snprintf-posix.h (test_function): Also check the grouping
55031         flag.
55032         * tests/test-sprintf-posix.h (test_function): Likewise.
55033         * tests/test-vasnprintf-posix.c (test_function): Likewise.
55034         * tests/test-vasprintf-posix.c (test_function): Likewise.
55035         * doc/functions/fprintf.texi: Update.
55036         * doc/functions/printf.texi: Update.
55037         * doc/functions/snprintf.texi: Update.
55038         * doc/functions/sprintf.texi: Update.
55039         * doc/functions/vfprintf.texi: Update.
55040         * doc/functions/vprintf.texi: Update.
55041         * doc/functions/vsnprintf.texi: Update.
55042         * doc/functions/vsprintf.texi: Update.
55043
55044 2007-05-01  Bruno Haible  <bruno@clisp.org>
55045
55046         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
55047
55048 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
55049
55050         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
55051         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
55052
55053 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
55054
55055         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
55056         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
55057         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
55058
55059 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
55060
55061         * lib/argp-help.c (struct hol_entry): New member `ord'.
55062         (HOL_ENTRY_PTRCMP): Use ord for comparison
55063         (hol_sort): Initialize ord.
55064
55065 2007-05-01  Bruno Haible  <bruno@clisp.org>
55066
55067         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
55068         Reported by Eric Blake.
55069         * doc/gnulib.texi (Function Substitutes): Update.
55070
55071 2007-05-01  Bruno Haible  <bruno@clisp.org>
55072
55073         * doc/functions.texi: Remove file, now redundant through
55074         doc/functions/*.texi.
55075
55076 2007-05-01  Bruno Haible  <bruno@clisp.org>
55077
55078         * modules/argp (Depends-on): Add sleep.
55079
55080 2007-05-01  Bruno Haible  <bruno@clisp.org>
55081
55082         * modules/sleep-tests: New file.
55083         * tests/test-sleep.c: New file.
55084
55085         * modules/sleep: New file.
55086         * lib/sleep.c: New file.
55087         * m4/sleep.m4: New file.
55088         * lib/unistd_.h (sleep): New declaration.
55089         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
55090         HAVE_SLEEP.
55091         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
55092         * doc/functions/sleep.texi: Document the sleep module.
55093
55094 2007-05-01  Bruno Haible  <bruno@clisp.org>
55095
55096         * lib/sigprocmask.h: Remove file.
55097         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
55098         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
55099         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
55100         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
55101         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
55102         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
55103         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
55104         HAVE_SIGSET_T as a shell variable.
55105         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
55106         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
55107         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
55108         (Depends-on): Add signal. Remove verify.
55109         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
55110         (Include): Mention <signal.h> instead of sigprocmask.h.
55111         * NEWS: Mention the change.
55112         * lib/fatal-signal.c: Don't include sigprocmask.h.
55113
55114 2007-05-01  Bruno Haible  <bruno@clisp.org>
55115
55116         * modules/signal: New file.
55117         * lib/signal_.h: New file.
55118         * m4/signal_h.m4: New file.
55119
55120 2007-05-01  Bruno Haible  <bruno@clisp.org>
55121
55122         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
55123         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
55124         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
55125         HAVE_WCTYPE_CTMP_BUG into wctype.h.
55126
55127 2007-05-01  Bruno Haible  <bruno@clisp.org>
55128
55129         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
55130         configure time.
55131         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
55132         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
55133         * modules/sys_stat (Makefile.am): Substitute their values into
55134         sys/stat.h.
55135
55136 2007-05-01  Bruno Haible  <bruno@clisp.org>
55137
55138         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
55139         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
55140         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
55141
55142 2007-05-01  Bruno Haible  <bruno@clisp.org>
55143
55144         * doc/header/assert.texi: Undo last change: don't mention the gnulib
55145         'assert' module here.
55146
55147 2007-05-01  Bruno Haible  <bruno@clisp.org>
55148
55149         * doc/functions/*.texi: New files.
55150         * doc/functions/google-ranking.txt: New file.
55151         * doc/gnulib.texi (Function Substitutes): New chapter.
55152         (ctime, inet_ntoa): Remove sections.
55153         * doc/ctime.texi: Remove file.
55154         * doc/inet_ntoa.texi: Remove file.
55155         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
55156         dependencies.
55157         (%.info): New rule, specifying a --reference-limit.
55158
55159 2007-05-01  Bruno Haible  <bruno@clisp.org>
55160
55161         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
55162
55163 2007-05-01  Bruno Haible  <bruno@clisp.org>
55164
55165         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
55166         the portability of 'mkdir' to mingw systems.
55167
55168 2007-05-01  Bruno Haible  <bruno@clisp.org>
55169
55170         * doc/headers/google-ranking.txt: New file.
55171
55172 2007-04-30  Eric Blake  <ebb9@byu.net>
55173
55174         Prefer fseeko to fseek.
55175         * modules/getpass (Depends-on): Add fseeko.
55176         * lib/getpass.c (getpass): Use fseeko, not fseek.
55177
55178 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
55179
55180         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
55181         assumes the sorting is stable, while most qsort implementations
55182         are not.  Use argument addresses to ensure they never compare as
55183         equal.
55184
55185         * tests/test-argp-2.sh (usage-indent test): Fix output
55186         (func_compare): Restore diff options
55187         * tests/test-argp.c: Restore #include "progname.h"
55188
55189 2007-04-29  Bruno Haible  <bruno@clisp.org>
55190
55191         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
55192         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55193         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
55194         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55195         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
55196         (configure.ac): Define CHECK_SNPRINTF_POSIX.
55197         (TESTS, check_PROGRAMS): Add test-snprintf.
55198         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
55199         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
55200         (TESTS, check_PROGRAMS): Add test-vsnprintf.
55201         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
55202         assertions that fail on HP-UX, OSF/1, or IRIX.
55203         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
55204
55205 2007-04-29  Bruno Haible  <bruno@clisp.org>
55206
55207         * MODULES.html.sh (posix_functions): Remove 'contents'.
55208
55209 2007-04-29  Karl Berry  <karl@gnu.org>
55210
55211         * config/srclist.txt (gendocs_template_min): new entry.
55212
55213 2007-04-29  Bruno Haible  <bruno@clisp.org>
55214
55215         Work around fpurge bug on BSD systems.
55216         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
55217         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
55218         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
55219         fpurge to rpl_fpurge if the system already has this function.
55220         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
55221         the case where the system already has this function. Correct invariants
55222         on BSD systems.
55223         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
55224         BSD systems.
55225
55226 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
55227
55228         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
55229         proposed by Sven Verdoolaege.
55230
55231         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
55232         options.
55233         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
55234         (usage and help tests): Update
55235
55236 2007-04-29  Bruno Haible  <bruno@clisp.org>
55237
55238         * tests/test-fflush.c (main): Use a file of size 17, not 10.
55239         Print more information in case of failure. Disable a test on BeOS.
55240
55241 2007-04-29  Bruno Haible  <bruno@clisp.org>
55242
55243         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
55244         This helps debugging on systems on which no gdb is available.
55245
55246 2007-04-29  Bruno Haible  <bruno@clisp.org>
55247
55248         * lib/freading.h: Improve comments.
55249         * lib/fwriting.h: Likewise.
55250         * tests/test-freading.c (main): Don't check freading immediately after
55251         repositioning. Needed for glibc.
55252
55253 2007-04-29  Bruno Haible  <bruno@clisp.org>
55254
55255         * lib/freading.c (freading): Trivial simplification.
55256
55257 2007-04-28  Bruno Haible  <bruno@clisp.org>
55258
55259         * tests/test-fwriting.c (main): Also test the interaction between
55260         fflush and fwriting.
55261         * modules/fwriting-tests (Depends-on): Add fflush.
55262
55263         * tests/test-freading.c (main): Also test the interaction between
55264         fflush and freading.
55265         * modules/freading-tests (Depends-on): Add fflush.
55266
55267 2007-04-28  Bruno Haible  <bruno@clisp.org>
55268
55269         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
55270         fseeko and ftello.
55271         Suggested by Eric Blake.
55272
55273 2007-04-28  Jim Meyering  <jim@meyering.net>
55274
55275         Avoid false-negative in gl_STDINT_H's C99 conformance test.
55276         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
55277         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
55278
55279 2007-04-27  Eric Blake  <ebb9@byu.net>
55280
55281         * doc/headers/assert.texi (assert.h): Document assert module use.
55282
55283 2007-04-27  Bruno Haible  <bruno@clisp.org>
55284
55285         * doc/headers/*.texi: New files.
55286         * doc/gnulib.texi (Header File Substitutes): New chapter.
55287         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
55288         dependencies.
55289         (standards.info ,standards.html, standards.dvi): Update dependencies.
55290         (mostlyclean, clean): New targets.
55291
55292 2007-04-27  Bruno Haible  <bruno@clisp.org>
55293
55294         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
55295         * modules/sysexits (Files, Makefile.am): Update.
55296
55297         * lib/sys_socket_.h: Renamed from lib/socket_.h.
55298         * modules/sys_socket (Files, Makefile.am): Update.
55299
55300         * lib/sys_stat_.h: Renamed from lib/stat_.h.
55301         * modules/sys_stat (Files, Makefile.am): Update.
55302
55303 2007-04-27  Eric Blake  <ebb9@byu.net>
55304
55305         * lib/freading.h: Improve comments.
55306         * lib/fwriting.h: Likewise.
55307         * lib/fflush.c: Likewise.
55308
55309         Fix closein for mingw.
55310         * modules/closein-tests: Add tests for closein.
55311         * tests/test-closein.c: New file.
55312         * tests/test-closein.sh: Likewise.
55313         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
55314         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
55315
55316 2007-04-27  Bruno Haible  <bruno@clisp.org>
55317
55318         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
55319         version is < 6.
55320         * lib/math_.h [__DECC]: Likewise.
55321         * lib/stdio_.h [__DECC]: Likewise.
55322         * lib/stdlib_.h [__DECC]: Likewise.
55323         * lib/string_.h [__DECC]: Likewise.
55324         * lib/time_.h [__DECC]: Likewise.
55325         * lib/wchar_.h [__DECC]: Likewise.
55326         * lib/wctype_.h [__DECC]: Likewise.
55327
55328 2007-04-27  Bruno Haible  <bruno@clisp.org>
55329
55330         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
55331
55332 2007-04-27  Bruno Haible  <bruno@clisp.org>
55333
55334         * lib/fflush.c: Add comments.
55335         * modules/fpurge-tests (Depends-on): Add fflush.
55336         * modules/freadable-tests (Depends-on): Likewise.
55337         * modules/fwritable-tests (Depends-on): Likewise.
55338
55339 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
55340
55341         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
55342         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
55343         Report by Bruno Haible <bruno@clisp.org>.
55344
55345 2007-04-26  Eric Blake  <ebb9@byu.net>
55346
55347         Fix fflush on mingw.
55348         * modules/fflush (Depends-on): Add freading.
55349         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
55350         but unread data.
55351
55352 2007-04-26  Eric Blake  <ebb9@byu.net>
55353         and Bruno Haible  <bruno@clisp.org>
55354
55355         Implement freading and fwriting.
55356         * lib/freading.c: New file.
55357         * lib/freading.h: Likewise.
55358         * m4/freading.m4: Likewise.
55359         * modules/freading: Likewise.
55360         * modules/freading-tests: Likewise.
55361         * tests/test-freading.c: Likewise.
55362         * lib/fwriting.c: New file.
55363         * lib/fwriting.h: Likewise.
55364         * m4/fwriting.m4: Likewise.
55365         * modules/fwriting: Likewise.
55366         * modules/fwriting-tests: Likewise.
55367         * tests/test-fwriting.c: Likewise.
55368         * MODULES.html.sh (File stream based Input/Output): Mention them.
55369
55370 2007-04-26  Bruno Haible  <bruno@clisp.org>
55371
55372         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
55373         'long' when we assume it.
55374         Suggested by Eric Blake.
55375
55376 2007-04-26  Bruno Haible  <bruno@clisp.org>
55377
55378         Ensure fseeko, ftello are declared on glibc systems.
55379         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
55380         * modules/fseeko (configure.ac-early): Likewise.
55381         * modules/ftello (configure.ac-early): Likewise.
55382         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
55383         AC_FUNC_FSEEKO for this.
55384         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
55385         (gl_CHECK_FSEEKO): Remove macro.
55386
55387 2007-04-26  Bruno Haible  <bruno@clisp.org>
55388
55389         * tests/test-fflush.c (main): Also check the ftell result after
55390         fflush and fseek/fseeko.
55391         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
55392         file descriptor position cache in the stream.
55393         * lib/fseeko.c (rpl_fseeko): Likewise.
55394
55395 2007-04-26  Bruno Haible  <bruno@clisp.org>
55396
55397         * modules/fflush-tests (Depends-on): Add fseeko.
55398
55399 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
55400             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55401
55402         * lib/argz_.h: ensure error_t definition is obtained in same
55403         mechanism system argz.h would have.
55404         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
55405         argz facilities are known bad.  Err on the side of caution if
55406         cross-compiling.
55407
55408 2007-04-25  Eric Blake  <ebb9@byu.net>
55409
55410         * lib/fpurge.c (includes): Use stdlib.h for free.
55411         * tests/test-fflush.c (main): Also test fflush-fseeko.
55412
55413 2007-04-25  Bruno Haible  <bruno@clisp.org>
55414
55415         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
55416         * lib/fseeko.c: New file.
55417         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
55418         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
55419         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
55420         gl_FUNC_FSEEKO.
55421         (gl_FUNC_FSEEKO): Invoke it.
55422         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
55423         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
55424         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
55425
55426 2007-04-25  Bruno Haible  <bruno@clisp.org>
55427
55428         * modules/fflush (Depends-on): Add ftello.
55429
55430 2007-04-25  Bruno Haible  <bruno@clisp.org>
55431
55432         * modules/ftello-tests: New file.
55433         * tests/test-ftello.c: New file.
55434
55435         * modules/ftello: New file.
55436         * m4/ftello.m4: New file.
55437         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
55438         HAVE_FTELLO.
55439         * lib/stdio_.h (ftello): New declaration.
55440         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
55441         HAVE_FTELLO.
55442
55443 2007-04-25  Bruno Haible  <bruno@clisp.org>
55444
55445         * modules/fseeko-tests: New file.
55446         * tests/test-fseeko.c: New file.
55447
55448         * modules/fseeko: New file.
55449         * m4/fseeko.m4: New file.
55450         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
55451         HAVE_FSEEKO.
55452         * lib/stdio_.h (fseeko): New declaration.
55453         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
55454         HAVE_FSEEKO.
55455
55456 2007-04-25  Bruno Haible  <bruno@clisp.org>
55457
55458         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
55459
55460 2007-04-25  Bruno Haible  <bruno@clisp.org>
55461
55462         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
55463         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
55464         * tests/test-unistd.c: Likewise.
55465         * tests/test-fcntl.c: Likewise.
55466
55467 2007-04-23  Eric Blake  <ebb9@byu.net>
55468
55469         * lib/fflush.c: Fix missing include.
55470         Reported by Bruno Haible.
55471
55472 2007-04-23  Bruno Haible  <bruno@clisp.org>
55473
55474         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
55475         Reported by Eric Blake.
55476
55477 2007-04-23  Bruno Haible  <bruno@clisp.org>
55478
55479         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
55480
55481 2007-04-23  Bruno Haible  <bruno@clisp.org>
55482
55483         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
55484
55485 2007-04-23  Bruno Haible  <bruno@clisp.org>
55486
55487         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
55488         Needed on HP-UX 11.
55489
55490 2007-04-16  Eric Blake  <ebb9@byu.net>
55491
55492         Make fflush rely on fpurge.
55493         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
55494         open coding all variants.
55495         * modules/fflush (Depends-on): Add fpurge and unistd.
55496         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
55497         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
55498
55499         Fix --with-tests compilation on cygwin.
55500         * modules/argmatch-tests (Makefile.am): List gnulib library first
55501         in LDADD.
55502         * modules/argp-tests (Makefile.am): Likewise.
55503         * modules/array-list-tests (Makefile.am): Likewise.
55504         * modules/array-oset-tests (Makefile.am): Likewise.
55505         * modules/avltree-list-tests (Makefile.am): Likewise.
55506         * modules/avltree-oset-tests (Makefile.am): Likewise.
55507         * modules/avltreehash-list-tests (Makefile.am): Likewise.
55508         * modules/carray-list-tests (Makefile.am): Likewise.
55509         * modules/dirname-tests (Makefile.am): Likewise.
55510         * modules/frexp-tests (Makefile.am): Likewise.
55511         * modules/isnanl-tests (Makefile.am): Likewise.
55512         * modules/linked-list-tests (Makefile.am): Likewise.
55513         * modules/linkedhash-list-tests (Makefile.am): Likewise.
55514         * modules/lock-tests (Makefile.am): Likewise.
55515         * modules/rbtree-list-tests (Makefile.am): Likewise.
55516         * modules/rbtree-oset-tests (Makefile.am): Likewise.
55517         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
55518         * modules/tls-tests (Makefile.am): Likewise.
55519         * modules/tsearch-tests (Makefile.am): Likewise.
55520         * modules/xvasprintf-tests (Makefile.am): Likewise.
55521
55522         Fix fpurge for cygwin.
55523         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
55524         value.
55525         * modules/fpurge-tests (Depends-on): Clean up trash.
55526
55527 2007-04-16  Simon Josefsson  <simon@josefsson.org>
55528
55529         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
55530
55531         * m4/autobuild.m4: Re-indent.
55532
55533 2007-04-13  Bruno Haible  <bruno@clisp.org>
55534
55535         * modules/fpurge-tests: New file.
55536         * tests/test-fpurge.c: New file.
55537
55538         * modules/fpurge: New file.
55539         * lib/fpurge.h: New file.
55540         * lib/fpurge.c: New file.
55541         * m4/fpurge.m4: New file.
55542
55543 2007-04-13  Bruno Haible  <bruno@clisp.org>
55544
55545         * modules/fbufmode-tests: New file.
55546         * tests/test-fbufmode.c: New file.
55547
55548         * modules/fbufmode: New file.
55549         * lib/fbufmode.h: New file.
55550         * lib/fbufmode.c: New file.
55551         * m4/fbufmode.m4: New file.
55552
55553 2007-04-13  Bruno Haible  <bruno@clisp.org>
55554
55555         * modules/fwritable-tests: New file.
55556         * tests/test-fwritable.c: New file.
55557
55558         * modules/fwritable: New file.
55559         * lib/fwritable.h: New file.
55560         * lib/fwritable.c: New file.
55561         * m4/fwritable.m4: New file.
55562
55563 2007-04-13  Bruno Haible  <bruno@clisp.org>
55564
55565         * modules/freadable-tests: New file.
55566         * tests/test-freadable.c: New file.
55567
55568         * modules/freadable: New file.
55569         * lib/freadable.h: New file.
55570         * lib/freadable.c: New file.
55571         * m4/freadable.m4: New file.
55572
55573 2007-04-13  Bruno Haible  <bruno@clisp.org>
55574
55575         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
55576         MOSTLYCLEANFILES.
55577
55578 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
55579
55580         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
55581         gzip bootstrap.conf to avoid dragging in i18n machinery.
55582         (gnulib_tool_option): Use it.
55583
55584 2007-04-13  Bruno Haible  <bruno@clisp.org>
55585
55586         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
55587         %F directives.
55588         * tests/test-vasprintf-posix.c (test_function): Likewise.
55589         * tests/test-snprintf-posix.h (test_function): Likewise.
55590         * tests/test-sprintf-posix.h (test_function): Likewise.
55591         * tests/test-fprintf-posix.h (test_function): Likewise.
55592         * tests/test-printf-posix.h (test_function): Likewise.
55593         * tests/test-fprintf-posix.out: Likewise.
55594
55595 2007-04-13  Bruno Haible  <bruno@clisp.org>
55596
55597         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
55598         * modules/tls-tests (configure.ac): Likewise.
55599         Reported by Arto C. Nirkko <anirkko@insel.ch>.
55600
55601 2007-04-13  Bruno Haible  <bruno@clisp.org>
55602
55603         * lib/tls.c (glthread_tls_get): Fix return type.
55604         Patch by Arto C. Nirkko <anirkko@insel.ch>.
55605
55606 2007-04-12  Eric Blake  <ebb9@byu.net>
55607
55608         * modules/gettime (Depends-on): Remove gettime.
55609         Reported by Dmitry V. Levin.
55610
55611 2007-04-12  Bruno Haible  <bruno@clisp.org>
55612
55613         * modules/fflush (Include): Mention <stdio.h>.
55614         * modules/strtoimax (Include): Mention <inttypes.h>.
55615         * modules/strtoumax (Include): Likewise.
55616
55617 2007-04-12  Eric Blake  <ebb9@byu.net>
55618
55619         * .cvsignore: New file.
55620         * .gitignore: Likewise.
55621
55622 2007-04-12  Bruno Haible  <bruno@clisp.org>
55623
55624         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
55625         not before, since $(LDADD) often contains libgnu.a.
55626         * modules/striconv-tests (test_striconv_LDADD): Likewise.
55627         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
55628         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
55629         Needed on Cygwin.
55630
55631 2007-04-12  Eric Blake  <ebb9@byu.net>
55632
55633         Work around glibc's failure to flush stdin on fclose.
55634         * lib/closein.c (close_stdin): Flush stdin before closing.
55635
55636         Work around glibc's failure to reset seekable stdin on exit.
55637         * modules/closein: New module.
55638         * lib/closein.c: New file.
55639         * lib/closein.h: Likewise.
55640         * m4/closein.m4: Likewise.
55641         * MODULES.html.sh (File stream based Input/Output): Document it.
55642
55643 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55644
55645         * gnulib-tool: Rename generated 'autobuild' script to
55646         'do-autobuild' in --create-megatestdir output.
55647
55648         * doc/gnulib.texi (Build robot for gnulib): Fix.
55649
55650 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55651
55652         * modules/sysexits (Depends-on): Add absolute-header.
55653
55654 2007-04-12  Eric Blake  <ebb9@byu.net>
55655
55656         No need to preserve errno on success.
55657         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
55658         Reported by Bruno Haible.
55659
55660 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55661
55662         * MODULES.html.sh (Support for maintaining and releasing
55663         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
55664
55665 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55666
55667         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
55668
55669 2007-04-12  Simon Josefsson  <simon@josefsson.org>
55670
55671         * modules/autobuild: New module.
55672
55673         * m4/autobuild.m4: New file.
55674
55675 2007-04-11  Bruno Haible  <bruno@clisp.org>
55676
55677         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
55678         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
55679         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
55680         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
55681         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55682         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55683         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55684         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
55685         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55686         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55687         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
55688         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55689         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55690         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
55691         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55692         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55693         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
55694         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55695         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55696         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
55697         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55698         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55699         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
55700         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55701         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55702         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
55703         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
55704         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
55705         Reported by Eric Blake.
55706
55707 2007-04-11  Bruno Haible  <bruno@clisp.org>
55708
55709         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
55710
55711 2007-04-10  Bruno Haible  <bruno@clisp.org>
55712
55713         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
55714         for NaN and Infinity. Needed on FreeBSD 6.1.
55715         * tests/test-vasnprintf-posix.c (test_function): Undo last change
55716         regarding results for "%010a" of Infinity and NaN.
55717         * tests/test-vasprintf-posix.c (test_function): Likewise.
55718         * tests/test-snprintf-posix.h (test_function): Likewise.
55719         * tests/test-sprintf-posix.h (test_function): Likewise.
55720         * tests/test-fprintf-posix.h (test_function): Likewise.
55721         * tests/test-printf-posix.h (test_function): Likewise.
55722         * tests/test-fprintf-posix.out: Likewise.
55723
55724 2007-04-10  Bruno Haible  <bruno@clisp.org>
55725
55726         * modules/locale-tests: New file.
55727         * tests/test-locale.c: New file.
55728
55729         * modules/locale: New file.
55730         * lib/locale_.h: New file.
55731         * m4/locale_h.m4: New file.
55732
55733 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
55734             Bruno Haible  <bruno@clisp.org>
55735
55736         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
55737         be determined, test for availability of the copysignf, copysign,
55738         copysignl functions.
55739         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
55740         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
55741         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
55742
55743 2007-04-09  Eric Blake  <ebb9@byu.net>
55744
55745         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
55746         * modules/stdio (Makefile.am): Support fflush.
55747         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55748         * modules/fflush: New file.
55749         * lib/fflush.c: Likewise.
55750         * m4/fflush.m4: Likewise.
55751         * modules/fflush-tests: New test.
55752         * tests/test-fflush.c: Likewise.
55753         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
55754
55755 2007-04-06  Bruno Haible  <bruno@clisp.org>
55756
55757         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
55758         (VASNPRINTF): Use signbit for faster determination whether to print a
55759         minus sign.
55760         * modules/vasnprintf (Files): Remove lib/float+.h.
55761         * modules/fprintf-posix (Depends-on): Add signbit.
55762         * modules/snprintf-posix (Depends-on): Likewise.
55763         * modules/sprintf-posix (Depends-on): Likewise.
55764         * modules/vasnprintf-posix (Depends-on): Likewise.
55765         * modules/vasprintf-posix (Depends-on): Likewise.
55766         * modules/vfprintf-posix (Depends-on): Likewise.
55767         * modules/vsnprintf-posix (Depends-on): Likewise.
55768         * modules/vsprintf-posix (Depends-on): Likewise.
55769
55770 2007-04-06  Bruno Haible  <bruno@clisp.org>
55771
55772         * tests/test-frexp.c (main): Test also the sign bit of zero results.
55773         * tests/test-frexpl.c (main): Likewise.
55774         * tests/test-ldexpl.c (main): Likewise.
55775         * modules/frexp-tests (Depends-on): Add signbit.
55776         * modules/frexpl-tests (Depdends-on): Likewise.
55777         * modules/ldexpl-tests (Depdends-on): Likewise.
55778
55779 2007-04-06  Bruno Haible  <bruno@clisp.org>
55780
55781         * modules/signbit-tests: New file.
55782         * tests/test-signbit.c: New file.
55783
55784         * modules/signbit: New file.
55785         * lib/signbitf.c: New file.
55786         * lib/signbitd.c: New file.
55787         * lib/signbitl.c: New file.
55788         * m4/signbit.m4: New file.
55789         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
55790         (signbit): New macro.
55791         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
55792         REPLACE_SIGNBIT.
55793         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
55794         REPLACE_FREXPL into math.h.
55795
55796 2007-04-06  Bruno Haible  <bruno@clisp.org>
55797
55798         * modules/isnanf-nolibm-tests: New file.
55799         * tests/test-isnanf.c: New file.
55800
55801         * modules/isnanf-nolibm: New file.
55802         * lib/isnanf.h: New file.
55803         * lib/isnanf.c: New file.
55804         * lib/isnan.c: Consider the USE_FLOAT macro.
55805         * m4/isnanf.m4: New file.
55806
55807 2007-04-06  Bruno Haible  <bruno@clisp.org>
55808
55809         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
55810         (Link): New section.
55811
55812         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
55813
55814 2007-04-06  Bruno Haible  <bruno@clisp.org>
55815
55816         Assume the 'long double' type.
55817         * m4/longdouble.m4: Remove file.
55818         * config/srclist.txt: Don't mention longdouble.m4.
55819         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
55820         * lib/float+.h: Likewise.
55821         * lib/frexp.c: Likewise.
55822         * lib/printf-args.h: Likewise.
55823         * lib/printf-args.c: Likewise.
55824         * lib/printf-frexp.c: Likewise.
55825         * lib/printf-parse.c: Likewise.
55826         * lib/vasnprintf.c: Likewise.
55827         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
55828         * m4/intl.m4: Likewise.
55829         * m4/isnanl.m4: Likewise.
55830         * m4/printf.m4: Likewise.
55831         * m4/printf-frexpl.m4: Likewise.
55832         * m4/vasnprintf.m4: Likewise.
55833         * modules/allocsa (Files): Remove m4/longdouble.m4.
55834         * modules/gettext (Files): Likewise.
55835         * modules/relocatable-prog-wrapper (Files): Likewise.
55836         * modules/vasnprintf (Files): Likewise.
55837         * modules/isnanl (Files): Likewise.
55838         (Include): Simplify.
55839         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
55840         (Include): Simplify.
55841         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
55842         (Include): Simplify.
55843         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
55844         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55845         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
55846         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55847         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
55848         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55849         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
55850         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55851         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
55852         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55853         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
55854         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
55855         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
55856         * tests/test-isnanl.c: Likewise.
55857         * tests/test-snprintf-posix.h: Likewise.
55858         * tests/test-sprintf-posix.h: Likewise.
55859         * tests/test-vasnprintf-posix.c: Likewise.
55860         * tests/test-vasnprintf-posix2.c: Likewise.
55861         * tests/test-vasprintf-posix.c: Likewise.
55862
55863 2007-04-06  Bruno Haible  <bruno@clisp.org>
55864
55865         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
55866         * lib/math_.h [__DECC]: Include the overridden include file through
55867         #include_next, outside the double-inclusion guard.
55868         * lib/stdio_.h [__DECC]: Likewise.
55869         * lib/stdlib_.h [__DECC]: Likewise.
55870         * lib/string_.h [__DECC]: Likewise.
55871         * lib/time_.h [__DECC]: Likewise.
55872         * lib/wchar_.h [__DECC]: Likewise.
55873         * lib/wctype_.h [__DECC]: Likewise.
55874         * lib/inttypes_.h [__DECC]: Likewise.
55875         Reported by Albert Chin <china@thewrittenword.com> in
55876         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
55877
55878 2007-04-04  Eric Blake  <ebb9@byu.net>
55879
55880         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
55881         1.5.x.
55882
55883 2007-04-04  Bruno Haible  <bruno@clisp.org>
55884
55885         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
55886         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
55887
55888 2007-04-04  Bruno Haible  <bruno@clisp.org>
55889
55890         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
55891         results for "%010a" of Infinity and NaN.
55892         * tests/test-vasprintf-posix.c (test_function): Likewise.
55893         * tests/test-snprintf-posix.h (test_function): Likewise.
55894         * tests/test-sprintf-posix.h (test_function): Likewise.
55895         * tests/test-fprintf-posix.h (test_function): Remove these tests.
55896         * tests/test-printf-posix.h (test_function): Likewise.
55897         * tests/test-fprintf-posix.out: Update.
55898         Needed for FreeBSD 6.1.
55899
55900 2007-04-04  Bruno Haible  <bruno@clisp.org>
55901
55902         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
55903         directly used by the gnulib modules nor by gnulib-tool.
55904
55905 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
55906
55907         * DEPENDENCIES: Give overall description of version dependency
55908         desirability.  Use more-typical names for apps.
55909         Add shell, coreutils, diffutils, grep, tar, gzip.
55910
55911 2007-04-04  Simon Josefsson  <simon@josefsson.org>
55912
55913         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
55914
55915 2007-04-04  Karl Berry  <karl@gnu.org>
55916
55917         * MODULES.html.sh (func_module): missing '.
55918
55919 2007-04-03  Bruno Haible  <bruno@clisp.org>
55920
55921         * modules/argmatch-tests (Makefile.am): New variable
55922         test_argmatch_LDADD.
55923         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
55924         * modules/array-list-tests (Makefile.am): New variable
55925         test_array_list_LDADD.
55926         * modules/array-oset-tests (Makefile.am): New variable
55927         test_array_oset_LDADD.
55928         * modules/avltree-list-tests (Makefile.am): New variable
55929         test_avltree_list_LDADD.
55930         * modules/avltree-oset-tests (Makefile.am): New variable
55931         test_avltree_oset_LDADD.
55932         * modules/avltreehash-list-tests (Makefile.am): New variable
55933         test_avltreehash_list_LDADD.
55934         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
55935         test_canonicalize_lgpl_LDADD.
55936         * modules/carray-list-tests (Makefile.am): New variable
55937         test_carray_list_LDADD.
55938         * modules/dirname-tests (Makefile.am): New variable
55939         test_dirname_LDADD.
55940         * modules/linked-list-tests (Makefile.am): New variable
55941         test_linked_list_LDADD.
55942         * modules/linkedhash-list-tests (Makefile.am): New variable
55943         test_linkedhash_list_LDADD.
55944         * modules/rbtree-list-tests (Makefile.am): New variable
55945         test_rbtree_list_LDADD.
55946         * modules/rbtree-oset-tests (Makefile.am): New variable
55947         test_rbtree_oset_LDADD.
55948         * modules/rbtreehash-list-tests (Makefile.am): New variable
55949         test_rbtreehash_list_LDADD.
55950         * modules/xvasprintf-tests (Makefile.am): New variable
55951         test_xvasprintf_LDADD.
55952         Reported by Eric Blake.
55953
55954 2007-04-03  Eric Blake  <ebb9@byu.net>
55955
55956         * DEPENDENCIES: Weaken m4 requirements.
55957
55958 2007-04-03  Bruno Haible  <bruno@clisp.org>
55959
55960         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
55961         * modules/isnanl-tests (configure.ac): Likewise.
55962
55963 2007-04-03  Ben Pfaff  <blp@gnu.org>
55964
55965         * modules/iconv_open: Add $(srcdir)/ to source directory
55966         references in Makefile fragments that call gperf, to fix VPATH
55967         builds.
55968
55969 2007-04-03  Bruno Haible  <bruno@clisp.org>
55970
55971         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
55972         * lib/ldexpl.c: Undo last change.
55973
55974 2007-04-03  Bruno Haible  <bruno@clisp.org>
55975
55976         * modules/printf-frexpl (Depends-on): Undo last change.
55977         (Files): Add m4/ldexpl.m4.
55978
55979 2007-04-03  Bruno Haible  <bruno@clisp.org>
55980
55981         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
55982         * modules/isnanl (Link): New section.
55983
55984         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
55985         * modules/frexp (Link): New section.
55986
55987         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
55988         * modules/frexpl (Link): New section.
55989
55990         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
55991         * modules/ldexpl (Link): New section.
55992
55993 2007-04-03  Bruno Haible  <bruno@clisp.org>
55994
55995         * modules/TEMPLATE-EXTENDED: New file.
55996         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
55997
55998 2007-04-03  Bruno Haible  <bruno@clisp.org>
55999
56000         * DEPENDENCIES: New file.
56001         Suggested by Simon Josefsson.
56002
56003 2007-04-03  Bruno Haible  <bruno@clisp.org>
56004
56005         * doc/gnulib.texi: Escape @.
56006
56007 2007-04-03  James Youngman  <jay@gnu.org>
56008         and Paul Eggert  <eggert@cs.ucla.edu>
56009
56010         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
56011         birthtime on all systems that have birthtime, not just those which
56012         use st_birthtimensec rather than st_birthtim.  Putting zero in
56013         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
56014         that the birth time is not available for files on an NFS mount.
56015
56016 2007-04-03  Simon Josefsson  <simon@josefsson.org>
56017
56018         * modules/memxor: Move back from crypto/, suggested by Bruno.
56019         * modules/crypto/hmac-sha1: Fix memxor dependency.
56020
56021         * modules/crypto/gc: Moved from ../.
56022
56023 2007-04-02  Eric Blake  <ebb9@byu.net>
56024
56025         * lib/ldexpl.c (includes): Avoid libm.
56026
56027         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
56028
56029 2007-04-02  Bruno Haible  <bruno@clisp.org>
56030
56031         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
56032         on IRIX.
56033
56034 2007-04-02  Bruno Haible  <bruno@clisp.org>
56035
56036         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
56037         x86 or x86_64 platforms running MacOS X.
56038         Reported by Ryan Schmidt <@ryandesign.com>.
56039
56040 2007-04-02  Bruno Haible  <bruno@clisp.org>
56041
56042         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
56043         i386.
56044
56045 2007-04-01  Simon Josefsson  <simon@josefsson.org>
56046
56047         * modules/crypto/arcfour: Moved from ../.
56048         * modules/crypto/arcfour-tests: Moved from ../.
56049         * modules/crypto/arctwo: Moved from ../.
56050         * modules/crypto/arctwo-tests: Moved from ../.
56051         * modules/crypto/des: Moved from ../.
56052         * modules/crypto/des-tests: Moved from ../.
56053         * modules/crypto/gc-arcfour: Moved from ../.
56054         * modules/crypto/gc-arcfour-tests: Moved from ../.
56055         * modules/crypto/gc-arctwo: Moved from ../.
56056         * modules/crypto/gc-arctwo-tests: Moved from ../.
56057         * modules/crypto/gc-des: Moved from ../.
56058         * modules/crypto/gc-des-tests: Moved from ../.
56059         * modules/crypto/gc-hmac-md5: Moved from ../.
56060         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
56061         * modules/crypto/gc-hmac-sha1: Moved from ../.
56062         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
56063         * modules/crypto/gc-md2: Moved from ../.
56064         * modules/crypto/gc-md2-tests: Moved from ../.
56065         * modules/crypto/gc-md4: Moved from ../.
56066         * modules/crypto/gc-md4-tests: Moved from ../.
56067         * modules/crypto/gc-md5: Moved from ../.
56068         * modules/crypto/gc-md5-tests: Moved from ../.
56069         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
56070         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
56071         * modules/crypto/gc-random: Moved from ../.
56072         * modules/crypto/gc-rijndael: Moved from ../.
56073         * modules/crypto/gc-rijndael-tests: Moved from ../.
56074         * modules/crypto/gc-sha1: Moved from ../.
56075         * modules/crypto/gc-sha1-tests: Moved from ../.
56076         * modules/crypto/gc-tests: Moved from ../.
56077         * modules/crypto/hmac-md5: Moved from ../.
56078         * modules/crypto/hmac-md5-tests: Moved from ../.
56079         * modules/crypto/hmac-sha1: Moved from ../.
56080         * modules/crypto/hmac-sha1-tests: Moved from ../.
56081         * modules/crypto/md2: Moved from ../.
56082         * modules/crypto/md2-tests: Moved from ../.
56083         * modules/crypto/md4: Moved from ../.
56084         * modules/crypto/md4-tests: Moved from ../.
56085         * modules/crypto/md5: Moved from ../.
56086         * modules/crypto/md5-tests: Moved from ../.
56087         * modules/crypto/memxor: Moved from ../.
56088         * modules/crypto/rijndael: Moved from ../.
56089         * modules/crypto/rijndael-tests: Moved from ../.
56090         * modules/crypto/sha1: Moved from ../.
56091
56092 2007-03-30  James Youngman  <jay@gnu.org>
56093
56094         * tests/test-stat-time.c (prepare_test): use chmod() rather than
56095         rename() to change the ctime of a file (because ctime is unaffected
56096         by rename on jfs2 on AIX 5.1).
56097         (main): Start by doing cleanup, in case a previous run failed leaving
56098         test files behind.
56099
56100 2007-03-31  Bruno Haible  <bruno@clisp.org>
56101
56102         Support old proprietary implementations of iconv.
56103         * modules/iconv_open: New file.
56104         * lib/iconv_.h: New file.
56105         * m4/iconv_h.m4: New file.
56106         * lib/iconv_open.c: New file.
56107         * lib/iconv_open-aix.gperf: New file.
56108         * lib/iconv_open-hpux.gperf: New file.
56109         * lib/iconv_open-irix.gperf: New file.
56110         * lib/iconv_open-osf.gperf: New file.
56111         * m4/iconv_open.m4: New file.
56112         * modules/linebreak (Depends-on): Add iconv_open.
56113         * modules/striconv (Depends-on): Likewise.
56114         * modules/striconveh (Depends-on): Likewise.
56115         * modules/unicodeio (Depends-on): Likewise.
56116         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
56117         (iconv_t)(-1).
56118         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
56119         conversion if cd is (iconv_t)(-1).
56120         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
56121         is not possible.
56122
56123 2007-03-31  Bruno Haible  <bruno@clisp.org>
56124
56125         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
56126         work on Solaris either. Protect also second use of "autodetect_jp".
56127
56128 2007-03-31  Bruno Haible  <bruno@clisp.org>
56129
56130         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
56131         the function is not present.
56132
56133 2007-03-31  Bruno Haible  <bruno@clisp.org>
56134
56135         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
56136         the function is not present.
56137
56138 2007-03-31  Bruno Haible  <bruno@clisp.org>
56139
56140         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
56141         a bug in HP-UX iconv_open().
56142
56143 2007-03-31  Bruno Haible  <bruno@clisp.org>
56144
56145         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
56146         (Mathematics <math.h>): New section, add fpieee.
56147         (Input/output <stdio.h>): Add fseterr.
56148         (Mathematics <math.h>): New section, add printf-frexp.
56149         (Container data structures): Add sublist.
56150         (Core language properties): Add fpucw, inline.
56151         (Functions for greatest-width integer types <inttypes.h>): Add
56152         imaxabs, imaxdiv, inttypes.
56153         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
56154         isnanl-nolibm, ldexp.
56155         (Mathematics <math.h>): New section, add printf-frexpl.
56156         (Support for systems lacking POSIX:2001): Add fprintf-posix,
56157         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
56158         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
56159         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
56160         (Unicode string functions): Add unistr/u*-mbtoucr.
56161         (Java): Add javacomp-script, javaexec-script.
56162         (C#): Add csharpcomp-script, csharpexec-script.
56163         (Support for building libraries and executables): Add havelib,
56164         relocatable-*.
56165         (Support for maintaining and releasing projects): Renamed from
56166         'Support for maintaining and release projects'. Add announce-gen.
56167
56168 2007-03-31  Bruno Haible  <bruno@clisp.org>
56169
56170         * README: Talk primarily about git.
56171         (git and CVS): Renamed from CVS.
56172         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
56173         gnulib is available through git.
56174         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
56175
56176 2007-03-30  Bruno Haible  <bruno@clisp.org>
56177
56178         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
56179         * lib/poll_.h: Likewise.
56180         * lib/stat_.h: Likewise.
56181         * lib/sys_time_.h: Likewise.
56182         * lib/sysexit_.h: Likewise.
56183         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
56184         * lib/stdbool_.h: Likewise.
56185         * lib/byteswap_.h: Add double-inclusion guard.
56186
56187 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
56188
56189         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
56190
56191 2007-03-30  Karl Berry  <karl@gnu.org>
56192
56193         * config/srclist-update: double space after USA in the license
56194         substitution, since that's how it's usually (?) written.
56195
56196 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
56197
56198         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
56199         reported by Bruno Haible.
56200
56201 2007-03-29  Bruno Haible  <bruno@clisp.org>
56202
56203         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
56204         a bug in AIX iconv().
56205
56206 2007-03-29  Bruno Haible  <bruno@clisp.org>
56207
56208         * modules/ldexpl-tests: New file.
56209         * tests/test-ldexpl.c: New file.
56210
56211 2007-03-29  Bruno Haible  <bruno@clisp.org>
56212
56213         * lib/ldexpl.c: Include fpucw.h.
56214         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
56215         multiplication.
56216         * modules/ldexpl (Depends-on): Add fpucw.
56217
56218 2007-03-29  Bruno Haible  <bruno@clisp.org>
56219
56220         * modules/ldexpl: New file.
56221         * m4/ldexpl.m4: New file.
56222         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
56223         set.
56224         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
56225         REPLACE_LDEXPL.
56226         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
56227         REPLACE_LDEXPL.
56228         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
56229         gl_FUNC_LDEXPL_WORKS.
56230         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
56231         * modules/mathl (Files): Remove lib/ldexpl.c.
56232         (Depends-on): Add ldexpl.
56233
56234 2007-03-29  Bruno Haible  <bruno@clisp.org>
56235
56236         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
56237
56238 2007-03-29  Bruno Haible  <bruno@clisp.org>
56239
56240         * tests/test-striconveh.c (main): Don't assume that a direct conversion
56241         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
56242         and possibly also HP-UX.
56243         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
56244         work on AIX, IRIX, HP-UX, OSF/1.
56245         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
56246         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
56247         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
56248         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
56249         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
56250         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
56251
56252 2007-03-29  Bruno Haible  <bruno@clisp.org>
56253
56254         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
56255
56256 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
56257
56258         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
56259         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
56260
56261 2007-03-29  Eric Blake  <ebb9@byu.net>
56262
56263         * lib/acl-internal.h: Remove redundant include.
56264         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
56265         Cygwin when a file is locked.
56266
56267 2007-03-29  Bruno Haible  <bruno@clisp.org>
56268
56269         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
56270         file.
56271         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
56272
56273 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
56274
56275         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
56276         try to remove a parent directory if the child couldn't be removed
56277         (except for the first rmdir, which could fail because the child
56278         doesn't exist).  Problem reported by Jeff Blaine in
56279         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
56280
56281 2007-03-28  Bruno Haible  <bruno@clisp.org>
56282
56283         * lib/striconveh.c (utf8conv_carefully): New function.
56284         (mem_cd_iconveh_internal): Invoke it.
56285
56286 2007-03-28  Bruno Haible  <bruno@clisp.org>
56287
56288         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
56289         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
56290         input.
56291         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
56292         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
56293         unistr/u8-uctomb.
56294
56295 2007-03-28  Bruno Haible  <bruno@clisp.org>
56296
56297         * modules/unistr/u8-mbtoucr: New file.
56298         * lib/unistr/u8-mbtoucr.c: New file.
56299         * modules/unistr/u16-mbtoucr: New file.
56300         * lib/unistr/u16-mbtoucr.c: New file.
56301         * modules/unistr/u16-mbtoucr: New file.
56302         * lib/unistr/u16-mbtoucr.c: New file.
56303         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
56304
56305 2007-03-27  Simon Josefsson  <simon@josefsson.org>
56306             Bruno Haible  <bruno@clisp.org>
56307
56308         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
56309         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
56310         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
56311
56312         * m4/stdio_h.m4: Add stubs for vasprintf too.
56313
56314         * modules/stdio: Support vasprintf in sed command.
56315
56316         * modules/vasprintf: Depend on stdio for prototypes.  Remove
56317         vasprintf.h.  Add stdio module indicator.
56318
56319         * lib/stdio_.h: Declare asprintf and vasprintf, based on
56320         vasprintf.h.
56321
56322         * lib/vasprintf.h: File removed.
56323
56324         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
56325         * lib/vasprintf.c: Ditto.
56326         * lib/xvasprintf.c: Ditto.
56327         * tests/test-vasprintf-posix.c: Ditto.
56328         * tests/test-vasprintf.c: Ditto.
56329
56330 2007-03-27  Bruno Haible  <bruno@clisp.org>
56331
56332         Make vasnprintf multithread-safe.
56333         * lib/vasnprintf.c (decimal_point_char): New function.
56334         (VASNPRINTF): Use it.
56335         Suggested by Simon Josefsson.
56336
56337 2007-03-27  Eric Blake  <ebb9@byu.net>
56338
56339         Support sub-second birthtime on cygwin.
56340         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
56341         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
56342         (get_stat_birthtime): Also work with st_birthtim.
56343
56344 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
56345
56346         * lib/stat-time.h (USE_BIRTHTIME): Remove.
56347         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
56348         (get_stat_birthtime_ns): Do not try to use "spare" fields.
56349         (get_stat_birthtime_ns): Simplify compile-time tests.
56350         (get_stat_birthtime): Change the API to look like
56351         get_stat_mtime etc., except return a negative tv_nsec on error.
56352         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
56353         Don't check for "spare" fields.
56354         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
56355         or for struct stat.st_birthtime, as these tests aren't used.
56356         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
56357
56358 2007-03-27  Bruno Haible  <bruno@clisp.org>
56359
56360         * lib/stat-time.h: Include <sys/stat.h>.
56361
56362 2007-03-27  James Youngman  <jay@gnu.org>
56363
56364         * lib/stat-time.h (get_stat_birthtime): New function for
56365           retrieving st_birthtime as provided by UFS2 (hence *BSD).
56366         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
56367           and its variants.
56368         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
56369         * modules/stat-time-test: New file.
56370         * tests/test-stat-time.c: New test, devised by Bruno Haible.
56371
56372 2007-03-26  Bruno Haible  <bruno@clisp.org>
56373
56374         Better support of signalling NaNs.
56375         * lib/atanl.c: Include isnanl.h.
56376         (atanl): Perform test for NaN at the beginning of the function and
56377         through a call to isnanl.
56378         * lib/cosl.c: Include isnanl.h.
56379         (cosl): Perform test for NaN at the beginning of the function and
56380         through a call to isnanl.
56381         * lib/ldexpl.c: Include isnanl.h.
56382         (ldexpl): Perform test for NaN through a call to isnanl.
56383         * lib/logl.c: Include isnanl.h.
56384         (logl): Perform test for NaN at the beginning of the function and
56385         through a call to isnanl.
56386         * lib/sinl.c: Include isnanl.h.
56387         (sinl): Perform test for NaN at the beginning of the function and
56388         through a call to isnanl.
56389         * lib/sqrtl.c: Include isnanl.h.
56390         (sqrtl): Perform test for NaN at the beginning of the function and
56391         through a call to isnanl.
56392         * lib/tanl.c: Include isnanl.h.
56393         (tanl): Perform test for NaN at the beginning of the function and
56394         through a call to isnanl.
56395         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
56396         * modules/mathl (Depends-on): Add isnanl.
56397
56398 2007-03-26  Eric Blake  <ebb9@byu.net>
56399
56400         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
56401         regression in logic sense of previous patch.
56402
56403 2007-03-26  Bruno Haible  <bruno@clisp.org>
56404
56405         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
56406         unportable shell command "if ! ...".
56407         Reported by Ralf Wildenhues.
56408
56409 2007-03-25  Bruno Haible  <bruno@clisp.org>
56410
56411         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
56412         <sysexits.h> file, and only add EX_CONFIG.
56413         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
56414         absolute file name and whether it is sufficient. Substitute also
56415         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
56416         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
56417         ABSOLUTE_SYSEXITS_H into sysexits.h.
56418
56419 2007-03-25  Bruno Haible  <bruno@clisp.org>
56420
56421         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
56422         hints is NULL.
56423
56424 2007-03-25  Bruno Haible  <bruno@clisp.org>
56425
56426         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
56427         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
56428
56429 2007-03-25  Bruno Haible  <bruno@clisp.org>
56430
56431         * lib/vasnprintf.c: Include langinfo.h.
56432         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
56433         multithread-safe.
56434         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
56435         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
56436         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56437         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56438         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56439         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56440         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56441         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
56442         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56443         Reported by Simon Josefsson.
56444
56445 2007-03-25  Bruno Haible  <bruno@clisp.org>
56446
56447         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
56448         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
56449         * modules/vasnprintf (Depends-on): Add stdint.
56450
56451 2007-03-25  Bruno Haible  <bruno@clisp.org>
56452
56453         * modules/fpieee: New file.
56454         * m4/fpieee.m4: New file.
56455         * modules/isnan-nolibm (Depends-on): Add fpieee.
56456         * modules/isnanl-nolibm (Depends-on): Add fpieee.
56457         * modules/isnanl (Depends-on): Add fpieee.
56458
56459 2007-03-25  Bruno Haible  <bruno@clisp.org>
56460
56461         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
56462
56463 2007-03-25  Bruno Haible  <bruno@clisp.org>
56464
56465         Avoid test failures on IRIX 6.5.
56466         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
56467         (main): Use it.
56468         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
56469         macros.
56470         (main): Use them.
56471
56472 2007-03-25  Bruno Haible  <bruno@clisp.org>
56473
56474         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
56475         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
56476         exists but doesn't work.
56477         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
56478         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
56479         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
56480         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
56481         math.h.
56482
56483 2007-03-25  Bruno Haible  <bruno@clisp.org>
56484
56485         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
56486         returns inf. Needed on IRIX 6.5.
56487
56488 2007-03-25  Bruno Haible  <bruno@clisp.org>
56489
56490         * tests/test-frexpl.c: Include isnanl-nolibm.h.
56491         (main): Use isnanl instead of x != x idiom.
56492         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
56493
56494         * tests/test-frexp.c: Include isnan.h.
56495         (main): Use isnan instead of x != x idiom.
56496         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
56497
56498 2007-03-25  Bruno Haible  <bruno@clisp.org>
56499
56500         * tests/test-frexp.c (NaN): New function/macro.
56501         (main): Use it instead of 0.0 / 0.0.
56502         * tests/test-isnan.c (NaN): New function/macro.
56503         (main): Use it instead of 0.0 / 0.0.
56504         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
56505         (test_function): Use it instead of 0.0 / 0.0.
56506         * tests/test-vasprintf-posix.c (NaN): New function/macro.
56507         (test_function): Use it instead of 0.0 / 0.0.
56508         * tests/test-snprintf-posix.h (NaN): New function/macro.
56509         (test_function): Use it instead of 0.0 / 0.0.
56510         * tests/test-sprintf-posix.h (NaN): New function/macro.
56511         (test_function): Use it instead of 0.0 / 0.0.
56512         * tests/test-fprintf-posix.h (NaN): New function/macro.
56513         (test_function): Use it instead of 0.0 / 0.0.
56514         * tests/test-printf-posix.h (NaN): New function/macro.
56515         (test_function): Use it instead of 0.0 / 0.0.
56516
56517         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
56518
56519 2007-03-25  Bruno Haible  <bruno@clisp.org>
56520
56521         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
56522
56523 2007-03-25  Bruno Haible  <bruno@clisp.org>
56524
56525         * lib/regexec.c (merge_state_with_log): Make static.
56526
56527 2007-03-25  Bruno Haible  <bruno@clisp.org>
56528
56529         * lib/trigl.c (kernel_rem_pio2): Make static.
56530
56531 2007-03-25  Bruno Haible  <bruno@clisp.org>
56532
56533         * lib/sincosl.c (sincosl_table): Make static.
56534
56535 2007-03-25  Bruno Haible  <bruno@clisp.org>
56536
56537         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
56538         if the compiler does not support C99.
56539
56540 2007-03-25  Bruno Haible  <bruno@clisp.org>
56541
56542         * modules/time (Makefile.am): Ensure all rule action lines start with a
56543         tab.
56544
56545 2007-03-24  Bruno Haible  <bruno@clisp.org>
56546
56547         * modules/tsearch-tests: New file.
56548         * tests/test-tsearch.sh: New file.
56549         * tests/test-tsearch.c: New file, mostly copied from glibc.
56550
56551         * modules/search-tests: New file.
56552         * tests/test-search.c: New file.
56553
56554         * modules/search: New file.
56555         * lib/search_.h: New file, incorporating lib/tsearch.h.
56556         * m4/search_h.m4: New file.
56557         * lib/tsearch.h: Remove file.
56558         * lib/tsearch.c: Include search.h instead of tsearch.h.
56559         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
56560         HAVE_TSEARCH.
56561         * modules/tsearch (Files): Remove lib/tsearch.h.
56562         (Depends-on): Add search.
56563         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
56564         (Include): Change tsearch.h into search.h.
56565
56566 2007-03-24  Bruno Haible  <bruno@clisp.org>
56567
56568         * modules/fpucw: New file.
56569         * lib/fpucw.h: New file.
56570         * lib/frexp.c: Include fpucw.h.
56571         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
56572         (FUNC): Use them.
56573         * lib/printf-frexp.c: Include fpucw.h.
56574         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
56575         (FUNC): Use them.
56576         * lib/vasnprintf.c: Include fpucw.h.
56577         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
56578         'long double' calculations.
56579         * tests/test-frexpl.c: Include fpucw.h.
56580         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
56581         * tests/test-printf-frexpl.c: Include fpucw.h.
56582         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
56583         * modules/frexpl (Depends-on): Add fpucw.
56584         * modules/printf-frexpl (Depends-on): Likewise.
56585         * modules/fprintf-posix (Depends-on): Likewise.
56586         * modules/snprintf-posix (Depends-on): Likewise.
56587         * modules/sprintf-posix (Depends-on): Likewise.
56588         * modules/vasnprintf-posix (Depends-on): Likewise.
56589         * modules/vasprintf-posix (Depends-on): Likewise.
56590         * modules/vfprintf-posix (Depends-on): Likewise.
56591         * modules/vsnprintf-posix (Depends-on): Likewise.
56592         * modules/vsprintf-posix (Depends-on): Likewise.
56593         * modules/frexpl-tests (Depends-on): Likewise.
56594         * modules/printf-frexpl-tests (Depends-on): Likewise.
56595
56596 2007-03-24  Bruno Haible  <bruno@clisp.org>
56597
56598         * lib/float+.h: New file.
56599         * lib/isnan.c: Include float+.h.
56600         (SIZE): New macro.
56601         (FUNC): Compare only SIZE bytes of the value.
56602         * lib/vasnprintf.c: Include float+.h.
56603         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
56604         SIZEOF_LDBL or SIZEOF_DBL bytes.
56605         * modules/isnan-nolibm (Files): Add lib/float+.h.
56606         * modules/isnanl-nolibm (Files): Add lib/float+.h.
56607         * modules/isnanl (Files): Add lib/float+.h.
56608         * modules/vasnprintf (Files): Add lib/float+.h.
56609
56610 2007-03-24  Bruno Haible  <bruno@clisp.org>
56611
56612         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
56613         include isnanl-nolibm.h.
56614
56615 2007-03-24  Bruno Haible  <bruno@clisp.org>
56616
56617         * tests/test-read-file.c (main): Don't produce spurious output for
56618         expected situations. Make the test fail if it encountered unexpected
56619         results.
56620
56621 2007-03-24  Bruno Haible  <bruno@clisp.org>
56622
56623         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
56624         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
56625
56626 2007-03-24  Bruno Haible  <bruno@clisp.org>
56627
56628         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
56629
56630 2007-03-24  Bruno Haible  <bruno@clisp.org>
56631
56632         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
56633         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
56634
56635         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
56636         * modules/utf8-ucs4: Turn into a symbolic link to module
56637         unistr/u8-mbtouc.
56638
56639         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
56640         utf8-ucs4-unsafe.
56641         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
56642         unistr/u8-mbtouc-unsafe.
56643
56644         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
56645         * modules/utf16-ucs4: Turn into a symbolic link to module
56646         unistr/u16-mbtouc.
56647
56648         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
56649         utf16-ucs4-unsafe.
56650         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
56651         unistr/u16-mbtouc-unsafe.
56652
56653         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
56654         * modules/ucs4-utf8: Turn into a symbolic link to module
56655         unistr/u8-ubtomb.
56656
56657         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
56658         * modules/ucs4-utf16: Turn into a symbolic link to module
56659         unistr/u16-ubtomb.
56660
56661 2007-03-24  Bruno Haible  <bruno@clisp.org>
56662
56663         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
56664         Enable the function only if HAVE_INLINE.
56665         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
56666         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
56667         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
56668         Enable the function only if HAVE_INLINE.
56669         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
56670         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
56671         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
56672         Enable the function only if HAVE_INLINE.
56673         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
56674         Enable the function only if HAVE_INLINE.
56675         * modules/utf8-ucs4: Update.
56676         * modules/utf8-ucs4-unsafe: Update.
56677         * modules/utf16-ucs4: Update.
56678         * modules/utf16-ucs4-unsafe: Update.
56679         * modules/ucs4-utf8: Update.
56680         * modules/ucs4-utf16: Update.
56681
56682 2007-03-24  Bruno Haible  <bruno@clisp.org>
56683
56684         * lib/utf8-ucs4.h: Remove file.
56685         * lib/utf8-ucs4-unsafe.h: Remove file.
56686         * lib/utf16-ucs4.h: Remove file.
56687         * lib/utf16-ucs4-unsafe.h: Remove file.
56688         * lib/ucs4-utf8.h: Remove file.
56689         * lib/ucs4-utf16.h: Remove file.
56690         * lib/unistr.h: Include their previous contents.
56691         * m4/utf-ucs4.m4: Remove file.
56692         * m4/ucs4-utf.m4: Remove file.
56693         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
56694         (Depends-on): Add unistr/base.
56695         (configure.ac): Remove gl_UTF_UCS4.
56696         (Makefile.am): Update.
56697         (Include): Change to unistr.h.
56698         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
56699         (Depends-on): Add unistr/base.
56700         (configure.ac): Remove gl_UTF_UCS4.
56701         (Makefile.am): Update.
56702         (Include): Change to unistr.h.
56703         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
56704         (Depends-on): Add unistr/base.
56705         (configure.ac): Remove gl_UTF_UCS4.
56706         (Makefile.am): Update.
56707         (Include): Change to unistr.h.
56708         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
56709         (Depends-on): Add unistr/base.
56710         (configure.ac): Remove gl_UTF_UCS4.
56711         (Makefile.am): Update.
56712         (Include): Change to unistr.h.
56713         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
56714         (Depends-on): Add unistr/base.
56715         (configure.ac): Remove gl_UCS4_UTF.
56716         (Makefile.am): Update.
56717         (Include): Change to unistr.h.
56718         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
56719         (Depends-on): Add unistr/base.
56720         (configure.ac): Remove gl_UCS4_UTF.
56721         (Makefile.am): Update.
56722         (Include): Change to unistr.h.
56723         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
56724         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
56725         utf8-ucs4-unsafe.h.
56726         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
56727         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
56728         utf16-ucs4-unsafe.h.
56729         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
56730         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
56731         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
56732         * lib/unistr/u8-strchr.c: Likewise.
56733         * lib/unistr/u8-strrchr.c: Likewise.
56734         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
56735         * lib/unistr/u16-strchr.c: Likewise.
56736         * lib/unistr/u16-strrchr.c: Likewise.
56737         * lib/striconveh.c: Update.
56738         * lib/linebreak.c: Update.
56739
56740 2007-03-24  Bruno Haible  <bruno@clisp.org>
56741
56742         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
56743         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
56744
56745 2007-03-22  Bruno Haible  <bruno@clisp.org>
56746
56747         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
56748
56749 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
56750
56751         * MODULES.html.sh (File system functions): New module write-any-file.
56752         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
56753         * m4/write-any-file.m4: New files.
56754
56755 2007-03-23  Eric Blake  <ebb9@byu.net>
56756
56757         * gnulib-tool: Rearrange space-tab sequences, since some editors
56758         like to eat them.
56759
56760 2007-03-23  Eric Blake  <ebb9@byu.net>
56761
56762         * lib/version-etc.c (version_etc_va): Update license wording to
56763         be more concise.  Recommended by Richard Stallman.
56764
56765 2007-03-22  Bruno Haible  <bruno@clisp.org>
56766
56767         * lib/poll.c (MSG_PEEK): New fallback definition.
56768
56769 2007-03-22  Bruno Haible  <bruno@clisp.org>
56770
56771         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
56772         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
56773         (main): Update.
56774         Fixes a compilation error on BeOS.
56775
56776 2007-03-22  Bruno Haible  <bruno@clisp.org>
56777
56778         * modules/frexpl-tests: New file.
56779         * tests/test-frexpl.c: New file.
56780
56781         * modules/frexpl: New file.
56782         * m4/frexpl.m4: New file.
56783         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
56784         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
56785         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
56786         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
56787         (Depends-on): Add frexpl. Remove isnanl-nolibm.
56788         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
56789
56790 2007-03-22  Bruno Haible  <bruno@clisp.org>
56791
56792         * lib/frexpl.c: Share code with lib/frexp.c.
56793         * modules/mathl (Files): Add lib/frexp.c.
56794         (Depends-on): Add isnanl-nolibm.
56795
56796 2007-03-22  Bruno Haible  <bruno@clisp.org>
56797
56798         * modules/printf-frexp (Files): Add m4/frexp.m4.
56799         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
56800         only if the found frexp function actually works.
56801
56802 2007-03-22  Bruno Haible  <bruno@clisp.org>
56803
56804         * lib/frexp.c: Remove older implementation that uses divisions.
56805
56806 2007-03-21  Bruno Haible  <bruno@clisp.org>
56807
56808         * modules/frexp-tests: New file.
56809         * tests/test-frexp.c: New file.
56810
56811         * modules/frexp: New file.
56812         * lib/frexp.c: New file.
56813         * m4/frexp.m4: New file.
56814         * lib/math_.h (frexp): New declaration.
56815         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
56816         REPLACE_FREXP.
56817         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
56818
56819 2007-03-21  Bruno Haible  <bruno@clisp.org>
56820
56821         * modules/isnanl-tests: New file.
56822         * tests/test-isnanl.c: New file.
56823
56824         * modules/isnanl: New file.
56825         * lib/isnanl.h: New file.
56826         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
56827         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
56828         gl_FUNC_ISNANL_WORKS.
56829         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
56830         New macros.
56831
56832 2007-03-21  Bruno Haible  <bruno@clisp.org>
56833
56834         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
56835         lib/isnanl.h.
56836         (Include): Update.
56837         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
56838         * lib/vasnprintf.c: Update.
56839         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
56840         tests/test-isnanl.h, remove tests/test-isnanl.c.
56841         (Makefile.am): Update.
56842         * tests/test-isnanl-nolibm.c: New file.
56843         * tests/test-isnanl.h: New file.
56844         * tests/test-isnanl.c: Remove file.
56845
56846 2007-03-21  Jim Meyering  <jim@meyering.net>
56847
56848         When trying to open ".", treat ESTALE like EACCES.
56849         * lib/savewd.c (savewd_save): Resort to forking not just upon
56850         failure with EACCES, but also when errno is ESTALE.
56851
56852 2007-03-20  Bruno Haible  <bruno@clisp.org>
56853
56854         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
56855         Needed on AIX 5.1. Reported by Matthew Woehlke.
56856
56857 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56858
56859         Suggestions by Bruno Haible:
56860         * lib/acl-internal.h: Include "gettext.h" rather than rolling
56861         our own.
56862         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
56863         * modules/acl (Depends-on): Add gettext.
56864
56865 2007-03-19  Bruno Haible  <bruno@clisp.org>
56866
56867         * modules/iconvme: Remove file.
56868         * lib/iconvme.h: Remove file.
56869         * lib/iconvme.c: Remove file.
56870         * m4/iconvme.m4: Remove file.
56871
56872 2007-03-19  Bruno Haible  <bruno@clisp.org>
56873
56874         * doc/relocatable-maint.texi: Break long shell script line.
56875         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
56876
56877 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56878
56879         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
56880         handle file_has_acl.
56881         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
56882         * lib/acl.c: Move header inclusions and related macro defns into
56883         lib/acl-internal.h.
56884         (S_ISLNK): Remove defn, since that's now done for us.
56885         (file_has_acl): Move to lib/file-has-acl.c.
56886         Call acl_trivial if available.  This is the crucial part of the fix.
56887         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
56888         shared within the library.  Rewrite a bit, partly to make it compatible
56889         with the GNU coding style.
56890         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
56891         Remove unnecessary double-quotes.
56892         Don't test for acl_to_text; the build will catch that.
56893         Replace acl_entries if it doesn't exist and it is needed.
56894         Check for -lsec and acl_trivial (as used on Solaris 10).
56895         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
56896         lib/file-has-acl.c.
56897         (Depends-on): Add sys_stat, for S_ISLNK.
56898
56899 2007-03-19  Ben Pfaff  <blp@gnu.org>
56900
56901         * doc/gnulib.texi: Fix typos.
56902         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
56903
56904 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
56905
56906         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
56907         If size is zero here, buf must be zero.
56908
56909 2007-03-19  Simon Josefsson  <simon@josefsson.org>
56910
56911         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
56912         <bruno@clisp.org>.
56913
56914 2007-03-18  Bruno Haible  <bruno@clisp.org>
56915
56916         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
56917         Suggested by Eric Blake.
56918
56919 2007-03-18  Ben Pfaff  <blp@gnu.org>
56920
56921         * doc/relocatable.texi: Recommend using as prefix a directory
56922         that does not exist and will never be created.  Based on
56923         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
56924         and others.
56925
56926 2007-03-17  Bruno Haible  <bruno@clisp.org>
56927
56928         * lib/fchownat.c: Include lchown.h.
56929
56930 2007-03-17  Bruno Haible  <bruno@clisp.org>
56931
56932         Fix endless loop when the given allocated size was > INT_MAX.
56933         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
56934         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
56935         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
56936         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
56937         * lib/sprintf.c (sprintf): Likewise.
56938
56939 2007-03-17  Bruno Haible  <bruno@clisp.org>
56940
56941         * tests/test-argp-2.sh (func_compare): Output a context diff.
56942
56943 2007-03-17  Bruno Haible  <bruno@clisp.org>
56944
56945         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
56946         locale's decimal-point character.
56947
56948 2007-03-17  Bruno Haible  <bruno@clisp.org>
56949
56950         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
56951         before comparing it. Needed because on some platforms (e.g. x86) a
56952         'long double' occupies less bytes than sizeof (long double).
56953
56954 2007-03-17  Bruno Haible  <bruno@clisp.org>
56955
56956         * tests/test-crc.c (main): Make printf statements 64-bit clean.
56957         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
56958         * tests/test-getaddrinfo.c (simple): Likewise.
56959         * tests/test-read-file.c (main): Likewise.
56960
56961 2007-03-17  Bruno Haible  <bruno@clisp.org>
56962
56963         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
56964
56965 2007-03-17  Bruno Haible  <bruno@clisp.org>
56966
56967         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
56968         unused variable.
56969
56970 2007-03-17  Bruno Haible  <bruno@clisp.org>
56971
56972         * tests/test-c-strcasecmp.c: Include c-strcase.h.
56973         * tests/test-c-strncasecmp.c: Likewise.
56974
56975 2007-03-17  Bruno Haible  <bruno@clisp.org>
56976
56977         * modules/stdlib (Depends-on): Add unistd.
56978         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
56979         Needed for MacOS X 10.3.
56980
56981 2007-03-17  Bruno Haible  <bruno@clisp.org>
56982
56983         * lib/unistr/u-strdup.h: Include <stdlib.h>.
56984
56985 2007-03-17  Bruno Haible  <bruno@clisp.org>
56986
56987         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
56988
56989 2007-03-17  Bruno Haible  <bruno@clisp.org>
56990
56991         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
56992         to reflect files copied from gnulib (with or without modifications).
56993         Suggested by Jim Meyering.
56994
56995 2007-03-17  Eric Blake  <ebb9@byu.net>
56996
56997         * NEWS: Document stdlib change from 2007-02-18.
56998
56999 2007-03-17  Jim Meyering  <jim@meyering.net>
57000
57001         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
57002         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
57003         someone uses a name containing shell meta-characters.
57004         Reported by Alfred M. Szmidt.
57005
57006         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
57007
57008 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
57009
57010         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
57011         and copy gettext configuration files only if configure.ac contains
57012         a use of AM_GNU_GETTEXT_VERSION.
57013
57014 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
57015
57016         * build-aux/bootstrap (gnulib_name): New variable.
57017         (gnulib_tool_options): Use it.
57018
57019 2007-03-13  Simon Josefsson  <simon@josefsson.org>
57020
57021         * tests/test-des.c: Use new namespace.
57022
57023 2007-03-15  Bruno Haible  <bruno@clisp.org>
57024
57025         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
57026         Reported by James Youngman <jay@gnu.org>.
57027
57028 2007-03-15  Bruno Haible  <bruno@clisp.org>
57029
57030         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
57031         declared prototype. Needed with cc on OSF/1 5.1.
57032
57033 2007-03-15  Bruno Haible  <bruno@clisp.org>
57034
57035         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
57036         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
57037         (struct gl_list_implementation): Add dispose_fn argument to the
57038         'create_empty', 'create' methods.
57039         (struct gl_list_impl_base): Add field 'dispose_fn'.
57040         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
57041         argument.
57042         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
57043         dispose_fn argument.
57044         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
57045         dispose_fn on the dropped values.
57046         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
57047         dispose_fn argument.
57048         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
57049         dropped values.
57050         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
57051         (gl_tree_remove_node): Call dispose_fn on the dropped value.
57052         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
57053         (gl_tree_remove_node): Call dispose_fn on the dropped value.
57054         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
57055         argument.
57056         (gl_tree_list_free): Call dispose_fn on the dropped values.
57057         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
57058         the dropped values.
57059         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
57060         Add dispose_fn argument.
57061         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
57062         Call dispose_fn on the dropped values.
57063         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
57064         Add dispose_fn argument.
57065         (gl_sublist_create): Initialize the 'dispose_fn' field.
57066         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
57067         * tests/test-array_list.c (main): Update.
57068         * tests/test-carray_list.c (main): Update.
57069         * tests/test-avltree_list.c (main): Update.
57070         * tests/test-rbtree_list.c (main): Update.
57071         * tests/test-avltreehash_list.c (main): Update.
57072         * tests/test-rbtreehash_list.c (main): Update.
57073         * tests/test-linked_list.c (main): Update.
57074         * tests/test-linkedhash_list.c (main): Update.
57075         * tests/test-array_oset.c (main): Update.
57076
57077 2007-03-15  Bruno Haible  <bruno@clisp.org>
57078
57079         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
57080         (gl_oset_create_empty): Add dispose_fn argument.
57081         (struct gl_oset_implementation): Add dispose_fn argument to
57082         'create_empty' method.
57083         (struct gl_oset_impl_base): Add dispose_fn field.
57084         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
57085         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
57086         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
57087         values.
57088         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
57089         (gl_tree_oset_free): Call dispose_fn on the dropped values.
57090         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
57091         dropped value.
57092         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
57093         dropped value.
57094         * tests/test-array_oset.c (main): Update.
57095         * tests/test-avltree_oset.c (main): Update.
57096         * tests/test-rbtree_oset.c (main): Update.
57097         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
57098
57099 2007-03-13  Bruno Haible  <bruno@clisp.org>
57100
57101         * tests/test-stdbool.c (i): Update after last patch.
57102
57103 2007-03-12  Bruno Haible  <bruno@clisp.org>
57104
57105         * lib/quotearg.c: Include <wctype.h> early, before the definition of
57106         the iswprint macro. Needed on Solaris 2.5.1.
57107
57108 2007-03-12  Bruno Haible  <bruno@clisp.org>
57109
57110         * tests/test-printf-frexp.c (main): Declare x as volatile.
57111
57112 2007-03-12  Simon Josefsson  <simon@josefsson.org>
57113
57114         * doc/gnulib.texi (Build robot for gnulib): New section.
57115
57116 2007-03-12  Jim Meyering  <jim@meyering.net>
57117
57118         * build-aux/bootstrap: New file.
57119         * build-aux/bootstrap.conf: New file, from coreutils.
57120
57121 2007-03-11  Bruno Haible  <bruno@clisp.org>
57122
57123         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
57124
57125 2007-03-12  Simon Josefsson  <simon@josefsson.org>
57126
57127         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
57128         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
57129         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
57130
57131 2007-03-11  Bruno Haible  <bruno@clisp.org>
57132
57133         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
57134         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
57135
57136 2007-03-11  Bruno Haible  <bruno@clisp.org>
57137
57138         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
57139         formula. Needed for SunPRO C 5.0.
57140
57141 2007-03-11  Bruno Haible  <bruno@clisp.org>
57142
57143         * modules/long-options (Depends-on): Add getopt.
57144
57145 2007-03-11  Bruno Haible  <bruno@clisp.org>
57146
57147         * modules/modechange (Depends-on): Add stdbool.
57148
57149 2007-03-11  Bruno Haible  <bruno@clisp.org>
57150
57151         * modules/i-ring (Depends-on): Add stdbool.
57152
57153 2007-03-11  Bruno Haible  <bruno@clisp.org>
57154
57155         * modules/gc-des (Depends-on): Add stdbool.
57156
57157 2007-03-11  Bruno Haible  <bruno@clisp.org>
57158
57159         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
57160
57161 2007-03-11  Bruno Haible  <bruno@clisp.org>
57162
57163         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
57164
57165 2007-03-11  Bruno Haible  <bruno@clisp.org>
57166
57167         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
57168
57169 2007-03-11  Bruno Haible  <bruno@clisp.org>
57170
57171         * lib/vasnprintf.c (sprintf): Undefine.
57172
57173 2007-03-11  Bruno Haible  <bruno@clisp.org>
57174
57175         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
57176         initializers in SunPRO C and Compaq C compilers.
57177
57178 2007-03-11  Bruno Haible  <bruno@clisp.org>
57179
57180         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
57181         decrementing code ANSI C compliant.
57182
57183 2007-03-11  Bruno Haible  <bruno@clisp.org>
57184
57185         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
57186         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
57187
57188 2007-03-11  Bruno Haible  <bruno@clisp.org>
57189
57190         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
57191         <stdbool.h> substitute doesn't pass.
57192
57193 2007-03-11  Bruno Haible  <bruno@clisp.org>
57194
57195         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
57196
57197 2007-03-11  Bruno Haible  <bruno@clisp.org>
57198
57199         * gnulib-tool (func_create_megatestdir): Create also an autobuild
57200         script, for submission to autobuild.josefsson.org.
57201
57202 2007-03-10  Bruno Haible  <bruno@clisp.org>
57203
57204         * modules/canonicalize-lgpl-tests: New file.
57205         * tests/test-canonicalize-lgpl.sh: New file.
57206         * tests/test-canonicalize-lgpl.c: New file.
57207
57208         * modules/c-strcase-tests: New file.
57209         * tests/test-c-strcase.sh: New file.
57210         * tests/test-c-strcasecmp.c: New file.
57211         * tests/test-c-strncasecmp.c: New file.
57212
57213         * modules/atexit-tests: New file.
57214         * tests/test-atexit.sh: New file.
57215         * tests/test-atexit.c: New file.
57216
57217 2007-03-10  Bruno Haible  <bruno@clisp.org>
57218
57219         * tests/test-binary-io.sh: Use temporary filenames that are not so
57220         likely to clash with those of other tests (in a parallel make).
57221         * tests/test-binary-io.c: Likewise.
57222
57223 2007-03-10  Bruno Haible  <bruno@clisp.org>
57224
57225         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
57226         fallback; use #error instead.
57227         Suggested by Simon Josefsson.
57228
57229 2007-03-10  Bruno Haible  <bruno@clisp.org>
57230
57231         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
57232         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
57233         first and the last.
57234
57235 2007-03-10  Bruno Haible  <bruno@clisp.org>
57236
57237         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
57238
57239 2007-03-10  Bruno Haible  <bruno@clisp.org>
57240
57241         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
57242         "make distcheck".
57243         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
57244         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
57245         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
57246
57247 2007-03-10  Bruno Haible  <bruno@clisp.org>
57248
57249         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
57250         variable.
57251         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
57252         variable.
57253
57254 2007-03-09  Eric Blake  <ebb9@byu.net>
57255         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
57256
57257         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
57258         types are not being provided by gnulib.
57259         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
57260         types are supported.
57261
57262 2007-03-10  Bruno Haible  <bruno@clisp.org>
57263
57264         * lib/stdio_.h (__attribute__): New macro.
57265         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
57266         vsprintf): Specify __attribute__ __format__ for GCC.
57267         Suggested by Eric Blake.
57268
57269 2007-03-09  Bruno Haible  <bruno@clisp.org>
57270
57271         * modules/printf-posix-tests: New file.
57272         * tests/test-printf-posix.sh: New file.
57273         * tests/test-printf-posix.c: New file.
57274
57275         * modules/printf-posix: New file.
57276         * lib/printf.c: New file.
57277         * m4/printf-posix-rpl.m4: New file.
57278         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
57279         REPLACE_PRINTF.
57280         * lib/stdio_.h (printf): New declaration.
57281         (format, __format__, ____printf____, ____scanf____, ____strftime____,
57282         ____strfmon____): New macros.
57283         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
57284         REPLACE_PRINTF.
57285
57286 2007-03-09  Bruno Haible  <bruno@clisp.org>
57287
57288         * tests/test-vasnprintf-posix2.sh: New file.
57289         * tests/test-vasnprintf-posix2.c: New file.
57290         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
57291         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
57292         (Makefile.am): Activate test-vasnprintf-posix2.sh.
57293
57294         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
57295         a locale dependent decimal point, rather than always '.'.
57296
57297 2007-03-09  Eric Blake  <ebb9@byu.net>
57298
57299         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
57300         spite of platforms like Tandem/NSK that define it to -1.
57301
57302 2007-03-08  Bruno Haible  <bruno@clisp.org>
57303
57304         * modules/vprintf-posix-tests: New file.
57305         * tests/test-vprintf-posix.sh: New file.
57306         * tests/test-vprintf-posix.c: New file.
57307         * tests/test-printf-posix.h: New file.
57308
57309         * modules/vprintf-posix: New file.
57310         * lib/vprintf.c: New file.
57311         * m4/vprintf-posix.m4: New file.
57312         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
57313         REPLACE_VPRINTF.
57314         * lib/stdio_.h (vprintf): New declaration.
57315         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
57316         REPLACE_VPRINTF.
57317
57318 2007-03-08  Bruno Haible  <bruno@clisp.org>
57319
57320         * modules/fprintf-posix-tests: New file.
57321         * tests/test-fprintf-posix.sh: New file.
57322         * tests/test-fprintf-posix.c: New file.
57323
57324         * modules/fprintf-posix: New file.
57325         * lib/fprintf.c: New file.
57326         * m4/fprintf-posix.m4: New file.
57327         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
57328         REPLACE_FPRINTF.
57329         * lib/stdio_.h (fprintf): New declaration.
57330         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
57331         REPLACE_FPRINTF.
57332
57333 2007-03-08  Bruno Haible  <bruno@clisp.org>
57334
57335         * modules/vfprintf-posix-tests: New file.
57336         * tests/test-vfprintf-posix.sh: New file.
57337         * tests/test-vfprintf-posix.c: New file.
57338         * tests/test-fprintf-posix.h: New file.
57339         * tests/test-fprintf-posix.out: New file.
57340
57341         * modules/vfprintf-posix: New file.
57342         * lib/vfprintf.c: New file.
57343         * m4/vfprintf-posix.m4: New file.
57344         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
57345         REPLACE_VFPRINTF.
57346         * lib/stdio_.h (vfprintf): New declaration.
57347         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
57348         REPLACE_VFPRINTF.
57349
57350 2007-03-08  Bruno Haible  <bruno@clisp.org>
57351
57352         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
57353
57354 2007-03-08  Bruno Haible  <bruno@clisp.org>
57355
57356         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
57357         instead of 'expr' invocations.
57358         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
57359         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
57360         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
57361         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57362         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
57363         Suggested by Paul Eggert.
57364
57365 2007-03-08  Bruno Haible  <bruno@clisp.org>
57366
57367         * modules/fseterr-tests: New file.
57368         * tests/test-fseterr.c: New file.
57369
57370         * modules/fseterr: New file.
57371         * lib/fseterr.h: New file.
57372         * lib/fseterr.c: New file.
57373
57374 2007-03-08  Bruno Haible  <bruno@clisp.org>
57375
57376         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
57377         * lib/getopt_.h: Likewise.
57378         * lib/mbswidth.h: Likewise.
57379         * lib/setenv.h: Likewise.
57380         * lib/vasnprintf.h: Likewise.
57381         * lib/vasprintf.h: Likewise.
57382         * lib/verror.h: Likewise.
57383         * lib/xsetenv.h: Likewise.
57384         * lib/xvasprintf.h: Likewise.
57385
57386 2007-03-08  Jim Meyering  <jim@meyering.net>
57387
57388         * users.txt: Add parted.
57389
57390         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
57391
57392 2007-03-07  Bruno Haible  <bruno@clisp.org>
57393
57394         * m4/printf.m4: Make the shell script snippets copy&pastable.
57395
57396 2007-03-02  Bruno Haible  <bruno@clisp.org>
57397
57398         * lib/netinet_in_.h: New file.
57399         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
57400         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
57401         * modules/netinet_in (Files): Add lib/netinet_in_.h.
57402         (Depends-on): Add absolute-header.
57403         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
57404         into netinet/in.h.
57405
57406 2007-03-03  Bruno Haible  <bruno@clisp.org>
57407
57408         * lib/sys_select_.h: New file.
57409         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
57410         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
57411         * modules/sys_select (Files): Add lib/sys_select_.h.
57412         (Depends-on): Add absolute-header.
57413         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
57414         into sys/select.h.
57415
57416 2007-03-02  Bruno Haible  <bruno@clisp.org>
57417
57418         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
57419         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
57420         values.
57421         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
57422         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
57423         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
57424         * modules/sys_socket (Depends-on): Add absolute-header.
57425         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
57426         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
57427         (Include): Remove requirement of inclusion of <sys/types.h>.
57428
57429 2007-03-02  Bruno Haible  <bruno@clisp.org>
57430
57431         * lib/byteswap_.h (bswap_32): Fix formula.
57432
57433 2007-03-06  Bruno Haible  <bruno@clisp.org>
57434
57435         * modules/sprintf-posix-tests: New file.
57436         * tests/test-sprintf-posix.c: New file.
57437
57438         * modules/sprintf-posix: New file.
57439         * lib/sprintf.c: New file.
57440         * m4/sprintf-posix.m4: New file.
57441         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
57442         REPLACE_SPRINTF.
57443         * lib/stdio_.h (sprintf): New declaration.
57444         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
57445         REPLACE_SPRINTF.
57446
57447 2007-03-06  Bruno Haible  <bruno@clisp.org>
57448
57449         * modules/vsprintf-posix-tests: New file.
57450         * tests/test-vsprintf-posix.c: New file.
57451         * tests/test-sprintf-posix.h: New file.
57452
57453         * modules/vsprintf-posix: New file.
57454         * lib/vsprintf.c: New file.
57455         * m4/vsprintf-posix.m4: New file.
57456         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
57457         REPLACE_VSPRINTF.
57458         * lib/stdio_.h (vsprintf): New declaration.
57459         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
57460         REPLACE_VSPRINTF.
57461
57462 2007-03-06  Bruno Haible  <bruno@clisp.org>
57463
57464         * modules/vsnprintf (Depend-on): Remove minmax.
57465
57466 2007-03-06  Bruno Haible  <bruno@clisp.org>
57467
57468         * modules/snprintf-posix-tests: New file.
57469         * tests/test-snprintf-posix.c: New file.
57470
57471         * modules/snprintf-posix: New file.
57472         * m4/snprintf-posix.m4: New file.
57473         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
57474         gl_FUNC_SNPRINTF.
57475         (gl_FUNC_SNPRINTF): Invoke it.
57476         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
57477         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
57478         is set.
57479         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
57480
57481 2007-03-06  Bruno Haible  <bruno@clisp.org>
57482
57483         * modules/vsnprintf-posix-tests: New file.
57484         * tests/test-vsnprintf-posix.c: New file.
57485         * tests/test-snprintf-posix.h: New file.
57486
57487         * modules/vsnprintf-posix: New file.
57488         * m4/vsnprintf-posix.m4: New file.
57489         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
57490         gl_FUNC_VSNPRINTF.
57491         (gl_FUNC_VSNPRINTF): Invoke it.
57492         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
57493         * lib/stdio_.h (vsnprintf): Define as a replacement if
57494         REPLACE_VSNPRINTF is set.
57495         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
57496
57497 2007-03-06  Bruno Haible  <bruno@clisp.org>
57498
57499         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
57500         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
57501
57502 2007-03-06  Bruno Haible  <bruno@clisp.org>
57503
57504         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
57505         (asinl): Declare also if HAVE_DECL_ASINL is set.
57506         (atanl): Declare also if HAVE_DECL_ATANL is set.
57507         (ceill): Declare also if HAVE_DECL_CEILL is set.
57508         (cosl): Declare also if HAVE_DECL_COSL is set.
57509         (expl): Declare also if HAVE_DECL_EXPL is set.
57510         (floorl): Declare also if HAVE_DECL_FLOORL is set.
57511         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
57512         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
57513         (logl): Declare also if HAVE_DECL_LOGL is set.
57514         (sinl): Declare also if HAVE_DECL_SINL is set.
57515         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
57516         (tanl): Declare also if HAVE_DECL_TANL is set.
57517         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
57518         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
57519         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
57520         declaration of frexpl, ldexpl.
57521         * modules/printf-frexpl (Depends-on): Add math.
57522         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
57523
57524 2007-03-05  Bruno Haible  <bruno@clisp.org>
57525
57526         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
57527         frexpl and ldexpl are declared.
57528         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
57529
57530 2007-03-05  Bruno Haible  <bruno@clisp.org>
57531
57532         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
57533         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
57534
57535 2007-03-05  Bruno Haible  <bruno@clisp.org>
57536
57537         * lib/stdio_.h: Include <stddef.h>.
57538
57539 2007-03-05  Bruno Haible  <bruno@clisp.org>
57540
57541         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
57542
57543 2007-03-05  Bruno Haible  <bruno@clisp.org>
57544
57545         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
57546         NetBSD 4, from Ralf Wildenhues.
57547
57548 2007-03-04  Bruno Haible  <bruno@clisp.org>
57549
57550         * lib/vasprintf.h: Update #if logic for the case when the functions
57551         exist but are overridden.
57552
57553 2007-03-04  Bruno Haible  <bruno@clisp.org>
57554
57555         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
57556         implementations: glibc-2.4 and MacOS X 10.3.
57557         * tests/test-vasnprintf-posix.c (test_function): Test also the case
57558         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
57559         * tests/test-vasprintf-posix.c (test_function): Likewise.
57560
57561 2007-03-04  Bruno Haible  <bruno@clisp.org>
57562
57563         * modules/vasprintf-posix-tests: New file.
57564         * tests/test-vasprintf-posix.c: New file.
57565
57566         * modules/vasprintf-posix: New file.
57567         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
57568         defined.
57569         * m4/vasprintf-posix.m4: New file.
57570         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
57571         gl_FUNC_VASPRINTF.
57572         (gl_FUNC_VASPRINTF): Invoke it.
57573         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
57574         here.
57575         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
57576
57577 2007-03-04  Bruno Haible  <bruno@clisp.org>
57578
57579         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
57580         REPLACE_GETTIMEOFDAY.
57581         * modules/sys_time (Makefile.am): Likewise.
57582         * m4/sys_time_h.m4: Likewise.
57583         * m4/gettimeofday.m4: Likewise.
57584
57585 2007-03-04  Bruno Haible  <bruno@clisp.org>
57586
57587         * modules/vasnprintf-posix-tests: New file.
57588         * tests/test-vasnprintf-posix.c: New file.
57589
57590         * modules/vasnprintf-posix: New file.
57591         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
57592         printf-frexpl.h.
57593         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
57594         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
57595         REPLACE_VASNPRINTF is defined.
57596         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
57597         gl_FUNC_VASNPRINTF.
57598         (gl_FUNC_VASNPRINTF): Invoke it.
57599         * m4/vasnprintf-posix.m4: New file.
57600         * m4/printf.m4: New file.
57601
57602 2007-03-04  Bruno Haible  <bruno@clisp.org>
57603
57604         Compile progreloc.c only if --enable-relocatable is specified.
57605         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
57606         if --enable-relocatable was specified.
57607         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
57608         lib_SOURCES.
57609
57610 2007-03-04  Jim Meyering  <jim@meyering.net>
57611
57612         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
57613         Use it consistently, rather than enumerating errno constants.
57614
57615 2007-03-04  Bruno Haible  <bruno@clisp.org>
57616
57617         * modules/xvasprintf-tests: New file.
57618         * tests/test-xvasprintf.c: New file.
57619
57620         * modules/vasprintf-tests: New file.
57621         * tests/test-vasprintf.c: New file.
57622
57623         * modules/vasnprintf-tests: New file.
57624         * tests/test-vasnprintf.c: New file.
57625
57626         * modules/vsnprintf-tests: New file.
57627         * tests/test-vsnprintf.c: New file.
57628
57629         * modules/snprintf-tests: New file.
57630         * tests/test-snprintf.c: New file.
57631
57632 2007-03-04  Bruno Haible  <bruno@clisp.org>
57633
57634         Compile relocatable.c only if --enable-relocatable is specified.
57635         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
57636         gl_RELOCATABLE_LIBRARY.
57637         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
57638         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
57639         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
57640         gl_RELOCATABLE_LIBRARY.
57641         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
57642         (Makefile.am): Remove lib_SOURCES.
57643         * modules/relocatable-lib-lgpl (configure.ac): Invoke
57644         gl_RELOCATABLE_LIBRARY.
57645         (Makefile.am): Remove lib_SOURCES.
57646         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
57647         always.
57648         * modules/relocatable-prog-wrapper (configure.ac): Invoke
57649         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
57650
57651 2007-03-04  Bruno Haible  <bruno@clisp.org>
57652
57653         * modules/argmatch-tests: New file.
57654         * tests/test-argmatch.c: New file.
57655
57656         * tests/test-allocsa.c (main): Halve the number of loop runs.
57657
57658         * modules/alloca-opt-tests: New file.
57659         * tests/test-alloca-opt.c: New file.
57660
57661 2007-03-04  Jim Meyering  <jim@meyering.net>
57662
57663         Work around difference between Linux ACLs and Solaris 10 ZFS.
57664         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
57665         for EINVAL.
57666
57667 2007-03-03  Bruno Haible  <bruno@clisp.org>
57668
57669         * modules/relocatable-prog (Depends-on): Add back progreloc's
57670         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
57671
57672 2007-03-03  Bruno Haible  <bruno@clisp.org>
57673
57674         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
57675         * modules/relocatable-lib: New file.
57676
57677 2007-03-03  Bruno Haible  <bruno@clisp.org>
57678
57679         * modules/relocatable-prog: Renamed from modules/relocatable.
57680         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
57681
57682 2007-03-03  Bruno Haible  <bruno@clisp.org>
57683
57684         * modules/relocatable-script (Files): Add doc/relocatable.texi,
57685         m4/relocatable-lib.m4.
57686         (Depends-on): Remove 'relocatable'.
57687         (configure.ac): Add gl_RELOCATABLE_NOP.
57688
57689 2007-03-03  Bruno Haible  <bruno@clisp.org>
57690
57691         * modules/relocatable-prog-wrapper: New file.
57692         * modules/relocatable (Depends-on): Add it. Remove all other
57693         dependencies except progname.
57694         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
57695
57696         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
57697         (gl_FUNC_STRERROR): Nop.
57698         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
57699
57700         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
57701         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
57702
57703         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
57704         (gl_FUNC_READLINK): Update.
57705
57706         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
57707
57708 2007-03-03  Bruno Haible  <bruno@clisp.org>
57709
57710         * lib/xreadlink.c: Include <unistd.h> unconditionally.
57711         * modules/xreadlink (Depends-on): Add unistd.
57712         * modules/xreadlink-with-size (Depends-on): Likewise.
57713
57714 2007-03-03  Bruno Haible  <bruno@clisp.org>
57715
57716         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
57717         extracted from gt_FUNC_SETENV.
57718         (gt_FUNC_SETENV): Remove macro.
57719         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
57720         remove gt_FUNC_SETENV.
57721
57722 2007-03-03  Bruno Haible  <bruno@clisp.org>
57723
57724         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
57725         ENABLE_RELOCATABLE here.
57726         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
57727
57728 2007-03-03  Bruno Haible  <bruno@clisp.org>
57729
57730         * modules/rbtreehash-list-tests (Depends-on): Add progname.
57731         * tests/test-rbtreehash_list.c: Include progname.h.
57732         (main): Call set_program_name.
57733
57734         * modules/rbtree-oset-tests (Depends-on): Add progname.
57735         * tests/test-rbtree_oset.c: Include progname.h.
57736         (main): Call set_program_name.
57737
57738         * modules/rbtree-list-tests (Depends-on): Add progname.
57739         * tests/test-rbtree_list.c: Include progname.h.
57740         (main): Call set_program_name.
57741
57742         * modules/linked-list-tests (Depends-on): Add progname.
57743         * tests/test-linked_list.c: Include progname.h.
57744         (main): Call set_program_name.
57745
57746 2007-03-03  Bruno Haible  <bruno@clisp.org>
57747
57748         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
57749         All uses of __restrict changed to _Restrict_.
57750         * lib/glob_.h (__restrict): Remove macro.
57751
57752 2007-03-02  Bruno Haible  <bruno@clisp.org>
57753
57754         * modules/gettext (configure.ac): Require gettext infrastructure
57755         from version 0.16.1.
57756
57757 2007-03-02  Bruno Haible  <bruno@clisp.org>
57758
57759         * modules/linkedhash-list-tests (Depends-on): Add progname.
57760         * tests/test-linkedhash_list.c: Include progname.h.
57761         (main): Call set_program_name.
57762
57763         * modules/carray-list-tests (Depends-on): Add progname.
57764         * tests/test-carray_list.c: Include progname.h.
57765         (main): Call set_program_name.
57766
57767         * modules/avltreehash-list-tests (Depends-on): Add progname.
57768         * tests/test-avltreehash_list.c: Include progname.h.
57769         (main): Call set_program_name.
57770
57771         * modules/avltree-oset-tests (Depends-on): Add progname.
57772         * tests/test-avltree_oset.c: Include progname.h.
57773         (main): Call set_program_name.
57774
57775         * modules/avltree-list-tests (Depends-on): Add progname.
57776         * tests/test-avltree_list.c: Include progname.h.
57777         (main): Call set_program_name.
57778
57779         * modules/array-oset-tests (Depends-on): Add progname.
57780         * tests/test-array_oset.c: Include progname.h.
57781         (main): Call set_program_name.
57782
57783         * modules/array-list-tests (Depends-on): Add progname.
57784         * tests/test-array_list.c: Include progname.h.
57785         (main): Call set_program_name.
57786
57787         * modules/argp-tests (Depends-on): Add progname.
57788         * tests/test-argp.c: Include argp.h first. Include progname.h.
57789         (main): Call set_program_name.
57790
57791 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
57792
57793         * doc/gnulib-tool.texi (Initial import): Reword description of
57794         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
57795         limited effect even if defined after the first system include.
57796
57797 2007-03-01  Bruno Haible  <bruno@clisp.org>
57798
57799         * build-aux/config.libpath: Update to libtool-1.5.22.
57800         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57801
57802 2007-03-01  Bruno Haible  <bruno@clisp.org>
57803
57804         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
57805         foo_CFLAGS.
57806         Reported by Ralf Wildenhues.
57807
57808 2007-03-01  Bruno Haible  <bruno@clisp.org>
57809
57810         * build-aux/install-reloc: Remove object files left over by some
57811         compilers.
57812         Reported by Ralf Wildenhues.
57813
57814 2007-03-01  Bruno Haible  <bruno@clisp.org>
57815
57816         * build-aux/install-reloc: Break long lines.
57817
57818 2007-03-01  Bruno Haible  <bruno@clisp.org>
57819
57820         * doc/relocatable.texi: Document that it may not work on OpenBSD.
57821         Reported by Ralf Wildenhues.
57822
57823 2007-03-01  Bruno Haible  <bruno@clisp.org>
57824
57825         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
57826         include ordering constraints.
57827
57828 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57829
57830         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
57831         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
57832         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
57833         as another example.
57834         * lib/time_.h: Fix misspelling.
57835         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
57836         Require gl_HEADER_TIME_H_DEFAULTS.
57837         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
57838         * m4/time_r.m4 (gl_TIME_R): Likewise.
57839         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
57840
57841 2007-03-01  Bruno Haible  <bruno@clisp.org>
57842
57843         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
57844         * m4/utimens.m4 (gl_UTIMENS): Likewise.
57845
57846 2007-03-01  Jim Meyering  <jim@meyering.net>
57847
57848         * modules/xreadlink (Maintainer): Add my name.
57849         * modules/xreadlink-with-size (Depends-on): Alphabetize.
57850
57851 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
57852             Bruno Haible  <bruno@clisp.org>
57853
57854         * build-aux/install-reloc: Compile also c-ctype.c.
57855         * build-aux/relocatable.sh.in: New file.
57856         * doc/relocatable.texi: New file.
57857         * doc/relocatable-maint.texi: New file.
57858         * doc/gnulib.texi: Include relocatable-maint.texi.
57859         * lib/progreloc.c: Include unistd.h unconditionally.
57860         * lib/relocwrapper.c: Include unistd.h unconditionally.
57861         Include c-ctype.h.
57862         (add_dotbin): Use c_tolower.
57863         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
57864         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
57865         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
57866         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
57867         to m4/relocatable-lib.m4.
57868         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
57869         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
57870         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
57871         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
57872         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
57873         * modules/relocatable: New file.
57874         * modules/relocatable-lib: New file.
57875         * modules/relocatable-script: New file.
57876
57877 2007-02-28  Bruno Haible  <bruno@clisp.org>
57878
57879         Import --enable-relocatable infrastructure.
57880         * build-aux/config.libpath: New file, from GNU gettext.
57881         * build-aux/install-reloc: New file, from GNU gettext.
57882         * build-aux/reloc-ldflags: New file, from GNU gettext.
57883         * lib/relocatable.h: New file, from GNU gettext.
57884         * lib/relocatable.c: New file, from GNU gettext.
57885         * lib/relocwrapper.c: New file, from GNU gettext.
57886         * m4/relocatable.m4: New file, from GNU gettext.
57887
57888 2007-02-28  Bruno Haible  <bruno@clisp.org>
57889
57890         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
57891
57892         * modules/xreadlink: New file, from GNU gettext with modifications.
57893         * lib/xreadlink.c: New file, from GNU gettext.
57894         * lib/xreadlink.h: Add comments.
57895         (xreadlink): New declaration.
57896
57897         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
57898         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
57899         lib/xreadlink-with-size.c.
57900         (configure.ac): Remove gl_XREADLINK invocation.
57901         (Makefile.am): Augment lib_SOURCES.
57902         * m4/xreadlink.m4: Remove file.
57903         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
57904         (xreadlink_with_size): Renamed from xreadink.
57905         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
57906         * modules/canonicalize (Depends-on): Replace xreadlink with
57907         xreadlink-with-size.
57908         * lib/canonicalize.c (canonicalize_filename_mode): Update.
57909
57910 2007-02-25  Jim Meyering  <jim@meyering.net>
57911
57912         * build-aux/announce-gen: When complaining about excess arguments,
57913         list them.
57914
57915 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57916
57917         * README: Document signed integer overflow situation more
57918         accurately.
57919
57920 2007-02-25  Bruno Haible  <bruno@clisp.org>
57921
57922         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
57923         'a' or 'A' conversion.
57924
57925 2007-02-25  Bruno Haible  <bruno@clisp.org>
57926
57927         * modules/filename: Renamed from modules/pathname.
57928         (Files): Replace lib/pathname.h with lib/filename.h. Replace
57929         lib/concatpath.c with lib/concat-filename.c.
57930         (Makefile.am): Update.
57931         (Include): Replace pathname.h with filename.h.
57932         * lib/filename.h: Renamed from lib/pathname.h.
57933         (concatenated_filename): Renamed from concatenated_pathname.
57934         * lib/concat-filename.c: Renamed from lib/concatpath.c.
57935         (concatenated_filename): Renamed from concatenated_pathname.
57936         * lib/findprog.c: Include filename.h instead of pathname.h.
57937         (find_in_path): Update.
57938         * lib/javacomp.c: Include filename.h instead of pathname.h.
57939         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57940         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57941         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57942         is_oldgcj_14_13_usable, is_javac_usable): Update.
57943         * lib/javaexec.c: Include filename.h instead of pathname.h.
57944         (execute_java_class): Update.
57945         * modules/findprog: Update.
57946         * modules/javacomp: Update.
57947         * modules/javaexec: Update.
57948         * MODULES.html.sh (File system functions): Add 'filename', remove
57949         'pathname'.
57950
57951 2007-02-25  Bruno Haible  <bruno@clisp.org>
57952
57953         * modules/printf-frexpl-tests: New file.
57954         * tests/test-printf-frexpl.c: New file.
57955
57956         * modules/printf-frexpl: New file.
57957         * lib/printf-frexpl.h: New file.
57958         * lib/printf-frexpl.c: New file.
57959         * m4/printf-frexpl.m4: New file.
57960
57961 2007-02-25  Bruno Haible  <bruno@clisp.org>
57962
57963         * modules/printf-frexp-tests: New file.
57964         * tests/test-printf-frexp.c: New file.
57965
57966         * modules/printf-frexp: New file.
57967         * lib/printf-frexp.h: New file.
57968         * lib/printf-frexp.c: New file.
57969         * m4/printf-frexp.m4: New file.
57970
57971 2007-02-25  Bruno Haible  <bruno@clisp.org>
57972
57973         Assume automake >= 1.10 for the tests.
57974         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
57975         * modules/arctwo-tests: Likewise.
57976         * modules/argp-tests: Likewise.
57977         * modules/avltree-list-tests: Likewise.
57978         * modules/avltree-oset-tests: Likewise.
57979         * modules/avltreehash-list-tests: Likewise.
57980         * modules/carray-list-tests: Likewise.
57981         * modules/crc-tests: Likewise.
57982         * modules/des-tests: Likewise.
57983         * modules/gc-arcfour-tests: Likewise.
57984         * modules/gc-arctwo-tests: Likewise.
57985         * modules/gc-des-tests: Likewise.
57986         * modules/gc-hmac-md5-tests: Likewise.
57987         * modules/gc-hmac-sha1-tests: Likewise.
57988         * modules/gc-md2-tests: Likewise.
57989         * modules/gc-md4-tests: Likewise.
57990         * modules/gc-md5-tests: Likewise.
57991         * modules/gc-pbkdf2-sha1-tests: Likewise.
57992         * modules/gc-rijndael-tests: Likewise.
57993         * modules/gc-sha1-tests: Likewise.
57994         * modules/gc-tests: Likewise.
57995         * modules/getaddrinfo-tests: Likewise.
57996         * modules/hmac-md5-tests: Likewise.
57997         * modules/hmac-sha1-tests: Likewise.
57998         * modules/linked-list-tests: Likewise.
57999         * modules/linkedhash-list-tests: Likewise.
58000         * modules/lock-tests: Likewise.
58001         * modules/md2-tests: Likewise.
58002         * modules/md4-tests: Likewise.
58003         * modules/md5-tests: Likewise.
58004         * modules/rbtree-list-tests: Likewise.
58005         * modules/rbtree-oset-tests: Likewise.
58006         * modules/rbtreehash-list-tests: Likewise.
58007         * modules/read-file-tests: Likewise.
58008         * modules/rijndael-tests: Likewise.
58009         * modules/stdint-tests: Likewise.
58010         * modules/tls-tests: Likewise.
58011
58012 2007-02-24  Bruno Haible  <bruno@clisp.org>
58013
58014         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
58015         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
58016         function; instead check whether isnan with a double argument links.
58017         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
58018         function; instead check whether isnan with a 'long double' argument
58019         links.
58020         Reported by Eric Blake <ebb9@byu.net>.
58021
58022 2007-02-24  Bruno Haible  <bruno@clisp.org>
58023
58024         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
58025         defined.
58026         * lib/isnanl.c: Remove all code. Just include isnan.c.
58027         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
58028
58029 2007-02-25  Jim Meyering  <jim@meyering.net>
58030
58031         Avoid conflicting types for 'unsetenv' on FreeBSD.
58032         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
58033         conflicting with FreeBSD's (5.0 and 6.1) function declaration
58034         in stdlib.h.
58035
58036 2007-02-24  Bruno Haible  <bruno@clisp.org>
58037
58038         * modules/isnanl-nolibm-tests: New file.
58039         * tests/test-isnanl.c: New file.
58040
58041         * modules/isnanl-nolibm: New file.
58042         * lib/isnanl.h: New file.
58043         * lib/isnanl.c: New file.
58044         * m4/isnanl.m4: New file.
58045
58046 2007-02-24  Bruno Haible  <bruno@clisp.org>
58047
58048         * modules/isnan-nolibm-tests: New file.
58049         * tests/test-isnan.c: New file.
58050
58051         * modules/isnan-nolibm: New file.
58052         * lib/isnan.h: New file.
58053         * lib/isnan.c: New file.
58054         * m4/isnan.m4: New file.
58055
58056 2007-02-24  Bruno Haible  <bruno@clisp.org>
58057
58058         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
58059         assume that an exponent fits in 20 bits.
58060
58061 2007-02-24  Jim Meyering  <jim@meyering.net>
58062
58063         * m4/regex.m4: Update the description of the configure-time option,
58064         --without-included-regex, to state accurately what the defaults are,
58065         and perhaps to give people an idea why using this option is risky.
58066
58067 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
58068
58069         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
58070         loops on small arguments.  This attempts to avoid the problem
58071         Bruno Haible reported for AIX 4.3.2 in
58072         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
58073
58074 2007-02-23  Bruno Haible  <bruno@clisp.org>
58075
58076         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
58077         Needed for help2man.
58078
58079 2007-02-23  Karl Berry  <karl@gnu.org>
58080
58081         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
58082         exists, foo.h should be cvs-ignored, not committed.
58083
58084 2007-02-23  Eric Blake  <ebb9@byu.net>
58085
58086         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
58087         * lib/stat-time.h (includes): Likewise.
58088         * lib/utimecmp.c (includes): Likewise.
58089         * lib/utimens.h (includes): Likewise.
58090         * lib/getdate.y (includes): Also include "timespec.h" for use
58091         internal to the module.
58092         * modules/utimens (Depends-on): Revert yesterday's patch.
58093         * modules/nanosleep (Depends-on): Add missing dependency.
58094
58095 2007-02-22  Bruno Haible  <bruno@clisp.org>
58096
58097         * lib/glob.c: Don't include getlogin_r.h.
58098
58099 2007-02-22  Jim Meyering  <jim@meyering.net>
58100
58101         * modules/utimens (Depends-on): Add timespec, required for
58102         utimens.h's inclusion of timespec.h.
58103
58104 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
58105
58106         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
58107         long unreadable paths in GNU/Linux.  Problem reported by Andreas
58108         Schwab in
58109         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
58110         I'll try to think of a better way to fix the Solaris problem.
58111
58112         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
58113         like glibc; on Solaris 10, it fails with errno == EINVAL.
58114         POSIX says the behavior is unspecified if the first argument is NULL,
58115         so play it safe and never pass NULL to the system getcwd.
58116
58117 2007-02-21  Jim Meyering  <jim@meyering.net>
58118
58119         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
58120         of gettimeofday.  It would conflict with the one now always
58121         provided via sys_time_.h.  Reported by Matthew Woehlke, as
58122         an IRIX 6.5 build failure.
58123
58124 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
58125
58126         Minor fixups to port to Solaris 10 with Sun C 5.8.
58127         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
58128         * modules/getcwd (Depends-on): Add dirfd.
58129         * lib/putenv.c (putenv): #undef it.
58130         (rpl_putenv): New decl.
58131         (malloc, free): Include <stdlib.h> rather than prototyping separately.
58132
58133 2007-02-20  Bruno Haible  <bruno@clisp.org>
58134
58135         * modules/stdio-tests: New file.
58136         * tests/test-stdio.c: New file.
58137
58138         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
58139         (Depends-on): Add stdio.
58140         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
58141         (Include): Use <stdio.h> instead of vsnprintf.h.
58142         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
58143         HAVE_DECL_VSNPRINTF.
58144         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
58145
58146         * modules/snprintf (Files): Remove lib/snprintf.h.
58147         (Depends-on): Add stdio.
58148         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
58149         (Include): Use <stdio.h> instead of snprintf.h.
58150         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
58151         HAVE_DECL_SNPRINTF.
58152         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
58153         * lib/getaddrinfo.c: Likewise.
58154
58155         * modules/stdio: New file.
58156         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
58157         * lib/snprintf.h: Remove file.
58158         * lib/vsnprintf.h: Remove file.
58159         * lib/.cppi-disable: Remove snprintf.h.
58160         * m4/stdio_h.m4: New file.
58161         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
58162
58163 2007-02-20  Jim Meyering  <jim@meyering.net>
58164
58165         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
58166         used by e.g., mingw.  From Bruno Haible.
58167
58168 2007-02-19  Bruno Haible  <bruno@clisp.org>
58169
58170         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
58171         warnings.
58172         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58173
58174 2007-02-19  Bruno Haible  <bruno@clisp.org>
58175
58176         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
58177         from mingw users.
58178
58179 2007-02-19  Bruno Haible  <bruno@clisp.org>
58180
58181         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
58182         warnings.
58183         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
58184
58185 2007-02-19  Jim Meyering  <jim@meyering.net>
58186
58187         Don't use FD after a successful "fdopendir (fd)".
58188         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
58189         Reset it by calling dirfd on the just-obtained DIR*.
58190
58191         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
58192         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
58193
58194 2007-02-18  Bruno Haible  <bruno@clisp.org>
58195
58196         * lib/readlink.c: Include <unistd.h>.
58197         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
58198         HAVE_READLINK.
58199         * modules/readlink (Depends-on): Add unistd.
58200         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58201         (Include): Add <unistd.h>.
58202
58203         * lib/getlogin_r.h: Remove file.
58204         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
58205         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
58206         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
58207         HAVE_DECL_GETLOGIN_R.
58208         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
58209         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58210         (Include): Use <unistd.h> instead of getlogin_r.h.
58211
58212         * lib/getcwd.h: Remove file.
58213         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
58214         * lib/xgetcwd.c: Likewise.
58215         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
58216         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
58217         * modules/getcwd (Files): Remove lib/getcwd.h.
58218         (Depends-on): Add unistd.
58219         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58220         (Include): Use <unistd.h> instad of getcwd.h.
58221
58222         * lib/ftruncate.c: Include <unistd.h> first.
58223         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
58224         Set HAVE_FTRUNCATE.
58225         * modules/ftruncate (Depends-on): Add unistd.
58226         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58227
58228         * lib/fchdir.c: Include <unistd.h> first.
58229         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
58230         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
58231         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
58232         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58233         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
58234
58235         * lib/dup2.c: Include <unistd.h> first.
58236         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
58237         HAVE_DUP2.
58238         * modules/dup2 (Depends-on): Add unistd.
58239         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58240
58241         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
58242         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
58243         REPLACE_CHOWN. Don't define chown as a macro here.
58244         * modules/chown (Depends-on): Add unistd.
58245         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
58246
58247         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
58248         Add definition for GL_LINK_WARNING.
58249         (chown, dup2): New declarations.
58250         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
58251         link warning.
58252         (ftruncate): New declaration.
58253         (getcwd): New declaration, taken from old getcwd.h.
58254         (getlogin_r): New declaration, taken from old getlogin_r.h.
58255         (readlink): New declaration.
58256         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
58257         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
58258         (gl_PREREQ_UNISTD): Remove macro.
58259         (gl_UNISTD_MODULE_INDICATOR): New macro.
58260         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
58261         many new variables. Don't set UNISTD_H.
58262         * modules/unistd (Description): Change.
58263         (Depends-on): Add link-warning.
58264         (configure.ac): Update.
58265         (Makefile.am): Create unistd.h always. Substitute many new variables
58266         into it.
58267
58268 2007-02-18  Bruno Haible  <bruno@clisp.org>
58269
58270         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
58271         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
58272         HAVE_GETSUBOPT.
58273         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
58274         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
58275         * lib/getsubopt.h: Remove file.
58276         * modules/getsubopt (Files): Remove lib/getsubopt.h.
58277         (Depends-on): Add stdlib.
58278         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58279         (Includes): Use <stdlib.h> instead of getsubopt.h.
58280         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
58281         Set HAVE_GETSUBOPT.
58282         * lib/getsubopt.c: Don't include getsubopt.h.
58283
58284 2007-02-18  Bruno Haible  <bruno@clisp.org>
58285
58286         * modules/fchdir (Depends-on): Add dup2.
58287
58288 2007-02-18  Bruno Haible  <bruno@clisp.org>
58289
58290         * lib/stdlib_.h: Handle glibc's special invocation convention
58291         specially.
58292
58293 2007-02-18  Bruno Haible  <bruno@clisp.org>
58294
58295         * modules/stdlib-tests: New file.
58296         * tests/test-stdlib.c: New file.
58297
58298         * modules/mkstemp (Files): Remove lib/mkstemp.h.
58299         (Depends-on): Add stdlib.
58300         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58301         (Includes): Use <stdlib.h> instead of mkstemp.h.
58302         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
58303         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
58304         * lib/mkstemp.c: Don't include mkstemp.h.
58305         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
58306         * lib/stdlib--.h: Don't include mkstemp.h.
58307
58308         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
58309         (Depends-on): Add stdlib.
58310         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58311         (Includes): Use <stdlib.h> instead of mkdtemp.h.
58312         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
58313         HAVE_MKDTEMP.
58314         * lib/mkdtemp.c: Don't include mkdtemp.h.
58315         * lib/clean-temp.c: Don't include mkdtemp.h.
58316
58317         * modules/exit (Files): Remove lib/exit.h.
58318         (Depends-on): Add stdlib.
58319         (Makefile.am): Remove lib_SOURCES.
58320         (Include): Use <stdlib.h> instead of exit.h.
58321         * lib/argmatch.c: Don't include exit.h.
58322         * lib/execute.c: Likewise.
58323         * lib/pagealign_alloc.c: Likewise.
58324         * lib/pipe.c: Likewise.
58325         * lib/wait-process.c: Likewise.
58326         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
58327         * lib/exitfail.c: Likewise.
58328         * lib/savewd.c: Likewise.
58329         * lib/xsetenv.c: Likewise.
58330
58331         * modules/stdlib: New file.
58332         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
58333         and extra comments about mkstemp().
58334         * lib/exit.h: Remove file.
58335         * lib/mkdtemp.h: Remove file.
58336         * lib/mkstemp.h: Remove file.
58337         * m4/stdlib_h.m4: New file.
58338         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
58339
58340 2007-02-18  Bruno Haible  <bruno@clisp.org>
58341
58342         * modules/math-tests: New file.
58343         * tests/test-math.c: New file.
58344
58345         * modules/math: New file.
58346         * modules/mathl (Files): Remove lib/mathl.h.
58347         (Depends-on): Add math.
58348         (Makefile.am): Don't mention mathl.h.
58349         (Include): Use <math.h> instead of mathl.h.
58350         * lib/math_.h: New file.
58351         * lib/mathl.h: Remove file.
58352         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
58353         mathl.h.
58354         * lib/asinl.c: Likewise.
58355         * lib/atanl.c: Likewise.
58356         * lib/ceill.c: Likewise.
58357         * lib/cosl.c: Likewise.
58358         * lib/expl.c: Likewise.
58359         * lib/floorl.c: Likewise.
58360         * lib/frexpl.c: Likewise.
58361         * lib/ldexpl.c: Likewise.
58362         * lib/logl.c: Likewise.
58363         * lib/sincosl.c: Likewise.
58364         * lib/sinl.c: Likewise.
58365         * lib/sqrtl.c: Likewise.
58366         * lib/tanl.c: Likewise.
58367         * lib/trigl.c: Likewise.
58368         * m4/math_h.m4: New file.
58369         * MODULES.html.sh (Mathematics): Add math.
58370
58371 2007-02-17  Bruno Haible  <bruno@clisp.org>
58372
58373         * modules/wctype-tests: New file.
58374         * tests/test-wctype.c: New file.
58375
58376         * modules/wchar-tests: New file.
58377         * tests/test-wchar.c: New file.
58378
58379         * modules/unistd-tests: New file.
58380         * tests/test-unistd.c: New file.
58381
58382         * modules/time-tests: New file.
58383         * tests/test-time.c: New file.
58384
58385         * modules/sysexits-tests: New file.
58386         * tests/test-sysexits.c: New file.
58387
58388         * modules/sys_time-tests: New file.
58389         * tests/test-sys_time.c: New file.
58390
58391         * modules/sys_stat-tests: New file.
58392         * tests/test-sys_stat.c: New file.
58393
58394         * modules/sys_socket-tests: New file.
58395         * tests/test-sys_socket.c: New file.
58396
58397         * modules/sys_select-tests: New file.
58398         * tests/test-sys_select.c: New file.
58399
58400         * modules/string-tests: New file.
58401         * tests/test-string.c: New file.
58402
58403         * modules/stdbool-tests: New file.
58404         * tests/test-stdbool.c: New file.
58405
58406         * modules/netinet_in-tests: New file.
58407         * tests/test-netinet_in.c: New file.
58408
58409         * modules/inttypes-tests: New file.
58410         * tests/test-inttypes.c: New file.
58411
58412         * modules/fcntl-tests: New file.
58413         * tests/test-fcntl.c: New file.
58414
58415         * modules/byteswap-tests: New file.
58416         * tests/test-byteswap.c: New file.
58417
58418         * modules/arpa_inet-tests: New file.
58419         * tests/test-arpa_inet.c: New file.
58420
58421 2007-02-17  Bruno Haible  <bruno@clisp.org>
58422
58423         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
58424         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
58425         if the corresponding module is not enabled. Emit link warnings if
58426         the function is used nevertheless.
58427         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
58428         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
58429         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
58430         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
58431         * modules/inttypes (Depends-on): Add link-warning.
58432         (Makefile.am): Copy the contents of build-aux/link-warning.h into
58433         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
58434         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
58435         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
58436         * modules/imaxdiv (configure.ac): Likewise.
58437         * modules/strtoimax (configure.ac): Likewise.
58438         * modules/strtoumax (configure.ac): Likewise.
58439
58440 2007-02-17  Bruno Haible  <bruno@clisp.org>
58441
58442         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
58443         gl_STRING_MODULE_INDICATOR_DEFAULTS.
58444         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
58445         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
58446
58447 2007-02-17  Bruno Haible  <bruno@clisp.org>
58448
58449         * modules/link-warning: New file.
58450         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
58451         * lib/string_.h (GL_LINK_WARNING): Remove definition.
58452         * modules/string (Depends-on): Add link-warning.
58453         (Makefile.am): Copy the contents of build-aux/link-warning.h into
58454         string.h.
58455         * MODULES.html.sh (Support for building libraries and executables): Add
58456         link-warning.
58457
58458 2007-02-17  Bruno Haible  <bruno@clisp.org>
58459
58460         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
58461         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
58462         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
58463         long lines.
58464
58465 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
58466             Bruno Haible  <bruno@clisp.org>
58467
58468         * modules/tmpfile: New file.
58469         * lib/tmpfile.c: New file.
58470         * m4/tmpfile.m4: New file.
58471         * MODULES.html.sh (func_all_modules): New section "Input/output".
58472
58473 2007-02-15  Bruno Haible  <bruno@clisp.org>
58474
58475         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
58476         (supports_delete_on_close): New function.
58477         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
58478
58479 2007-02-14  Bruno Haible  <bruno@clisp.org>
58480
58481         * modules/mbspcasecmp-tests: New file.
58482         * tests/test-mbspcasecmp.sh: New file.
58483         * tests/test-mbspcasecmp.c: New file.
58484
58485         New module mbspcasecmp.
58486         * modules/mbspcasecmp: New file.
58487         * lib/mbspcasecmp.c: New file.
58488         * lib/string_.h (strncasecmp): Change warning message.
58489         (mbspcasecmp): New declaration.
58490         * m4/mbspcasecmp.m4: New file.
58491         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58492         GNULIB_MBSPCASECMP.
58493         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
58494         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
58495
58496 2007-02-14  Bruno Haible  <bruno@clisp.org>
58497
58498         * modules/mbsncasecmp-tests: New file.
58499         * tests/test-mbsncasecmp.sh: New file.
58500         * tests/test-mbsncasecmp.c: New file.
58501
58502         New module mbsncasecmp.
58503         * modules/mbsncasecmp: New file.
58504         * lib/mbsncasecmp.c: New file.
58505         * lib/string_.h (mbsncasecmp): New declaration.
58506         * m4/mbsncasecmp.m4: New file.
58507         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58508         GNULIB_MBSNCASECMP.
58509         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
58510         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
58511
58512 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
58513
58514         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
58515         Verify that it doesn't overlap with our flags.
58516         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
58517         do not have the desired effect in multibyte locales; instead, use
58518         mbscasecmp.
58519         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
58520         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
58521         we don't require GNU fnmatch ourselves (if our users require it, they
58522         should do so explicitly).
58523
58524         Fix regex code so it doesn't rely on strcasecmp.
58525         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
58526         Otherwise, include gnulib's langinfo.h.
58527         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
58528         undesirable behavior in non-C locales.  Instead, rely on localecharset.
58529         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
58530         * modules/regex (FILES): Remove m4/codeset.m4.
58531         (Depends-on): Add localcharset.  Remove strcase.
58532
58533 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58534
58535         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
58536         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
58537
58538 2007-02-13  Bruno Haible  <bruno@clisp.org>
58539
58540         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
58541         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58542
58543 2007-02-12  Bruno Haible  <bruno@clisp.org>
58544
58545         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
58546         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
58547         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
58548         time warning rather than a link error.
58549
58550 2007-02-12  Bruno Haible  <bruno@clisp.org>
58551
58552         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
58553         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58554         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58555
58556 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58557
58558         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
58559         args, not 2.
58560
58561 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58562
58563         New module 'time', so that apps can include <time.h> as per
58564         POSIX and GNU instead of separate include files like time_r.h
58565         and timegm.h.  This implementation tries out a simpler approach
58566         for replacing decls in standard include files (as compared to
58567         the string module), somewhat as an experiment.
58568
58569         * config/srclist.txt: Comment out mktime.c for now.
58570         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
58571         since it doesn't apply any more.  Use generic wording instead.
58572         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
58573         'time'.
58574         * lib/time_.h, m4/time_h.m4, modules/time: New files.
58575         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
58576         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
58577         Don't include <sys/types.h>; no longer needed since we assume C89.
58578         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
58579         * lib/strftime.c: Likewise.
58580         * lib/time_r.c: Likewise.
58581         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
58582         * lib/nanosleep.c: Include <time.h> first, to check interface.
58583         * lib/strptime.c: Likewise.
58584         * lib/time_r.c: Likewise.
58585         * lib/timegm.c: Likewise.
58586         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
58587         needed.
58588         * lib/timegm.c: Don't include timegm.h; no longer needed.
58589         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
58590         time.h now handles any problems in that area.
58591         (struct timespec, nanosleep): Remove; time.h now arranges for these.
58592         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
58593         that time.h defines struct timespec.
58594         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
58595         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
58596         handles that.
58597         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
58598         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
58599         needed.  Set REPLACE_LOCALTIME.
58600         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
58601         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
58602         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
58603         nanosleep; time_h.m4 now does that.  Don't require
58604         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
58605         module handles this now.
58606         * modules/getdate (Depends-on): Remove timespec.  Add time.
58607         * modules/nanosleep (Depends-on): Likewise.
58608         * modules/stat-time (Depends-on): Likewise.
58609         * modules/nanosleep (Include): Include time.h, not timespec.h.
58610         * modules/strptime (Files): Remove lib/strptime.h.
58611         (Depends-on): Add extensions, time.
58612         (Include): Include time.h, not strptime.h.
58613         * modules/time_r (Files): Remove lib/time_r.h.
58614         (Depends-on): Add time.
58615         (Include): Include time.h, not time_r.h.
58616         * modules/timegm: Likewise.
58617         * modules/timespec (Description): Now does timespec-related decls
58618         of our own, instead of struct timespec itself.
58619         (Depends-on): Add time; remove extensions.
58620         (Maintainer): Add self.
58621         * modules/utimecmp (Depends-on): Add time; remove timespec.
58622         * modules/utimens (Depends-on): Likewise.
58623         * modules/xnanosleep (Depends-on): Likewise.
58624
58625 2007-02-11  Bruno Haible  <bruno@clisp.org>
58626
58627         * lib/c-strstr.c: Include allocsa.h.
58628         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
58629         * lib/c-strcasestr.c: Include allocsa.h.
58630         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
58631         * lib/strcasestr.c: Include allocsa.h.
58632         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
58633         * lib/mbsstr.c: Include allocsa.h.
58634         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
58635         allocsa/freesa instead of malloc/free.
58636         * lib/mbscasestr.c: Include allocsa.h.
58637         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
58638         allocsa/freesa instead of malloc/free.
58639         * modules/c-strstr (Depends-on): Add allocsa.
58640         * modules/c-strcasestr (Depends-on): Likewise.
58641         * modules/strcasestr (Depends-on): Likewise.
58642         * modules/mbsstr (Depends-on): Likewise.
58643         * modules/mbscasestr (Depends-on): Likewise.
58644
58645 2007-02-11  Bruno Haible  <bruno@clisp.org>
58646
58647         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
58648
58649         * modules/mbsspn-tests: New file.
58650         * tests/test-mbsspn.sh: New file.
58651         * tests/test-mbsspn.c: New file.
58652
58653 2007-02-11  Bruno Haible  <bruno@clisp.org>
58654
58655         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
58656
58657         * modules/mbspbrk-tests: New file.
58658         * tests/test-mbspbrk.sh: New file.
58659         * tests/test-mbspbrk.c: New file.
58660
58661 2007-02-11  Bruno Haible  <bruno@clisp.org>
58662
58663         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
58664         unneeded cast.
58665
58666         * modules/mbscspn-tests: New file.
58667         * tests/test-mbscspn.sh: New file.
58668         * tests/test-mbscspn.c: New file.
58669
58670 2007-02-11  Bruno Haible  <bruno@clisp.org>
58671
58672         * modules/mbscasecmp-tests: New file.
58673         * tests/test-mbscasecmp.sh: New file.
58674         * tests/test-mbscasecmp.c: New file.
58675
58676 2007-02-11  Bruno Haible  <bruno@clisp.org>
58677
58678         Ensure O(n) worst-case complexity of mbscasestr.
58679         * lib/mbscasestr.c: Include stdbool.h.
58680         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
58681         functions.
58682         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
58683         the bookkeeping indicates that it's worth it.
58684         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
58685
58686         * modules/mbscasestr-tests: New file.
58687         * tests/test-mbscasestr1.c: New file.
58688         * tests/test-mbscasestr2.sh: New file.
58689         * tests/test-mbscasestr2.c: New file.
58690         * tests/test-mbscasestr3.sh: New file.
58691         * tests/test-mbscasestr3.c: New file.
58692         * tests/test-mbscasestr4.sh: New file.
58693         * tests/test-mbscasestr4.c: New file.
58694         * m4/locale-tr.m4: New file.
58695
58696 2007-02-11  Bruno Haible  <bruno@clisp.org>
58697
58698         Ensure O(n) worst-case complexity of mbsstr.
58699         * lib/mbsstr.c: Include stdbool.h.
58700         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
58701         functions.
58702         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
58703         bookkeeping indicates that it's worth it.
58704         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
58705
58706         * modules/mbsstr-tests: New file.
58707         * tests/test-mbsstr1.c: New file.
58708         * tests/test-mbsstr2.sh: New file.
58709         * tests/test-mbsstr2.c: New file.
58710         * tests/test-mbsstr3.sh: New file.
58711         * tests/test-mbsstr3.c: New file.
58712         * m4/locale-fr.m4: New file.
58713
58714 2007-02-11  Bruno Haible  <bruno@clisp.org>
58715
58716         * lib/mbsrchr.c (mbsrchr): Fix bug.
58717
58718         * modules/mbsrchr-tests: New file.
58719         * tests/test-mbsrchr.sh: New file.
58720         * tests/test-mbsrchr.c: New file.
58721
58722 2007-02-11  Bruno Haible  <bruno@clisp.org>
58723
58724         * lib/mbschr.c (mbschr): Fix bug.
58725
58726         * modules/mbschr-tests: New file.
58727         * tests/test-mbschr.sh: New file.
58728         * tests/test-mbschr.c: New file.
58729         * m4/locale-zh.m4: New file.
58730
58731 2007-02-11  Bruno Haible  <bruno@clisp.org>
58732
58733         Support for copying multibyte string iterators.
58734         * lib/mbiter.h: Include <string.h>.
58735         (mbiter_multi_copy): New function.
58736         (mbi_copy): New macro.
58737         * lib/mbuiter.h: Include <string.h>.
58738         (mbuiter_multi_copy): New function.
58739         (mbui_copy): New macro.
58740
58741 2007-02-11  Bruno Haible  <bruno@clisp.org>
58742
58743         New module mbslen.
58744         * modules/mbslen: New file.
58745         * lib/mbslen.c: New file.
58746         * lib/string_.h (mbslen): New declaration.
58747         * m4/mbslen.m4: New file.
58748         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58749         GNULIB_MBSLEN.
58750         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
58751         * MODULES.html.sh (Internationalization functions): Add mbslen.
58752
58753 2007-02-11  Bruno Haible  <bruno@clisp.org>
58754
58755         Ensure O(n) worst-case complexity of strcasestr substitute.
58756         * lib/strcasestr.c: Include stdbool.h.
58757         (knuth_morris_pratt): New function.
58758         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
58759         bookkeeping indicates that it's worth it.
58760         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
58761
58762         * modules/strcasestr-tests: New file.
58763         * tests/test-strcasestr.c: New file.
58764
58765 2007-02-11  Bruno Haible  <bruno@clisp.org>
58766
58767         Ensure O(n) worst-case complexity of c_strcasestr.
58768         * lib/c-strcasestr.c: Include stdbool.h, string.h.
58769         (knuth_morris_pratt): New function.
58770         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
58771         the bookkeeping indicates that it's worth it.
58772         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
58773
58774         * modules/c-strcasestr-tests: New file.
58775         * tests/test-c-strcasestr.c: New file.
58776
58777 2007-02-11  Bruno Haible  <bruno@clisp.org>
58778
58779         Ensure O(n) worst-case complexity of c_strstr.
58780         * lib/c-strstr.c: Include stdbool.h, string.h.
58781         (knuth_morris_pratt): New function.
58782         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
58783         bookkeeping indicates that it's worth it.
58784         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
58785
58786         * lib/c-strstr.c: Complete rewrite for maintainability.
58787
58788         * modules/c-strstr-tests: New file.
58789         * tests/test-c-strstr.c: New file.
58790
58791 2007-02-11  Bruno Haible  <bruno@clisp.org>
58792
58793         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
58794         5.2.1 and earlier, whereby \055 was treated just like the range
58795         delimiter '-'.
58796         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58797
58798 2007-02-08  Bruno Haible  <bruno@clisp.org>
58799
58800         * modules/regex (Depends-on): Add stdbool.
58801         Reported by Dalibor Topic <robilad@kaffe.org>.
58802
58803 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
58804
58805         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
58806         Prefer returning from main to exiting from it.
58807         Remove unnecessary parens after sizeof.
58808
58809 2007-02-05  Bruno Haible  <bruno@clisp.org>
58810
58811         New module mbssep.
58812         * modules/mbssep: New file.
58813         * lib/mbssep.c: New file.
58814         * lib/string_.h (strsep): Add a conditional link warning.
58815         (mbssep): New declaration.
58816         * m4/mbssep.m4: New file.
58817         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58818         GNULIB_MBSSEP.
58819         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
58820         * MODULES.html.sh (Internationalization functions): Add mbssep.
58821
58822 2007-02-05  Bruno Haible  <bruno@clisp.org>
58823
58824         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
58825         Optimize search in case of 1 delimiter.
58826
58827 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
58828
58829         * lib/acl.h: Include sys/types.h before sys/acl.h.
58830
58831 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
58832
58833         Merge upstream fix for glibc bugzilla #3957:
58834
58835         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
58836
58837         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
58838         bit for RE_HAT_LISTS_NOT_NEWLINE.
58839         (build_charclass_op): Remove bogus comment.
58840
58841 2007-02-05  Simon Josefsson  <simon@josefsson.org>
58842
58843         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
58844
58845 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
58846
58847         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
58848         * lib/memmem.c [!defined _LIBC]: Include config.h.
58849
58850 2007-02-04  Bruno Haible  <bruno@clisp.org>
58851
58852         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
58853         warning message.
58854
58855 2007-02-04  Bruno Haible  <bruno@clisp.org>
58856
58857         New module mbstok_r.
58858         * modules/mbstok_r: New file.
58859         * lib/mbstok_r.c: New file.
58860         * lib/string_.h (strtok_r): Change argument names to match the
58861         comments. Add a conditional link warning.
58862         (mbstok_r): New declaration.
58863         * m4/mbstok_r.m4: New file.
58864         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58865         GNULIB_MBSTOK_R.
58866         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
58867         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
58868
58869 2007-02-04  Bruno Haible  <bruno@clisp.org>
58870
58871         New module mbsspn.
58872         * modules/mbsspn: New file.
58873         * lib/mbsspn.c: New file.
58874         * lib/string_.h (strspn): Add a conditional link warning.
58875         (mbsspn): New declaration.
58876         * m4/mbsspn.m4: New file.
58877         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58878         GNULIB_MBSSPN.
58879         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
58880         * MODULES.html.sh (Internationalization functions): Add mbsspn.
58881
58882 2007-02-04  Bruno Haible  <bruno@clisp.org>
58883
58884         New module mbspbrk.
58885         * modules/mbspbrk: New file.
58886         * lib/mbspbrk.c: New file.
58887         * lib/string_.h (strpbrk): Add a conditional link warning.
58888         (mbspbrk): New declaration.
58889         * m4/mbspbrk.m4: New file.
58890         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58891         GNULIB_MBSPBRK.
58892         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
58893         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
58894
58895 2007-02-04  Bruno Haible  <bruno@clisp.org>
58896
58897         New module mbscspn.
58898         * modules/mbscspn: New file.
58899         * lib/mbscspn.c: New file.
58900         * lib/string_.h (strcspn): Add a conditional link warning.
58901         (mbscspn): New declaration.
58902         * m4/mbscspn.m4: New file.
58903         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58904         GNULIB_MBSCSPN.
58905         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
58906         * MODULES.html.sh (Internationalization functions): Add mbscspn.
58907
58908 2007-02-04  Bruno Haible  <bruno@clisp.org>
58909
58910         New module mbscasestr, reduced goal of strcasestr.
58911         * modules/mbscasestr: New file.
58912         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
58913         (mbscasestr): Renamed from strcasestr.
58914         * lib/strcasestr.c: Don't include mbuiter.h.
58915         (strcasestr): Remove support for multibyte locales.
58916         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
58917         Change the conditional link warning.
58918         (mbscasestr): New declaration.
58919         * m4/mbscasestr.m4: New file.
58920         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
58921         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
58922         REPLACE_STRCASESTR.
58923         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
58924         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58925         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
58926         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
58927         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
58928         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
58929         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
58930         (Depends-on): Remove mbuiter.
58931         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
58932
58933 2007-02-04  Bruno Haible  <bruno@clisp.org>
58934
58935         Simplify handling of strncasecmp.
58936         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
58937         the conditional link warning.
58938         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
58939         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
58940         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
58941         * modules/strcase (configure.ac): Don't invoke
58942         gl_STRING_MODULE_INDICATOR.
58943         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
58944
58945 2007-02-04  Bruno Haible  <bruno@clisp.org>
58946
58947         New module mbscasecmp, reduced goal of strcasecmp.
58948         * modules/mbscasecmp: New file.
58949         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
58950         (mbscasecmp): Renamed from strcasecmp.
58951         * lib/strcasecmp.c: Don't include mbuiter.h.
58952         (strcasecmp): Remove support for multibyte locales.
58953         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
58954         Change the conditional link warning.
58955         (mbscasecmp): New declaration.
58956         * m4/mbscasecmp.m4: New file.
58957         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
58958         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
58959         REPLACE_STRCASECMP.
58960         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
58961         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58962         GNULIB_MBSCASECMP.
58963         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
58964         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
58965         * modules/strcase (Files): Remove m4/mbrtowc.m4.
58966         (Depends-on): Remove mbuiter.
58967         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
58968
58969 2007-02-04  Bruno Haible  <bruno@clisp.org>
58970
58971         New module mbsstr. Remove module strstr.
58972         * modules/mbsstr: New file.
58973         * modules/strstr: Remove file.
58974         * lib/mbsstr.c: Renamed from lib/strstr.c.
58975         (mbsstr): Renamed from strstr.
58976         * lib/string_.h (strstr): Remove declaration. Change the conditional
58977         link warning.
58978         (mbsstr): New declaration.
58979         * m4/mbsstr.m4: New file.
58980         * m4/strstr.m4: Remove file.
58981         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
58982         REPLACE_STRSTR.
58983         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
58984         Don't initialize GNULIB_STRSTR.
58985         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
58986         substitute GNULIB_STRSTR and REPLACE_STRSTR.
58987         * MODULES.html.sh (Internationalization functions): Add mbsstr.
58988         (Support for systems lacking ANSI C 89): Remove strstr.
58989
58990 2007-02-04  Bruno Haible  <bruno@clisp.org>
58991
58992         New module mbsrchr.
58993         * modules/mbsrchr: New file.
58994         * lib/mbsrchr.c: New file.
58995         * lib/string_.h (strrchr): Add a conditional link warning.
58996         (mbsrchr): New declaration.
58997         * m4/mbsrchr.m4: New file.
58998         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
58999         GNULIB_MBSRCHR.
59000         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
59001         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
59002
59003 2007-02-04  Bruno Haible  <bruno@clisp.org>
59004
59005         New module mbschr.
59006         * modules/mbschr: New file.
59007         * lib/mbschr.c: New file.
59008         * lib/string_.h (strchr): Add a conditional link warning.
59009         (mbschr): New declaration.
59010         * m4/mbschr.m4: New file.
59011         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
59012         GNULIB_MBSCHR.
59013         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
59014         * MODULES.html.sh (Internationalization functions): Add mbschr.
59015
59016 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
59017
59018         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
59019
59020         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
59021
59022 2007-02-04  Bruno Haible  <bruno@clisp.org>
59023
59024         New module description section 'configure.ac-early'.
59025         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
59026         (func_get_autoconf_early_snippet): New function.
59027         (func_import, func_create_testdir): Use it. Remove special cases for
59028         modules 'extensions' and 'lock'.
59029         * modules/extensions (configure.ac-early): Require
59030         gl_USE_SYSTEM_EXTENSIONS.
59031         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
59032
59033 2007-02-04  Bruno Haible  <bruno@clisp.org>
59034
59035         Make use of gcj-4.3's -fsource and -ftarget option.
59036         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
59037         and if so try the options -fsource and -ftarget.
59038         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
59039         source_version, ftarget_option, target_version arguments.
59040         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
59041         (is_envjavac_oldgcj_14_14_usable): Renamed from
59042         is_envjavac_gcj_14_14_usable.
59043         (is_envjavac_oldgcj_14_13_usable): Renamed from
59044         is_envjavac_gcj_14_13_usable.
59045         (is_gcj_present): Update.
59046         (is_gcj_43, is_gcj43_usable): New functions.
59047         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
59048         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
59049         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
59050         try the options -fsource and -ftarget.
59051
59052 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59053
59054         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
59055         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
59056         larger value.
59057
59058 2007-02-03  Jim Meyering  <jim@meyering.net>
59059
59060         Give tools a better chance to allocate space for very large buffers.
59061         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
59062
59063         Make pwd and readlink work also when run with an unreadable parent dir
59064         on systems with openat support.
59065         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
59066         provided getcwd function, even when we have openat support.
59067         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
59068
59069 2007-02-02  Bruno Haible  <bruno@clisp.org>
59070
59071         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
59072         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
59073         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
59074         portability problems if one of these functions is only used on specific
59075         platforms.
59076         Reported by Paul Eggert.
59077
59078 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
59079
59080         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
59081         is causing more trouble than it's curing.
59082         * lib/regex_internal.h (__mempcpy): Remove.
59083         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
59084         (and make the code a tad smaller to boot).
59085         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
59086
59087 2007-02-02  Jim Meyering  <jim@meyering.net>
59088
59089         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
59090         section, not in the Makefile.am: one.
59091
59092 2007-02-02  Eric Blake  <ebb9@byu.net>
59093
59094         * lib/strchrnul.c: Always include config.h first.
59095
59096         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
59097         gnulib strstr is not necessary here.
59098
59099 2007-02-02  Simon Josefsson  <simon@josefsson.org>
59100
59101         * m4/socklen.m4: Fix typo.
59102
59103 2007-02-02  Eric Blake  <ebb9@byu.net>
59104
59105         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
59106         * modules/netinet_in (Makefile.am): Likewise.
59107
59108 2007-02-01  Bruno Haible  <bruno@clisp.org>
59109
59110         * lib/string_.h (GL_LINK_WARNING): New macro.
59111         (strcasecmp, strstr, strcasestr): If provided by the system,
59112         conditionally define as a macro that leads to a warning instead of to
59113         an error.
59114         (strncasecmp): Conditionally define as a macro that leads to a warning.
59115
59116 2007-02-01  Karl Berry  <karl@gnu.org>
59117
59118         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
59119
59120 2007-02-01  Bruno Haible  <bruno@clisp.org>
59121
59122         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
59123         renamings.
59124
59125 2007-02-01  Eric Blake  <ebb9@byu.net>
59126
59127         * modules/regex (Depends-on): Revert dependence on mempcpy.
59128         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
59129         module's definition of mempcpy.
59130         Reported by Paul Eggert.
59131
59132 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
59133
59134         * lib/string_.h: If the gnulib module XYZ is not present, undefine
59135         the symbol XYZ before redefining it.  This fixes a problem with
59136         programs that don't use XYZ, when compiled on systems that define
59137         XYZ to something else.
59138
59139 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
59140
59141         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
59142         occurs when "mkdir -m foo" creates a setgid directory that is (1)
59143         writeable to group or other and (2) is intended to have a special
59144         mode bit that is set or cleared.  In such a case, the directory
59145         should be neither group- nor other-writeable until the special
59146         mode bits are right.
59147
59148 2007-01-31  Eric Blake  <ebb9@byu.net>
59149
59150         * modules/mountlist (Depends-on): Add strstr.
59151
59152         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
59153         bug.
59154         * modules/string (Makefile.am): Remove redundant replacement.
59155         * modules/regex (Depends-on): Add mempcpy.
59156
59157 2007-01-31  Bruno Haible  <bruno@clisp.org>
59158
59159         New module description field 'Link'.
59160         * gnulib-tool (func_usage): Document --extract-link-directive.
59161         (sed_extract_prog): Recognize 'Link' directive.
59162         (func_get_link_directive): New function.
59163         (func_import): Show summary of link directives.
59164         Handle --extract-link-directive option.
59165         * modules/acl (Link): New section.
59166         * modules/clock-time (Link): New section.
59167         * modules/euidaccess (Link): New section.
59168         * modules/gettext (Link): New section.
59169         * modules/iconv (Link): New section.
59170         * modules/lock (Link): New section.
59171         * modules/nanosleep (Link): New section.
59172         * modules/readline (Link): New section.
59173
59174 2007-01-27  Bruno Haible  <bruno@clisp.org>
59175
59176         Enforce the use of gnulib modules for unportable <string.h> functions.
59177         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
59178         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
59179         (gl_HEADER_STRING_H_BODY): Require it.
59180         * lib/string_.h: If the gnulib module XYZ is not present, redefine
59181         the symbol XYZ to one that gives a link error.
59182         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
59183         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
59184         * modules/mempcpy (configure.ac): Likewise.
59185         * modules/memrchr (configure.ac): Likewise.
59186         * modules/stpcpy (configure.ac): Likewise.
59187         * modules/stpncpy (configure.ac): Likewise.
59188         * modules/strcase (configure.ac): Likewise.
59189         * modules/strcasestr (configure.ac): Likewise.
59190         * modules/strchrnul (configure.ac): Likewise.
59191         * modules/strdup (configure.ac): Likewise.
59192         * modules/strndup (configure.ac): Likewise.
59193         * modules/strnlen (configure.ac): Likewise.
59194         * modules/strpbrk (configure.ac): Likewise.
59195         * modules/strsep (configure.ac): Likewise.
59196         * modules/strstr (configure.ac): Likewise.
59197         * modules/strtok_r (configure.ac): Likewise.
59198
59199 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
59200
59201         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
59202
59203 2007-01-30  Jim Meyering  <jim@meyering.net>
59204
59205         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
59206
59207 2007-01-29  Bruno Haible  <bruno@clisp.org>
59208
59209         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
59210         * lib/execute.c: Likewise.
59211         * lib/pipe.c: Likewise.
59212         * lib/printf-args.h: Likewise.
59213         * lib/printf-args.c: Likewise.
59214         * lib/printf-parse.c: Likewise.
59215         * lib/vasnprintf.c: Likewise.
59216
59217 2007-01-29  Eric Blake  <ebb9@byu.net>
59218
59219         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
59220         declaration.
59221
59222 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
59223
59224         * lib/strptime.h (strptime): Use 'restrict' for args where
59225         POSIX requires this.
59226         * lib/strptime.c (strptime): Likewise.
59227         Change license notice from LGPL to GPL, since gnulib-tool will
59228         change this as needed.
59229         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
59230         defined.
59231         Include "strptime.h" first, to check interface.
59232         Do not #undef _LIBC and _NL_CURRENT.
59233         Do not include <stdlib.h>; no longer needed.
59234         Include "time_r.h" and declare ptime_locale_status
59235         only if _LIBC is not defined.
59236         (__P): Remove unused macro.
59237         (match_string): Bring back glibc version, but use it only if _LIBC
59238         is defined.
59239         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
59240         Remove unnecessary assertion and abort() call.
59241         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
59242         * m4/strptime.m4: Fix serial number comment.
59243         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
59244         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
59245         (Depends-on): Add time_r.
59246
59247 2007-01-29  Bruno Haible  <bruno@clisp.org>
59248
59249         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59250         strptime.
59251         * modules/strptime (Depends-on): Add stdbool.
59252         * lib/strptime.h: Include <time.h> always. Add comments.
59253
59254 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
59255
59256         * modules/strptime: New file.
59257         * lib/strptime.h: New file.
59258         * lib/strptime.c: New file.
59259         * m4/strptime.m4: New file.
59260
59261 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59262
59263         * MODULES.html.sh: New module mpsort.
59264         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
59265
59266         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
59267         a circularity problem with HP-UX ia64 reported by Bob Proulx in
59268         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
59269         All uses changed.
59270         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
59271         All uses changed.
59272         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
59273         to _Restrict_.
59274         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
59275         the parameter matches the prototype.
59276
59277 2007-01-28  Jim Meyering  <jim@meyering.net>
59278
59279         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
59280         sys/time.h here, reverting that part of the previous patch:
59281         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
59282
59283 2007-01-28  Bruno Haible  <bruno@clisp.org>
59284
59285         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
59286         value of $(SYS_TIME_H).
59287         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
59288         remove it conditionally, too. [added by Jim Meyering]
59289         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
59290         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
59291         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
59292         GETTIMEOFDAY_REPLACEMENT to 1.
59293
59294 2007-01-28  Bruno Haible  <bruno@clisp.org>
59295
59296         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
59297         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
59298         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
59299         Set UNISTD_H instead of UNISTD_H2.
59300         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
59301
59302 2007-01-28  Bruno Haible  <bruno@clisp.org>
59303
59304         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
59305         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
59306
59307 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59308
59309         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
59310         (func_create_testdir): Ensure C locale for `grep' and `tr'
59311         character ranges.
59312         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
59313         ACLOCAL_AMFLAGS parsing state machine.
59314
59315 2007-01-27  Bruno Haible  <bruno@clisp.org>
59316
59317         * modules/unistr/base: Update.
59318
59319 2007-01-27  Bruno Haible  <bruno@clisp.org>
59320
59321         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
59322         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
59323         * modules/unistr/u32-mbtouc-unsafe: Renamed from
59324         modules/unistr/u32-mbtouc.
59325         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
59326         * lib/unistr.h: Update.
59327         * lib/linebreak.c: Update.
59328         * modules/unistr/u32-mbtouc: Renamed from
59329         modules/unistr/u32-mbtouc-safe.
59330         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
59331         * lib/unistr.h: Update.
59332         * lib/unistr/u32-to-u8.c: Update.
59333         * lib/unistr/u32-to-u16.c: Update.
59334
59335 2007-01-27  Bruno Haible  <bruno@clisp.org>
59336
59337         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
59338         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
59339         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
59340         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
59341         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
59342         * modules/unistr/u16-mbtouc-unsafe: Renamed from
59343         modules/unistr/u16-mbtouc.
59344         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
59345         * lib/unistr.h: Update.
59346         * lib/linebreak.c: Update.
59347         * modules/linebreak: Update.
59348         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
59349         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
59350         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
59351         * modules/unistr/u16-mbtouc: Renamed from
59352         modules/unistr/u16-mbtouc-safe.
59353         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
59354         * lib/unistr.h: Update.
59355         * lib/unistr/u16-to-u8.c: Update.
59356         * modules/unistr/u16-to-u8: Update.
59357         * lib/unistr/u16-to-u32.c: Update.
59358         * modules/unistr/u16-to-u32: Update.
59359
59360 2007-01-27  Bruno Haible  <bruno@clisp.org>
59361
59362         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
59363         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
59364         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
59365         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
59366         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
59367         * modules/unistr/u8-mbtouc-unsafe: Renamed from
59368         modules/unistr/u8-mbtouc.
59369         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
59370         * lib/unistr.h: Update.
59371         * lib/striconveh.c: Update.
59372         * modules/striconveh: Update.
59373         * lib/linebreak.c: Update.
59374         * modules/linebreak: Update.
59375         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
59376         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
59377         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
59378         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
59379         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
59380         * lib/unistr.h: Update.
59381         * lib/striconveh.c: Update.
59382         * modules/striconveh: Update.
59383         * lib/unistr/u8-to-u16.c: Update.
59384         * modules/unistr/u8-to-u16: Update.
59385         * lib/unistr/u8-to-u32.c: Update.
59386         * modules/unistr/u8-to-u32: Update.
59387
59388 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59389
59390         Sync from Libtool.
59391         * lib/argz.c: Do not include strings.h nor memory.h, include
59392         string.h unconditionally.  Patch by Simon Josefsson.
59393
59394 2007-01-27  Bruno Haible  <bruno@clisp.org>
59395
59396         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
59397         from gl_HEADER_STRING_H_BODY.
59398         (gl_HEADER_STRING_H_BODY): Require it.
59399         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
59400         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
59401         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
59402         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
59403         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
59404         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
59405         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59406         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
59407         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
59408         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59409         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
59410         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
59411         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
59412         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59413         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59414
59415 2007-01-27  Bruno Haible  <bruno@clisp.org>
59416
59417         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
59418         check_PROGRAMS into noinst_PROGRAMS.
59419         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
59420         check_PROGRAMS in this case.
59421         (func_import): Set for_test to false.
59422         (func_create_testdir): Set for_test to true.
59423
59424 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
59425             Bruno Haible  <bruno@clisp.org>
59426
59427         * modules/strcasestr (Files): Remove lib/strcasestr.h.
59428         (Depends-on): Add string.
59429         (Includes): Use <string.h> instead of strcasestr.h.
59430         * modules/string (Makefile.am): Also substitute the value of
59431         REPLACE_STRCASESTR.
59432         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
59433         assume strcasestr is declared in <string.h> not <strings.h>. Also
59434         set REPLACE_STRCASESTR.
59435         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
59436         REPLACE_STRCASESTR.
59437         * lib/strcasestr.h: Remove file.
59438         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
59439         * lib/string_.h (strcasestr): New declaration.
59440
59441 2007-01-27  Bruno Haible  <bruno@clisp.org>
59442
59443         * lib/string_.h: Use 'extern'.
59444
59445 2007-01-27  Jim Meyering  <jim@meyering.net>
59446
59447         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
59448         of set-but-not-used local, "q".
59449
59450         * lib/mempcpy.c: Include <config.h> before <string.h>.
59451         This fixes a compilation error on HP-UX, due to the system's
59452         "restrict"-using mempcpy prototype.
59453
59454 2007-01-26  Bruno Haible  <bruno@clisp.org>
59455
59456         Small optimization.
59457         * lib/javacomp.c: Include c-strstr.h.
59458          (is_envjavac_gcj): Use c_strstr instead of strstr.
59459         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
59460
59461 2007-01-26  Bruno Haible  <bruno@clisp.org>
59462
59463         * MODULES.html.sh (Unicode string functions): Add the new modules.
59464
59465         * modules/uniconv/u32-strconv-to-locale: New file.
59466         * lib/uniconv/u32-strconv-to-locale.c: New file.
59467
59468         * modules/uniconv/u16-strconv-to-locale: New file.
59469         * lib/uniconv/u16-strconv-to-locale.c: New file.
59470
59471         * modules/uniconv/u8-strconv-to-locale: New file.
59472         * lib/uniconv/u8-strconv-to-locale.c: New file.
59473
59474         * modules/uniconv/u32-strconv-from-locale: New file.
59475         * lib/uniconv/u32-strconv-from-locale.c: New file.
59476
59477         * modules/uniconv/u16-strconv-from-locale: New file.
59478         * lib/uniconv/u16-strconv-from-locale.c: New file.
59479
59480         * modules/uniconv/u8-strconv-from-locale: New file.
59481         * lib/uniconv/u8-strconv-from-locale.c: New file.
59482
59483         * modules/uniconv/u32-strconv-to-enc: New file.
59484         * lib/uniconv/u32-strconv-to-enc.c: New file.
59485         * modules/uniconv/u32-strconv-to-enc-tests: New file.
59486         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
59487
59488         * modules/uniconv/u16-strconv-to-enc: New file.
59489         * lib/uniconv/u16-strconv-to-enc.c: New file.
59490         * lib/uniconv/u-strconv-to-enc.h: New file.
59491         * modules/uniconv/u16-strconv-to-enc-tests: New file.
59492         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
59493
59494         * modules/uniconv/u8-strconv-to-enc: New file.
59495         * lib/uniconv/u8-strconv-to-enc.c: New file.
59496         * modules/uniconv/u8-strconv-to-enc-tests: New file.
59497         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
59498
59499         * modules/uniconv/u32-strconv-from-enc: New file.
59500         * lib/uniconv/u32-strconv-from-enc.c: New file.
59501         * modules/uniconv/u32-strconv-from-enc-tests: New file.
59502         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
59503
59504         * modules/uniconv/u16-strconv-from-enc: New file.
59505         * lib/uniconv/u16-strconv-from-enc.c: New file.
59506         * modules/uniconv/u16-strconv-from-enc-tests: New file.
59507         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
59508
59509         * modules/uniconv/u8-strconv-from-enc: New file.
59510         * lib/uniconv/u8-strconv-from-enc.c: New file.
59511         * lib/uniconv/u-strconv-from-enc.h: New file.
59512         * modules/uniconv/u8-strconv-from-enc-tests: New file.
59513         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
59514
59515         * modules/uniconv/u32-conv-from-enc: New file.
59516         * lib/uniconv/u32-conv-from-enc.c: New file.
59517         * modules/uniconv/u32-conv-from-enc-tests: New file.
59518         * tests/uniconv/test-u32-conv-from-enc.c: New file.
59519
59520         * modules/uniconv/u16-conv-from-enc: New file.
59521         * lib/uniconv/u16-conv-from-enc.c: New file.
59522         * lib/uniconv/u-conv-from-enc.h: New file.
59523         * modules/uniconv/u16-conv-from-enc-tests: New file.
59524         * tests/uniconv/test-u16-conv-from-enc.c: New file.
59525
59526         * modules/uniconv/u8-conv-from-enc: New file.
59527         * lib/uniconv/u8-conv-from-enc.c: New file.
59528         * modules/uniconv/u8-conv-from-enc-tests: New file.
59529         * tests/uniconv/test-u8-conv-from-enc.c: New file.
59530
59531         * modules/uniconv/base: New file.
59532         * lib/uniconv.h: New file.
59533
59534 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
59535
59536         * doc/gnulib-tool.texi (Initial import): Update to match current
59537         behavior with strdup module.
59538         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
59539         * lib/memmem.h: Remove; all uses removed.  This is now done
59540         by <string.h>.
59541         * lib/mempcpy.h: Likewise.
59542         * lib/memrchr.h: Likewise.
59543         * lib/stpcpy.h: Likewise.
59544         * lib/stpncpy.h: Likewise.
59545         * lib/strcase.h: Likewise.
59546         * lib/strchrnul.h: Likewise.
59547         * lib/strdup.h: Likewise.
59548         * lib/strndup.h: Likewise.
59549         * lib/strnlen.h: Likewise.
59550         * lib/strpbrk.h: Likewise.
59551         * lib/strsep.h: Likewise.
59552         * lib/strstr.h: Likewise.
59553         * lib/strtok_r.h: Likewise.
59554         * lib/string_.h: New file.
59555         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
59556         Rely on <string.h> instead.
59557         * lib/canon-host.c: Likewise.
59558         * lib/chdir-long.c: Likewise.
59559         * lib/concatpath.c: Likewise.
59560         * lib/exclude.c: Likewise.
59561         * lib/fchdir.c: Likewise.
59562         * lib/getaddrinfo.c: Likewise.
59563         * lib/getcwd.c: Likewise.
59564         * lib/getsubopt.c: Likewise.
59565         * lib/glob.c: Likewise.
59566         * lib/hard-locale.c: Likewise.
59567         * lib/iconvme.c: Likewise.
59568         * lib/javacomp.c: Likewise.
59569         * lib/mempcpy.c: Likewise.
59570         * lib/memrchr.c: Likewise.
59571         * lib/regex_internal.h: Likewise.
59572         * lib/stpncpy.c: Likewise.
59573         * lib/strcasecmp.c: Likewise.
59574         * lib/strchrnul.c: Likewise.
59575         * lib/strdup.c: Likewise.
59576         * lib/striconv.c: Likewise.
59577         * lib/striconveh.c: Likewise.
59578         * lib/striconveha.c: Likewise.
59579         * lib/strncasecmp.c: Likewise.
59580         * lib/strndup.c: Likewise.
59581         * lib/strnlen.c: Likewise.
59582         * lib/strsep.c: Likewise.
59583         * lib/strstr.c: Likewise.
59584         * lib/strtok_r.c: Likewise.
59585         * lib/userspec.c: Likewise.
59586         * lib/w32spawn.h: Likewise.
59587         * lib/xstrndup.c: Likewise.
59588         * lib/mountlist.c (strstr): Remove decl.
59589         * m4/string_h.m4: New file.
59590         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
59591         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
59592         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
59593         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
59594         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
59595         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
59596         Set REPLACE_STRCASECMP if necessary.
59597         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
59598         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
59599         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
59600         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
59601         HAVE_DECL_STRDUP if necessary.
59602         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
59603         since gl_FUNC_STRNDUP does that now.
59604         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
59605         Check for decl here...
59606         (gl_PREREQ_STRNLEN): ... not here.
59607         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
59608         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
59609         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
59610         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
59611         necessary.
59612         * modules/string: New file.
59613         * modules/memmem (Files): Remove special-purpose include file.
59614         (Depends-on): Add string.
59615         (Include): Include <string.h>, not the removed file.
59616         * modules/mempcpy: Likewise.
59617         * modules/memrchr: Likewise.
59618         * modules/stpcpy: Likewise.
59619         * modules/stpncpy: Likewise.
59620         * modules/strcase: Likewise.
59621         * modules/strchrnul: Likewise.
59622         * modules/strdup: Likewise.
59623         * modules/strndup: Likewise.
59624         * modules/strnlen: Likewise.
59625         * modules/strpbrk: Likewise.
59626         * modules/strsep: Likewise.
59627         * modules/strstr: Likewise.
59628         * modules/strtok_r: Likewise.
59629         * tests/test-dirname.c: Don't include "strdup.h", since
59630         <string.h> now suffices.
59631         * tests/test-memmem.c: Don't include "memmem.h", since
59632         <string.h> now suffices.
59633
59634 2007-01-25  Bruno Haible  <bruno@clisp.org>
59635
59636         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
59637         *resultp is 0.
59638
59639         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
59640         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
59641         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
59642         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
59643
59644         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
59645         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
59646         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
59647         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
59648         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
59649         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
59650
59651 2007-01-24  Bruno Haible  <bruno@clisp.org>
59652
59653         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
59654         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
59655         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
59656         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
59657         gl_FUNC_FTS_CORE.
59658         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
59659         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
59660         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
59661         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
59662         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
59663         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
59664         gl_FUNC_FCHOWNAT.
59665         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
59666         gl_FUNC_STRFTIME.
59667         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
59668         Reported by Ralf Wildenhues.
59669
59670 2007-01-24  Bruno Haible  <bruno@clisp.org>
59671
59672         Drop AC_REQUIRE calls that are redundant with the module dependencies.
59673         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
59674         gl_GETADDRINFO.
59675         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
59676         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
59677         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
59678
59679 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
59680
59681         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
59682         Don't use 'exit'; just return from 'main'.
59683         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
59684
59685         * lib/fnmatch_.h: Readjust white space and comments to match
59686         glibc, to avoid spurious diffs.
59687
59688 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59689
59690         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
59691         2004-12-01 change by Jakub Jelinek, since this code won't compile
59692         if !LIBC.  Problem reported by Bob Proulx.
59693
59694 2007-01-23  Bruno Haible  <bruno@clisp.org>
59695
59696         * lib/striconveh.c: Include c-strcaseeq.h.
59697         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
59698         * modules/striconveh (Depends-on): Add c-strcaseeq.
59699
59700 2007-01-23  Bruno Haible  <bruno@clisp.org>
59701
59702         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
59703
59704         * modules/c-strcaseeq: New file.
59705         * lib/c-strcaseeq.h: New file.
59706
59707         * modules/streq: New file.
59708         * lib/streq.h: New file.
59709
59710 2007-01-23  Bruno Haible  <bruno@clisp.org>
59711
59712         * modules/striconveha-tests: New file.
59713         * tests/test-striconveha.c: New file.
59714
59715         * lib/striconveha.h: Include <stdbool.h>.
59716         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
59717         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
59718         (mem_iconveha_notranslit): Renamed from mem_iconveha.
59719         (mem_iconveha): New function.
59720         (str_iconveha_notranslit): Renamed from str_iconveha.
59721         (str_iconveha): New function.
59722         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
59723         c-strcase.
59724
59725 2007-01-23  Bruno Haible  <bruno@clisp.org>
59726
59727         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
59728         encodings without forgiving before trying any encoding with handler.
59729         (str_iconveha): Try all encodings without forgiving before trying any
59730         encoding with handler.
59731
59732 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59733
59734         Import the following changes from libc.
59735
59736         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
59737
59738         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
59739
59740         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
59741
59742         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
59743         normal_bracket label.
59744
59745         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
59746
59747         [BZ #361]
59748         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
59749         to normal_bracket after fetching the next character.
59750
59751 2007-01-22  Bruno Haible  <bruno@clisp.org>
59752
59753         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
59754         argument.
59755         * lib/striconveh.c (iconv_carefully_1): New function.
59756         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
59757         argument.
59758         (str_cd_iconveh): Update.
59759         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
59760         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
59761         * tests/test-striconveh.c (MAGIC): New macro.
59762         (new_offsets): New function.
59763         (main): Test call with and without offsets.
59764
59765 2007-01-22  Bruno Haible  <bruno@clisp.org>
59766
59767         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
59768         * modules/sys_select (Makefile.am): Likewise.
59769         * modules/sys_socket (Makefile.am): Likewise.
59770         * modules/sys_time (Makefile.am): Likewise.
59771
59772 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
59773
59774         * modules/gettimeofday (License): Change from GPL to LGPL, since
59775         gettimeofday is a library function.
59776
59777 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59778
59779         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
59780
59781 2007-01-21  Bruno Haible  <bruno@clisp.org>
59782
59783         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
59784
59785 2007-01-21  Bruno Haible  <bruno@clisp.org>
59786
59787         * modules/striconveha: New file.
59788         * lib/striconveha.h: New file.
59789         * lib/striconveha.c: New file.
59790         * MODULES.html.sh (Internationalization functions): Add striconveha.
59791         * lib/striconv.c (str_iconv): Optimize the case of an empty input
59792         string.
59793         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
59794
59795 2007-01-21  Bruno Haible  <bruno@clisp.org>
59796
59797         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
59798         * lib/striconveh.c (str_iconveh): Likewise.
59799
59800 2007-01-21  Bruno Haible  <bruno@clisp.org>
59801
59802         * lib/striconveh.h (mem_iconveh): New declaration.
59803         * lib/striconveh.c (mem_iconveh): New function.
59804         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
59805
59806 2007-01-21  Bruno Haible  <bruno@clisp.org>
59807
59808         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
59809
59810         * lib/striconveh.h (mem_cd_iconveh): Change specification.
59811         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
59812         original result buffer.
59813         (str_cd_iconveh): Update.
59814         * tests/test-striconveh.c (main): Update.
59815
59816         * lib/striconv.h (mem_cd_iconv): Change specification.
59817         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
59818         result buffer.
59819         (str_cd_iconv): Update.
59820         * tests/test-striconv.c (main): Update.
59821
59822 2007-01-21  Bruno Haible  <bruno@clisp.org>
59823
59824         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
59825
59826 2007-01-20  Jim Meyering  <jim@meyering.net>
59827
59828         * lib/userspec.c (parse_with_separator): If a user or group string
59829         starts with "+", skip the corresponding name-to-ID look-up, since
59830         such a look-up must fail: user and group names may not include "+".
59831
59832 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
59833
59834         * lib/poll.c: Include sys/time.h and time.h unconditionally,
59835         since we now assume the sys_time module.
59836         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
59837         check for sys/time.h; no longer needed.
59838         * modules/poll (Depends-on): Depend on sys_time.
59839
59840 2007-01-18  Bruno Haible  <bruno@clisp.org>
59841
59842         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
59843         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
59844
59845         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
59846         gettimeofday.
59847
59848         * tests/test-gettimeofday.c: Include <time.h>.
59849         (dummy): Remove variable.
59850
59851         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
59852         gl_HEADER_SYS_TIME_H.
59853         (gl_HEADER_SYS_TIME_H): New macro.
59854
59855         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
59856         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59857         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
59858         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
59859         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59860         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
59861         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
59862         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59863         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
59864         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
59865         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59866
59867         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
59868         last change; it caused a compilation error when cross-compiling to
59869         Cygwin.
59870
59871 2007-01-18  Jim Meyering  <jim@meyering.net>
59872
59873         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
59874         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
59875         than the race-prone "test -d sys || mkdir sys".
59876         (configure.ac): Use AC_PROG_MKDIR_P.
59877         * modules/sys_select: Likewise.
59878         * modules/sys_socket: Likewise.
59879         * modules/sys_time: Likewise.
59880
59881 2007-01-18  Eric Blake  <ebb9@byu.net>
59882
59883         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
59884         replace gettimeofday.
59885         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
59886         name, to avoid infinite recursion.
59887
59888 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
59889
59890         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
59891         module sys_time.
59892         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
59893         assume timespec.h defines struct timeval.
59894         * lib/settime.c: Likewise.
59895         * lib/utimens.c: Likewise.
59896         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
59897         since we now assume the gettimeofday module.
59898         * lib/tempname.c (__gen_tempname): Likewise.
59899         * lib/gettimeofday.h: Remove.
59900         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
59901         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
59902         Include <time.h>, for 'time()'.
59903         (localtime_buffer_addr): Also use this workaround if
59904         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
59905         to simplify the uses.  All uses changed.
59906         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
59907         that #undef is inside {}, and 'const' follows type name consistently.
59908         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
59909         (gettimeofday): Do not use the maximum possible value for
59910         tv->tv_usec, since that might break usages other than ls.c.
59911         Instead, we'll leave ls.c alone.  This undoes today's patch
59912         by Bruno.  Add a compile-time warning for 1s-clock resolution;
59913         we've never observed the problem but might as well keep the
59914         canary.
59915         * lib/nanosleep.c: Include timespec.h first, for interface check.
59916         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
59917         now assume the sys_time module.
59918         * lib/tempname.c: Likewise.
59919         * lib/timespec.h: Likewise.
59920         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
59921         needed.
59922         * lib/strftime.c: Likewise.
59923         * lib/timespec.h: Likewise.
59924         * lib/posixtm.c: Include posixtm.h first, for interface check.
59925         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
59926         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
59927         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
59928         * lib/sys_time_.h: New file.
59929         * lib/timespec.h (struct timespec): Use long int, not long.
59930         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
59931         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
59932         Remove obsolescent call to AC_HEADER_TIME.
59933         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
59934         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59935         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
59936         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
59937         Likewise.
59938         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
59939         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
59940         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
59941         into the sys_time module.  Check for gettimeofday just once.
59942         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
59943         for gettimeofday signature to just check the signature.  Merely
59944         compile it, since linking doesn't test signature.  Improve test for
59945         whether gettimeofday.o is actually needed.
59946         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
59947         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
59948         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
59949         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
59950         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
59951         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
59952         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
59953         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
59954         than worrying about sys/time.h.
59955         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
59956         Don't bother worrying about TIME_WITH_SYS_TIME.
59957         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
59958         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
59959         * m4/sys_time_h.m4: New file.
59960         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
59961         Don't include sys/time.h.  Return from main rather than exiting.
59962         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
59963         all uses changed.
59964         * modules/gethrxtime (Depends-on): Add sys_time.
59965         * modules/gettime (Depends-on): Likewise.
59966         * modules/gettimeofday (Depends-on): Likewise.
59967         * modules/nanosleep (Depends-on): Likewise.
59968         * modules/settime (Depends-on): Likewise.
59969         * modules/tempname (Depends-on): Likewise.
59970         * modules/utimens (Depends-on): Likewise.
59971         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
59972         (Include): Change back to <sys/time.h>.
59973         (Maintainer): Add self.
59974         * modules/sys_time: New file.
59975         * modules/tempname (Depends-on): Add gettimeofday.
59976         * tests/test-gettimeofday.c: Include <sys/time.h>
59977         rather than gettimeofday.h.
59978
59979 2007-01-17  Bruno Haible  <bruno@clisp.org>
59980
59981         * gnulib-tool (func_get_license): Revert last patch. Instead, let
59982         the license default to GPL.
59983         (func_create_testdir): Don't complain if a module is LGPL and its
59984         tests module depends on GPLed modules.
59985
59986 2007-01-17  Bruno Haible  <bruno@clisp.org>
59987
59988         * lib/gettimeofday.c (gettimeofday): Add code for the case
59989         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
59990         maximum possible value for tv->tv_usec, rather than the minimum one.
59991
59992 2005-10-08  Martin Lambers  <marlam@marlam.de>
59993 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59994 2007-01-16  Bruno Haible  <bruno@clisp.org>
59995
59996         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
59997         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
59998         gl_FUNC_GETTIMEOFDAY.
59999         (Include): Add gettimeofday.h.
60000         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
60001         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
60002         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
60003         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
60004         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
60005         * lib/gettimeofday.h: New file.
60006         * lib/gettimeofday.c: Include <sys/timeb.h>.
60007         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
60008         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
60009         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
60010         fall back on time().
60011
60012         * tests/test-gettimeofday.c: New file.
60013         * modules/gettimeofday-tests: New file.
60014
60015 2007-01-16  Eric Blake  <ebb9@byu.net>
60016
60017         * modules/fnmatch (Depends-on): Depend on wchar.
60018         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
60019         * m4/fnmatch.m4: Likewise.
60020         * modules/mbchar (Makefile.am): Assume <wchar.h>.
60021         * m4/mbchar.m4: Likewise.
60022         * modules/mbswidth (Depends-on): Depend on wchar.
60023         * lib/mbswidth.c: Assume <wchar.h>.
60024         * m4/mbswidth.m4: Likewise.
60025         * modules/quotearg (Depends-on): Depend on wchar.
60026         * lib/quotearg.c: Assume <wchar.h>.
60027         * m4/quotearg.m4: Likewise.
60028         * modules/regex (Depends-on): Depend on wchar.
60029         * lib/regex_internal.h: Assume <wchar.h>.
60030         * m4/regex.m4: Likewise.
60031         * modules/stdint (Depends-on): Depend on wchar.
60032         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
60033         * m4/stdint.m4: Likewise.
60034         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
60035         * modules/strftime (Depends-on): Depend on wchar.
60036         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
60037         * modules/strtol (Depends-on): Depend on wchar.
60038         * lib/strtol.c: Assume <wchar.h>.
60039         * modules/wcwidth (Depends-on): Depend on wchar.
60040         * lib/wcwidth.h: Assume <wchar.h>.
60041         * m4/wcwidth.m4: Likewise.
60042
60043 2007-01-16  Bruno Haible  <bruno@clisp.org>
60044
60045         * modules/csharpexec-script: New, created from...
60046         * modules/csharpexec: ... this.
60047
60048 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
60049
60050         * modules/javaexec-script: New, created from...
60051         * modules/javaexec: ... this.
60052
60053 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60054
60055         * modules/poll (Dependencies): Add sys_select.
60056
60057 2007-01-15  Jim Meyering  <jim@meyering.net>
60058
60059         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
60060         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
60061         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
60062         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
60063
60064 2007-01-15  Bruno Haible  <bruno@clisp.org>
60065
60066         * modules/striconveh: New file.
60067         * lib/striconveh.h: New file.
60068         * lib/striconveh.c: New file.
60069         * MODULES.html.sh (Internationalization functions): Add striconveh.
60070
60071         * modules/striconveh-tests: New file.
60072         * tests/test-striconveh.c: New file.
60073
60074 2007-01-15  Bruno Haible  <bruno@clisp.org>
60075
60076         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
60077         not from GNU libiconv or GNU libc.
60078
60079 2007-01-15  Bruno Haible  <bruno@clisp.org>
60080
60081         * doc/gnulib-intro.texi (Copyright): Explain the different license
60082         terms for module descriptions, autoconf macros, tests, documentation.
60083
60084 2007-01-14  Bruno Haible  <bruno@clisp.org>
60085
60086         * modules/striconv-tests: New file.
60087         * tests/test-striconv.c: New file.
60088
60089 2007-01-14  Bruno Haible  <bruno@clisp.org>
60090
60091         * modules/iconv-tests: New file.
60092         * tests/test-iconv.c: New file.
60093
60094 2007-01-14  Bruno Haible  <bruno@clisp.org>
60095
60096         * gnulib-tool (func_get_license): For test modules, use the license of
60097         the main module.
60098
60099 2007-01-14  Bruno Haible  <bruno@clisp.org>
60100
60101         * modules/iconv (Include): Clarify that <iconv.h> can only be included
60102         if iconv is found to exist.
60103
60104 2007-01-14  Bruno Haible  <bruno@clisp.org>
60105
60106         * modules/c-ctype-tests: New file.
60107         * tests/test-c-ctype.c: New file.
60108
60109 2007-01-14  Bruno Haible  <bruno@clisp.org>
60110
60111         * modules/binary-io-tests: New file.
60112         * tests/test-binary-io.sh: New file.
60113         * tests/test-binary-io.c: New file.
60114
60115 2007-01-14  Bruno Haible  <bruno@clisp.org>
60116
60117         * modules/array-oset-tests: New file.
60118         * tests/test-array_oset.c: New file.
60119
60120 2007-01-14  Bruno Haible  <bruno@clisp.org>
60121
60122         * modules/array-list-tests: New file.
60123         * tests/test-array_list.c: New file.
60124
60125 2007-01-14  Bruno Haible  <bruno@clisp.org>
60126
60127         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
60128         and make.
60129         Reported by Simon Josefsson in
60130         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
60131
60132 2007-01-14  Bruno Haible  <bruno@clisp.org>
60133
60134         * modules/allocsa-tests: New file.
60135         * tests/test-allocsa.c: New file.
60136
60137 2007-01-14  Bruno Haible  <bruno@clisp.org>
60138
60139         * modules/fchdir (Depends-on): Add absolute-header.
60140         * modules/unistd (Depends-on): Likewise.
60141
60142 2006-12-30  Bruno Haible  <bruno@clisp.org>
60143
60144         * modules/fchdir: New file.
60145         * modules/unistd (Files): Add lib/unistd_.h.
60146         (Makefile.am): Generate unistd.h from unistd_.h.
60147         * lib/fchdir.c: New file.
60148         * lib/dirent_.h: New file.
60149         * lib/unistd_.h: New file.
60150         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
60151         * m4/fchdir.m4: New file.
60152         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
60153         (gl_HEADER_UNISTD): Invoke it.
60154         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
60155         function.
60156         * lib/backupfile.c (opendir, closedir): Undefine.
60157         * lib/chown.c (open, close): Undefine.
60158         * lib/clean-temp.c (open, close): Undefine.
60159         * lib/copy-file.c (open, close): Undefine.
60160         * lib/execute.c (open, close): Undefine.
60161         * lib/fsusage.c (open, close): Undefine.
60162         * lib/gc-gnulib.c (open, close): Undefine.
60163         * lib/getcwd.c (opendir, closedir): Undefine.
60164         * lib/glob.c (opendir, closedir): Undefine.
60165         * lib/javacomp.c (open, close): Undefine.
60166         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
60167         * lib/openat-proc.c (open, close): Undefine.
60168         * lib/pagealign_alloc.c (open, close): Undefine.
60169         * lib/pipe.c (open, close): Undefine.
60170         * lib/progreloc.c (open, close): Undefine.
60171         * lib/savedir.c (opendir, closedir): Undefine.
60172         * lib/utime.c (open, close): Undefine.
60173         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
60174
60175 2007-01-10  Bruno Haible  <bruno@clisp.org>
60176
60177         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
60178
60179 2007-01-12  Eric Blake  <ebb9@byu.net>
60180
60181         Provide a robust <wchar.h>.  Further simplifications are now
60182         possible in other modules, but not included here.
60183         * modules/wchar: New module.
60184         * m4/wchar.m4: New file.
60185         * lib/wchar_.h: Likewise.
60186         * modules/mbchar (Depends-on): Depend on wchar, as the first use
60187         of the new module.
60188         * MODULES.html.sh (Extended multibyte and wide character utilities):
60189         New section.
60190
60191 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
60192
60193         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
60194         to a reasonable default for memory allocation.
60195         (xreadlink): Don't allocate a huge buffer, to work around a buggy
60196         file system that reports garbage st_size values for symlinks.
60197         Problem reported by Liyang Hu.
60198
60199 2007-01-11  Simon Josefsson  <simon@josefsson.org>
60200
60201         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
60202         Emacs .#* auto-save files).
60203
60204 2007-01-11  Bruno Haible  <bruno@clisp.org>
60205
60206         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
60207         directory.
60208
60209 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
60210
60211         Use @...@ consistently in lib/wctype_.h.
60212         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
60213         on it being set to 1 or 0.
60214         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
60215         go back to AC_SUBSTing it.
60216         * modules/wctype (Makefile.am): Undo previous change.
60217
60218 2007-01-10  Eric Blake  <ebb9@byu.net>
60219
60220         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
60221         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
60222         * modules/wctype (Makefile.am): Likewise.
60223         Reported by Chris McGuire.
60224
60225 2007-01-10  Jim Meyering  <jim@meyering.net>
60226
60227         fts.c: a small readability/maintainability improvement
60228         * lib/fts.c (fts_read): Make this code slightly more readable and
60229         maintainable by hoisting the "sp->fts_cur = p" assignments to
60230         immediately follow the statements that set P.  Derived from
60231         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
60232
60233 2007-01-10  Eric Blake  <ebb9@byu.net>
60234
60235         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
60236         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
60237         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60238         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
60239         Reported by Chris McGuire.
60240
60241 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60242
60243         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
60244         in sed script.
60245
60246 2007-01-09  Bruno Haible  <bruno@clisp.org>
60247
60248         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
60249         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
60250         variables.
60251         (func_module): Use them.
60252
60253 2007-01-09  Bruno Haible  <bruno@clisp.org>
60254
60255         * modules/unistr/base: New file.
60256         * lib/unistr.h: New file.
60257
60258         * modules/unistr/u8-to-u16: New file.
60259         * lib/unistr/u8-to-u16.c: New file.
60260
60261         * modules/unistr/u8-to-u32: New file.
60262         * lib/unistr/u8-to-u32.c: New file.
60263
60264         * modules/unistr/u16-to-u8: New file.
60265         * lib/unistr/u16-to-u8.c: New file.
60266
60267         * modules/unistr/u16-to-u32: New file.
60268         * lib/unistr/u16-to-u32.c: New file.
60269
60270         * modules/unistr/u32-to-u8: New file.
60271         * lib/unistr/u32-to-u8.c: New file.
60272
60273         * modules/unistr/u32-to-u16: New file.
60274         * lib/unistr/u32-to-u16.c: New file.
60275
60276         * modules/unistr/u8-check: New file.
60277         * modules/unistr/u16-check: New file.
60278         * modules/unistr/u32-check: New file.
60279         * lib/unistr/u8-check.c: New file.
60280         * lib/unistr/u16-check.c: New file.
60281         * lib/unistr/u32-check.c: New file.
60282
60283         * modules/unistr/u8-chr: New file.
60284         * modules/unistr/u16-chr: New file.
60285         * modules/unistr/u32-chr: New file.
60286         * lib/unistr/u8-chr.c: New file.
60287         * lib/unistr/u16-chr.c: New file.
60288         * lib/unistr/u32-chr.c: New file.
60289
60290         * modules/unistr/u8-cmp: New file.
60291         * modules/unistr/u16-cmp: New file.
60292         * modules/unistr/u32-cmp: New file.
60293         * lib/unistr/u8-cmp.c: New file.
60294         * lib/unistr/u16-cmp.c: New file.
60295         * lib/unistr/u32-cmp.c: New file.
60296
60297         * modules/unistr/u8-cpy: New file.
60298         * modules/unistr/u16-cpy: New file.
60299         * modules/unistr/u32-cpy: New file.
60300         * lib/unistr/u8-cpy.c: New file.
60301         * lib/unistr/u16-cpy.c: New file.
60302         * lib/unistr/u32-cpy.c: New file.
60303         * lib/unistr/u-cpy.h: New file.
60304
60305         * modules/unistr/u8-cpy-alloc: New file.
60306         * modules/unistr/u16-cpy-alloc: New file.
60307         * modules/unistr/u32-cpy-alloc: New file.
60308         * lib/unistr/u8-cpy-alloc.c: New file.
60309         * lib/unistr/u16-cpy-alloc.c: New file.
60310         * lib/unistr/u32-cpy-alloc.c: New file.
60311         * lib/unistr/u-cpy-alloc.h: New file.
60312
60313         * modules/unistr/u8-endswith: New file.
60314         * modules/unistr/u16-endswith: New file.
60315         * modules/unistr/u32-endswith: New file.
60316         * lib/unistr/u8-endswith.c: New file.
60317         * lib/unistr/u16-endswith.c: New file.
60318         * lib/unistr/u32-endswith.c: New file.
60319         * lib/unistr/u-endswith.h: New file.
60320
60321         * modules/unistr/u8-mblen: New file.
60322         * modules/unistr/u16-mblen: New file.
60323         * modules/unistr/u32-mblen: New file.
60324         * lib/unistr/u8-mblen.c: New file.
60325         * lib/unistr/u16-mblen.c: New file.
60326         * lib/unistr/u32-mblen.c: New file.
60327
60328         * modules/unistr/u8-mbtouc: New file.
60329         * modules/unistr/u16-mbtouc: New file.
60330         * modules/unistr/u32-mbtouc: New file.
60331         * lib/unistr/u8-mbtouc.c: New file.
60332         * lib/unistr/u16-mbtouc.c: New file.
60333         * lib/unistr/u32-mbtouc.c: New file.
60334
60335         * modules/unistr/u8-mbtouc-safe: New file.
60336         * modules/unistr/u16-mbtouc-safe: New file.
60337         * modules/unistr/u32-mbtouc-safe: New file.
60338         * lib/unistr/u8-mbtouc-safe.c: New file.
60339         * lib/unistr/u16-mbtouc-safe.c: New file.
60340         * lib/unistr/u32-mbtouc-safe.c: New file.
60341
60342         * modules/unistr/u8-move: New file.
60343         * modules/unistr/u16-move: New file.
60344         * modules/unistr/u32-move: New file.
60345         * lib/unistr/u8-move.c: New file.
60346         * lib/unistr/u16-move.c: New file.
60347         * lib/unistr/u32-move.c: New file.
60348         * lib/unistr/u-move.h: New file.
60349
60350         * modules/unistr/u8-next: New file.
60351         * modules/unistr/u16-next: New file.
60352         * modules/unistr/u32-next: New file.
60353         * lib/unistr/u8-next.c: New file.
60354         * lib/unistr/u16-next.c: New file.
60355         * lib/unistr/u32-next.c: New file.
60356
60357         * modules/unistr/u8-prev: New file.
60358         * modules/unistr/u16-prev: New file.
60359         * modules/unistr/u32-prev: New file.
60360         * lib/unistr/u8-prev.c: New file.
60361         * lib/unistr/u16-prev.c: New file.
60362         * lib/unistr/u32-prev.c: New file.
60363
60364         * modules/unistr/u8-set: New file.
60365         * modules/unistr/u16-set: New file.
60366         * modules/unistr/u32-set: New file.
60367         * lib/unistr/u8-set.c: New file.
60368         * lib/unistr/u16-set.c: New file.
60369         * lib/unistr/u32-set.c: New file.
60370         * lib/unistr/u-set.h: New file.
60371
60372         * modules/unistr/u8-startswith: New file.
60373         * modules/unistr/u16-startswith: New file.
60374         * modules/unistr/u32-startswith: New file.
60375         * lib/unistr/u8-startswith.c: New file.
60376         * lib/unistr/u16-startswith.c: New file.
60377         * lib/unistr/u32-startswith.c: New file.
60378         * lib/unistr/u-startswith.h: New file.
60379
60380         * modules/unistr/u8-stpcpy: New file.
60381         * modules/unistr/u16-stpcpy: New file.
60382         * modules/unistr/u32-stpcpy: New file.
60383         * lib/unistr/u8-stpcpy.c: New file.
60384         * lib/unistr/u16-stpcpy.c: New file.
60385         * lib/unistr/u32-stpcpy.c: New file.
60386         * lib/unistr/u-stpcpy.h: New file.
60387
60388         * modules/unistr/u8-stpncpy: New file.
60389         * modules/unistr/u16-stpncpy: New file.
60390         * modules/unistr/u32-stpncpy: New file.
60391         * lib/unistr/u8-stpncpy.c: New file.
60392         * lib/unistr/u16-stpncpy.c: New file.
60393         * lib/unistr/u32-stpncpy.c: New file.
60394         * lib/unistr/u-stpncpy.h: New file.
60395
60396         * modules/unistr/u8-strcat: New file.
60397         * modules/unistr/u16-strcat: New file.
60398         * modules/unistr/u32-strcat: New file.
60399         * lib/unistr/u8-strcat.c: New file.
60400         * lib/unistr/u16-strcat.c: New file.
60401         * lib/unistr/u32-strcat.c: New file.
60402         * lib/unistr/u-strcat.h: New file.
60403
60404         * modules/unistr/u8-strchr: New file.
60405         * modules/unistr/u16-strchr: New file.
60406         * modules/unistr/u32-strchr: New file.
60407         * lib/unistr/u8-strchr.c: New file.
60408         * lib/unistr/u16-strchr.c: New file.
60409         * lib/unistr/u32-strchr.c: New file.
60410
60411         * modules/unistr/u8-strcmp: New file.
60412         * modules/unistr/u16-strcmp: New file.
60413         * modules/unistr/u32-strcmp: New file.
60414         * lib/unistr/u8-strcmp.c: New file.
60415         * lib/unistr/u16-strcmp.c: New file.
60416         * lib/unistr/u32-strcmp.c: New file.
60417
60418         * modules/unistr/u8-strcpy: New file.
60419         * modules/unistr/u16-strcpy: New file.
60420         * modules/unistr/u32-strcpy: New file.
60421         * lib/unistr/u8-strcpy.c: New file.
60422         * lib/unistr/u16-strcpy.c: New file.
60423         * lib/unistr/u32-strcpy.c: New file.
60424         * lib/unistr/u-strcpy.h: New file.
60425
60426         * modules/unistr/u8-strcspn: New file.
60427         * modules/unistr/u16-strcspn: New file.
60428         * modules/unistr/u32-strcspn: New file.
60429         * lib/unistr/u8-strcspn.c: New file.
60430         * lib/unistr/u16-strcspn.c: New file.
60431         * lib/unistr/u32-strcspn.c: New file.
60432         * lib/unistr/u-strcspn.h: New file.
60433
60434         * modules/unistr/u8-strdup: New file.
60435         * modules/unistr/u16-strdup: New file.
60436         * modules/unistr/u32-strdup: New file.
60437         * lib/unistr/u8-strdup.c: New file.
60438         * lib/unistr/u16-strdup.c: New file.
60439         * lib/unistr/u32-strdup.c: New file.
60440         * lib/unistr/u-strdup.h: New file.
60441
60442         * modules/unistr/u8-strlen: New file.
60443         * modules/unistr/u16-strlen: New file.
60444         * modules/unistr/u32-strlen: New file.
60445         * lib/unistr/u8-strlen.c: New file.
60446         * lib/unistr/u16-strlen.c: New file.
60447         * lib/unistr/u32-strlen.c: New file.
60448         * lib/unistr/u-strlen.h: New file.
60449
60450         * modules/unistr/u8-strmblen: New file.
60451         * modules/unistr/u16-strmblen: New file.
60452         * modules/unistr/u32-strmblen: New file.
60453         * lib/unistr/u8-strmblen.c: New file.
60454         * lib/unistr/u16-strmblen.c: New file.
60455         * lib/unistr/u32-strmblen.c: New file.
60456
60457         * modules/unistr/u8-strmbtouc: New file.
60458         * modules/unistr/u16-strmbtouc: New file.
60459         * modules/unistr/u32-strmbtouc: New file.
60460         * lib/unistr/u8-strmbtouc.c: New file.
60461         * lib/unistr/u16-strmbtouc.c: New file.
60462         * lib/unistr/u32-strmbtouc.c: New file.
60463
60464         * modules/unistr/u8-strncat: New file.
60465         * modules/unistr/u16-strncat: New file.
60466         * modules/unistr/u32-strncat: New file.
60467         * lib/unistr/u8-strncat.c: New file.
60468         * lib/unistr/u16-strncat.c: New file.
60469         * lib/unistr/u32-strncat.c: New file.
60470         * lib/unistr/u-strncat.h: New file.
60471
60472         * modules/unistr/u8-strncmp: New file.
60473         * modules/unistr/u16-strncmp: New file.
60474         * modules/unistr/u32-strncmp: New file.
60475         * lib/unistr/u8-strncmp.c: New file.
60476         * lib/unistr/u16-strncmp.c: New file.
60477         * lib/unistr/u32-strncmp.c: New file.
60478
60479         * modules/unistr/u8-strncpy: New file.
60480         * modules/unistr/u16-strncpy: New file.
60481         * modules/unistr/u32-strncpy: New file.
60482         * lib/unistr/u8-strncpy.c: New file.
60483         * lib/unistr/u16-strncpy.c: New file.
60484         * lib/unistr/u32-strncpy.c: New file.
60485         * lib/unistr/u-strncpy.h: New file.
60486
60487         * modules/unistr/u8-strnlen: New file.
60488         * modules/unistr/u16-strnlen: New file.
60489         * modules/unistr/u32-strnlen: New file.
60490         * lib/unistr/u8-strnlen.c: New file.
60491         * lib/unistr/u16-strnlen.c: New file.
60492         * lib/unistr/u32-strnlen.c: New file.
60493         * lib/unistr/u-strnlen.h: New file.
60494
60495         * modules/unistr/u8-strpbrk: New file.
60496         * modules/unistr/u16-strpbrk: New file.
60497         * modules/unistr/u32-strpbrk: New file.
60498         * lib/unistr/u8-strpbrk.c: New file.
60499         * lib/unistr/u16-strpbrk.c: New file.
60500         * lib/unistr/u32-strpbrk.c: New file.
60501         * lib/unistr/u-strpbrk.h: New file.
60502
60503         * modules/unistr/u8-strrchr: New file.
60504         * modules/unistr/u16-strrchr: New file.
60505         * modules/unistr/u32-strrchr: New file.
60506         * lib/unistr/u8-strrchr.c: New file.
60507         * lib/unistr/u16-strrchr.c: New file.
60508         * lib/unistr/u32-strrchr.c: New file.
60509
60510         * modules/unistr/u8-strspn: New file.
60511         * modules/unistr/u16-strspn: New file.
60512         * modules/unistr/u32-strspn: New file.
60513         * lib/unistr/u8-strspn.c: New file.
60514         * lib/unistr/u16-strspn.c: New file.
60515         * lib/unistr/u32-strspn.c: New file.
60516         * lib/unistr/u-strspn.h: New file.
60517
60518         * modules/unistr/u8-strstr: New file.
60519         * modules/unistr/u16-strstr: New file.
60520         * modules/unistr/u32-strstr: New file.
60521         * lib/unistr/u8-strstr.c: New file.
60522         * lib/unistr/u16-strstr.c: New file.
60523         * lib/unistr/u32-strstr.c: New file.
60524         * lib/unistr/u-strstr.h: New file.
60525
60526         * modules/unistr/u8-strtok: New file.
60527         * modules/unistr/u16-strtok: New file.
60528         * modules/unistr/u32-strtok: New file.
60529         * lib/unistr/u8-strtok.c: New file.
60530         * lib/unistr/u16-strtok.c: New file.
60531         * lib/unistr/u32-strtok.c: New file.
60532         * lib/unistr/u-strtok.h: New file.
60533
60534         * modules/unistr/u8-uctomb: New file.
60535         * modules/unistr/u16-uctomb: New file.
60536         * modules/unistr/u32-uctomb: New file.
60537         * lib/unistr/u8-uctomb.c: New file.
60538         * lib/unistr/u16-uctomb.c: New file.
60539         * lib/unistr/u32-uctomb.c: New file.
60540
60541         * MODULES.html.sh (Unicode string functions): Add the new modules.
60542
60543 2007-01-08  Bruno Haible  <bruno@clisp.org>
60544
60545         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
60546         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
60547         subdirectories.
60548
60549 2007-01-08  Karl Berry  <karl@gnu.org>
60550
60551         * doc/error.texi: mention that main() fns must set program_name
60552         when progname is used.
60553
60554 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
60555
60556         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
60557         WCTYPE_H is empty, for the benefit of builds from non-distclean
60558         directories.  Problem reported by Eric Blake in
60559         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
60560
60561 2007-01-08  Bruno Haible  <bruno@clisp.org>
60562
60563         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
60564         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
60565         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
60566         PROVIDE_CANONICALIZE_FILENAME_MODE.
60567         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
60568
60569 2007-01-08  Bruno Haible  <bruno@clisp.org>
60570
60571         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
60572         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
60573         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
60574         * lib/fts.c: Likewise.
60575         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
60576
60577 2006-12-25  Bruno Haible  <bruno@clisp.org>
60578
60579         * modules/utf8-ucs4-safe: New file.
60580         * lib/utf8-ucs4-safe.h: New file.
60581         * lib/unistr/utf8-ucs4-safe.c: New file.
60582
60583         * modules/utf16-ucs4-safe: New file.
60584         * lib/utf16-ucs4-safe.h: New file.
60585         * lib/unistr/utf16-ucs4-safe.c: New file.
60586
60587         * MODULES.html.sh (Unicode string functions): Add the new modules.
60588
60589 2007-01-08  Bruno Haible  <bruno@clisp.org>
60590
60591         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
60592         (Depends-on): Add unitypes.
60593         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
60594         (u8_mbtouc_aux): Move out to separate file.
60595         (u8_mbtouc): Use ucs4_t, uint8_t types.
60596         * lib/unistr/utf8-ucs4.c: New file.
60597
60598         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
60599         (Depends-on): Add unitypes.
60600         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
60601         (u16_mbtouc_aux): Move out to separate file.
60602         (u16_mbtouc): Use ucs4_t, uint16_t types.
60603         * lib/unistr/utf16-ucs4.c: New file.
60604
60605         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
60606         (Depends-on): Add unitypes.
60607         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
60608         (u8_uctomb_aux): Move out to separate file.
60609         (u8_uctomb): Use ucs4_t, uint8_t types.
60610         * lib/unistr/ucs4-utf8.c: New file.
60611
60612         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
60613         (Depends-on): Add unitypes.
60614         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
60615         (u16_uctomb_aux): Move out to separate file.
60616         (u16_uctomb): Use ucs4_t, uint16_t types.
60617         * lib/unistr/ucs4-utf16.c: New file.
60618
60619 2006-12-25  Bruno Haible  <bruno@clisp.org>
60620
60621         * modules/unitypes: New file.
60622         * lib/unitypes.h: New file.
60623         * MODULES.html.sh (func_all_modules): New section "Unicode string
60624         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
60625         this section. Add unitypes.
60626
60627 2007-01-08  Bruno Haible  <bruno@clisp.org>
60628
60629         Avoid variable names that conflict with those from libtool.
60630         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
60631         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
60632         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
60633         library_names_spec to acl_library_names_spec, hardcode_* to
60634         acl_hardcode_*.
60635         Reported by Ralf Wildenhues.
60636
60637 2007-01-08  Bruno Haible  <bruno@clisp.org>
60638
60639         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
60640         definition.
60641         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
60642         definition.
60643         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
60644         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
60645         definition.
60646         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
60647         definition.
60648         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
60649         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
60650         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
60651         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
60652         definition.
60653         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
60654         definition.
60655         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
60656         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
60657         GC_USE_<algorithm>.
60658         * lib/gc-libgcrypt.c: Likewise.
60659         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
60660         * modules/gc-arctwo (configure.ac): Likewise.
60661         * modules/gc-des (configure.ac): Likewise.
60662         * modules/gc-hmac-md5 (configure.ac): Likewise.
60663         * modules/gc-hmac-sha1 (configure.ac): Likewise.
60664         * modules/gc-md2 (configure.ac): Likewise.
60665         * modules/gc-md4 (configure.ac): Likewise.
60666         * modules/gc-md5 (configure.ac): Likewise.
60667         * modules/gc-random (configure.ac): Likewise.
60668         * modules/gc-rijndael (configure.ac): Likewise.
60669         * modules/gc-sha1 (configure.ac): Likewise.
60670
60671 2007-01-08  Bruno Haible  <bruno@clisp.org>
60672
60673         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
60674         macro definition.
60675         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
60676         definition.
60677         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
60678         definition.
60679         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
60680         * modules/fcntl-safer (configure.ac): Likewise.
60681         * modules/fopen-safer (configure.ac): Likewise.
60682         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
60683         GNULIB_FWRITEERROR macro definition.
60684
60685 2007-01-08  Bruno Haible  <bruno@clisp.org>
60686
60687         * m4/gnulib-common.m4: New file.
60688         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
60689         (func_get_filelist): Add m4/gnulib-common.m4.
60690
60691 2007-01-08  Bruno Haible  <bruno@clisp.org>
60692
60693         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
60694         command.
60695
60696 2007-01-08  Jim Meyering  <jim@meyering.net>
60697
60698         Use a more robust test for a "can't happen" condition.
60699         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
60700         narrowed the st_size value.  Presuming the "can't happen" condition
60701         is true, that narrowing could conceivably convert an invalid st_size
60702         value into a valid one.  Instead, use a change based on Matthew
60703         Woehlke's original patch.
60704
60705         Slight readability improvement: use an assert-like macro
60706         in place of literal "abort ()" uses.
60707         * lib/fts.c (fts_assert): Define.
60708         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
60709         Use this macro instead of a bare 'abort'.
60710
60711 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
60712
60713         Don't worry about using IRIX 5.3's wctype.h broken definitions;
60714         simply work around them.
60715         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
60716         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
60717         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
60718         declaring.
60719         Don't bother to define as macros, since the standard doesn't require it.
60720         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
60721         longer worry about IRIX 5.3.
60722         (HAVE_WCTYPE_CTMP_BUG): Remove.
60723
60724 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
60725
60726         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
60727         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
60728         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
60729         Problems reported by Georg Schwarz for IRIX 5.3.
60730
60731         * gnulib-tool (autoconf_minversion): Take the maximum version number
60732         found, not the minimum.  Problem reported by James Youngman.
60733
60734 2007-01-03  Karl Berry  <karl@gnu.org>
60735
60736         * doc/error.texi: new file, explaining interaction with progname.
60737         * doc/gnulib.texi: include it.  Update copyright.
60738
60739 2007-01-03  Simon Josefsson  <simon@josefsson.org>
60740
60741         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
60742         AC_CANONICAL_HOST, to improve autobuild outputs.
60743
60744 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
60745             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
60746
60747         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
60748         sockets, server sockets, and other file descriptors.  Count errors
60749         to compute the return value.  Reorder the code a bit to be easier
60750         to follow.  Don't set event bits that were not requested (except
60751         POLLERR and POLLHUP).
60752
60753 2007-01-01  Bruno Haible  <bruno@clisp.org>
60754
60755         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
60756
60757 2007-01-03  Jim Meyering  <jim@meyering.net>
60758
60759         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
60760
60761 2007-01-02  Bruno Haible  <bruno@clisp.org>
60762
60763         * modules/settime (Include): Require timespec.h.
60764         * modules/nanosleep (Include): Likewise.
60765
60766 2007-01-01  Bruno Haible  <bruno@clisp.org>
60767
60768         * gnulib-tool (func_emit_copyright_notice): Bump year.
60769         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
60770
60771 2007-01-01  Bruno Haible  <bruno@clisp.org>
60772
60773         Improve support for OpenBSD.
60774         * build-aux/config.rpath (libname_spec): Export.
60775         (library_names_spec): New variable. Export.
60776         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
60777         library_names_spec from the config.rpath output. Locate shared library
60778         through the name pattern in library_names_spec.
60779
60780 2007-01-01  Eric Blake  <ebb9@byu.net>
60781
60782         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
60783
60784 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
60785
60786         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
60787         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
60788         assume the C locale, and avoid an "eval" that could cause trouble.
60789         Problem with SORT reported by Bob Proulx.
60790
60791         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
60792         Define.  Trivial patch from Henning Nielsen Lund, originally
60793         sent to bug-grep@gnu.org today.
60794
60795 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
60796
60797         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
60798         struct stat.  Problem reported by Henning Nielsen Lund.
60799         * lib/acl.c: Include acl.h first, to check interface.  Don't
60800         bother to include sys/types.h and sys/stat.h again.
60801
60802 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
60803
60804         Import the following change from libc; problem reported by
60805         Sven Verdoolaege.
60806
60807         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
60808
60809         [BZ #1373]
60810         * lib/argp.h: Remove __NTH for __argp_usage inline function.
60811
60812 2006-12-28  Jim Meyering  <jim@meyering.net>
60813
60814         * build-aux/announce-gen: Do not assume that the package
60815         builds any of tar.gz, tar.bz2, and .xdelta files.
60816         Suggestion from Simon Josefsson.
60817
60818 2006-12-28  Simon Josefsson  <simon@josefsson.org>
60819
60820         * modules/announce-gen: New file.
60821
60822 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
60823
60824         * lib/mbchar.h: Just include <wctype.h>; the wctype module
60825         handles its gotchas now.
60826         * lib/mbswidth.c: Likewise.
60827         * lib/wcwidth.h: Likewise.
60828         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
60829         and iswcntrl; the wctype module does this stuff now.
60830         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
60831         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60832         * modules/mbchar (Depends-on): Add wctype.
60833         * modules/mbswidth (Depends-on): Likewise.
60834         * modules/wcwidth (Depends-on): Likewise.
60835
60836 2006-12-27  Eric Blake  <ebb9@byu.net>
60837
60838         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
60839         module uses more than what <wctype.h> is required to provide.
60840
60841 2006-12-26  Eric Blake  <ebb9@byu.net>
60842
60843         * gnulib-tool (sed_extract_prog): Avoid space-tab.
60844
60845 2006-12-26  Eric Blake  <ebb9@byu.net>
60846
60847         * modules/absolute-header: New module.
60848         * modules/fcntl (Depends-on): Depend on it.
60849         * modules/inttypes (Depends-on): Likewise.
60850         * modules/stdint (Depends-on): Likewise.
60851         * modules/sys_stat (Depends-on): Likewise.
60852         * modules/wctype (Depends-on): Likewise.
60853         * MODULES.html.sh (Support for building libraries and
60854         executables): Document it.
60855
60856 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
60857
60858         * gnulib-tool (SED): Remove, undoing previous change.
60859         The problem was that it broke coreutils on Solaris, because
60860         "sed --posix" leaked into a makefile.
60861         (sed): New alias, if 'alias' and GNU sed.
60862
60863 2006-12-24  Jim Meyering  <jim@meyering.net>
60864
60865         Work around an fchownat bug in glibc-2.4:
60866         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
60867         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
60868         in spite of the -P option.
60869         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
60870         New macros.
60871         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
60872         * modules/openat (Files): Add lib/fchownat.c.
60873         * lib/openat.c (fchownat): Don't define here.  Move to...
60874         * lib/fchownat.c: ...this new file.
60875
60876 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
60877
60878         Fix bug reported by Bruno Haible in
60879         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
60880         where quotearg.c didn't compile on Mac OS X 10.2 because it
60881         lacks <wchar.h> and wint_t.
60882         * lib/wctype_.h (__wctype_wint_t): New type.
60883         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
60884         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
60885         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
60886         Arg is now of type __wctype_wint_t, not wint_t.
60887         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
60888         substitute HAVE_WINT_T.
60889         * modules/wctype (Files): Add m4/wint_t.m4.
60890         (wctype.h): Substitute HAVE_WINT_T.
60891
60892 2006-12-23  Bruno Haible  <bruno@clisp.org>
60893
60894         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
60895
60896 2006-12-23  Bruno Haible  <bruno@clisp.org>
60897
60898         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
60899         S_ISLNK.
60900         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
60901         mingw.
60902
60903 2006-12-22  Bruno Haible  <bruno@clisp.org>
60904
60905         * lib/copy-file.c: Include acl.h.
60906         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
60907         Close the file descriptors only after being done with copy_acl.
60908         * modules/copy-file (Depends-on): Add acl.
60909
60910 2006-12-22  Bruno Haible  <bruno@clisp.org>
60911
60912         * gnulib-tool (SED): New variable.
60913         Use $SED instead of sed everywhere.
60914
60915 2006-12-22  Bruno Haible  <bruno@clisp.org>
60916
60917         * modules/no-c++: New file.
60918         * m4/no-c++.m4: New file.
60919         * MODULES.html.sh (Support for building libraries and executables):
60920         Add no-c++.
60921
60922 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
60923
60924         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
60925         Include <limits.h>, and use its INT_MAX to rewrite the
60926         j loop so that it does not overflow 'int'.  Problem reported by
60927         Ralf Wildenhues in
60928         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
60929         Play it safe by shifting left by 1 rather than multiplying by 2,
60930         as GCC is less likely to optimize this away when the value
60931         is signed (when it assumes overflow leads to undefined behavior).
60932         Also, don't assume time_t uses two's complement.
60933
60934 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
60935
60936         * MODULES.html.sh: New module wctype.
60937         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
60938         * lib/fnmatch.c: Don't bother to include <wchar.h> before
60939         <wctype.h>, since the new wctype module should fix this.
60940         * lib/quotearg.c: Include <wctype.h> unconditionally, since
60941         the wctype module should arrange for it.
60942         * lib/regex_internal.h: Likewise.
60943         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
60944         since the wctype module should handle this now.
60945         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
60946         * modules/fnmatch (Depends-on): Add wctype.
60947         * modules/quotearg (Depends-on): Likewise.
60948         * modules/regex (Depends-on): Likewise.
60949
60950 2006-12-19  Bruno Haible  <bruno@clisp.org>
60951
60952         * lib/strdup.h [C++]: Wrap definitions in extern "C".
60953         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
60954
60955 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60956
60957         * modules/savewd (Depends-on): Fix dependency on fcntl.
60958
60959 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60960
60961         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
60962         conforms to C99, rather than relying on the user's environment
60963         setting of STDINT_H.
60964
60965 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60966         and Eric Blake  <ebb9@byu.net>
60967
60968         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
60969         This is more consistent with the other defines here.
60970         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
60971         Port to z/OS.  Problem reported by Paul Gilmartin.
60972         Change local vars to use gl_ prefix rather than ac_.
60973         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
60974         with other defines.
60975         * modules/double-slash-root: New module.
60976         * modules/dirname (Files): Remove m4/double-slash-root.m4.
60977         (Depends-on): Add double-slash-root.
60978         * MODULES.html.sh (File system functions): Mention new module.
60979
60980 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
60981
60982         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
60983         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
60984         This is for the benefit of gzip, which doesn't do i18n.
60985
60986 2006-12-12  Jim Meyering  <jim@meyering.net>
60987
60988         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
60989         Reported by Andreas Schwab <schwab@suse.de>.
60990
60991 2006-12-12  Bruno Haible  <bruno@clisp.org>
60992
60993         Merge these changes.
60994         2006-09-05  Bruno Haible  <bruno@clisp.org>
60995         * lib/iconvme.c (iconv_string): No need to save and restore errno when
60996         iconv_alloc succeeded.
60997         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
60998         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
60999         test for " && dest " at the end - dest is always != NULL there. Call
61000         iconv with 4xNULL arguments initially, to reset the state. Call iconv
61001         with 2xNULL arguments, also to flush the state storage. Handle the
61002         IRIX iconv behaviour. Realloc the final result, to throw away unused
61003         memory.
61004
61005 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
61006
61007         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
61008         and fchmodat unconditionally, since glibc 2.4 has them.
61009         Problem reported by Arkadiusz Miskiewicz.
61010
61011 2006-12-10  Bruno Haible  <bruno@clisp.org>
61012
61013         * gnulib-tool (func_import): Show the include files only for those
61014         modules that are copied and specified.
61015         Reported by Karl Berry.
61016
61017 2006-12-08  Jim Meyering  <jim@meyering.net>
61018
61019         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
61020         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
61021
61022         * build-aux/announce-gen: Add two new options, both optional:
61023         --bootstrap-tools=TOOL_LIST
61024               a comma-separated list of tools, e.g.,
61025               autoconf,automake,bison,gnulib
61026         --gnulib-snapshot-date=DATE
61027               if gnulib is in the bootstrap tool list,
61028               then report this as the snapshot date.
61029               If not specified, use the current date/time.
61030               If you specify a date here, be sure it's UTC.
61031
61032 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61033
61034         * tests/test-argp-2.sh: Fix test to match actual output.
61035         (func_compare): Fix sed script to be portable.
61036
61037 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
61038
61039         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
61040         workaround for this case.  It is not autoconfigured now; offhand
61041         it's hard to see how to autoconfigure it.
61042
61043 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
61044
61045         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
61046         a directory that is about to be chowned.  Such a directory's
61047         initial file permissions should permit the owner only and this
61048         should not be changed until after the chown, since the group and
61049         other bits would be incorrect if they granted permission before
61050         the chown.
61051
61052         Fix porting problem for iswctype reported by Georg Schwarz in:
61053         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
61054         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
61055         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
61056         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
61057         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
61058
61059 2006-12-03  Jim Meyering  <jim@meyering.net>
61060
61061         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
61062         p->fts_statp may not yet be defined.
61063         (fts_read): Instead, set it in the caller, once p->fts_statp is
61064         sure to be defined, and corresponds to a top-level directory.
61065         This bug made du -x fail.  Here's the coreutils test case:
61066         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
61067         Reported by Mike Frysinger.
61068
61069 2006-12-01  Jim Meyering  <jim@meyering.net>
61070
61071         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
61072         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
61073         Reported by Simon Josefsson.
61074
61075 2006-11-30  Jim Meyering  <jim@meyering.net>
61076
61077         * m4/warning.m4: Use the all-permissive copyright notice
61078         recommended by RMS (rather than LGPL).
61079         * m4/vararrays.m4: Likewise.
61080         * m4/flexmember.m4: Likewise.
61081
61082 2006-11-29  Bruno Haible  <bruno@clisp.org>
61083
61084         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
61085         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
61086         using +=.
61087         Reported by Simon Josefsson <simon@josefsson.org>.
61088
61089 2006-11-28  James Youngman <jay@gnu.org>
61090
61091         * README: Advise users that they might find the bug-gnulib@gnu.org
61092         and autotools-announce@gnu.org mailing lists useful.
61093
61094 2006-11-28  Bruno Haible  <bruno@clisp.org>
61095
61096         * m4/ptrdiff_max.m4: Remove file.
61097
61098 2006-11-21  Bruno Haible  <bruno@clisp.org>
61099
61100         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
61101         _AC_COMPUTE_INT.
61102         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
61103         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
61104         _AC_COMPUTE_INT.
61105         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
61106         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
61107         _AC_COMPUTE_INT.
61108         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
61109
61110 2006-11-28  Jim Meyering  <jim@meyering.net>
61111
61112         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
61113         warning from "gcc -Wshadow" about shadowing the builtin.
61114
61115 2006-11-27  Bruno Haible  <bruno@clisp.org>
61116
61117         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
61118         _AC_COMPUTE_INT.
61119         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
61120
61121 2006-11-27  Bruno Haible  <bruno@clisp.org>
61122             Paul Eggert  <eggert@cs.ucla.edu>
61123
61124         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
61125
61126 2006-11-26  Bruno Haible  <bruno@clisp.org>
61127
61128         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
61129         noinst_LTLIBRARIES.
61130
61131 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
61132             Bruno Haible  <bruno@clisp.org>
61133
61134         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
61135         if compiling with "gcc -ansi".
61136
61137 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
61138
61139         Fix some incompatibilities with gcc -ansi -pedantic.
61140         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
61141         if compiling pedantically with GCC, unless it's C99 or later.
61142         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
61143         it mishandles gcc -ansi -pedantic as well.
61144         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
61145         if gcc -pedantic.
61146         * lib/regexec.c (check_node_accept_bytes): Don't use auto
61147         initializers for struct if -pedantic, unless it's C99 or later.
61148
61149 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
61150
61151         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
61152         Don't close an fd more than once. Identical atimes indicate
61153         success, not failure.
61154
61155 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
61156
61157         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
61158
61159 2006-11-23  Jim Meyering  <jim@meyering.net>
61160
61161         * build-aux/announce-gen: New file.  From coreutils.
61162
61163 2006-11-22  Jim Meyering  <jim@meyering.net>
61164
61165         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
61166         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
61167         (fts_read): Use a temporary to narrow the overused st_size member
61168         before using it in a switch statement.  Reported by Matthew Woehlke.
61169
61170         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
61171         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
61172
61173 2006-11-20  Bruno Haible  <bruno@clisp.org>
61174
61175         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
61176         changequote instead of pairs of brackets.
61177         Reported by Andreas Schwab <schwab@suse.de>.
61178
61179 2006-11-21  Jim Meyering  <jim@meyering.net>
61180
61181         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
61182         so as to remain compatible with older compilers.
61183         Patch from Michael Deutschmann.
61184
61185 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
61186
61187         * MODULES.html.sh (File system functions): Add openat.
61188
61189         * lib/openat.h (rpl_fstatat): New macro, if
61190         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
61191         (fstatat): Define to rpl_fstatat under the same conditions,
61192         unless COMPILING_FSTATAT.
61193         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
61194         seems to have the bug.
61195         * lib/fstatat.c: New file.
61196         * modules/openat (Files): Add it.
61197
61198 2006-11-20  Bruno Haible  <bruno@clisp.org>
61199
61200         * Makefile: New file.
61201
61202 2006-11-20  Jim Meyering  <jim@meyering.net>
61203
61204         The beginnings of syntax-related checks for gnulib.
61205         * lib/Makefile: New file.
61206         * lib/t-idcache: New script.  Ensure that the two halves of
61207         idcache.c stay in sync.
61208
61209         * lib/idcache.c: Adjust comments in user- and group- portions to
61210         be more accurate, and to be consistent with one another.
61211
61212 2006-11-20  Jim Meyering  <jim@meyering.net>
61213
61214         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
61215         continue using the flexible array member (thus, this module performs
61216         half as many malloc calls), with the addition that...
61217         (getgroup, getuser): Consistently record a non-match via an empty
61218         "name" string, and map an empty string match to a NULL return value.
61219         * modules/idcache (Depends-on): Re-add flexmember.
61220
61221         * lib/idcache.c (getuser): Remove all uses of the register keyword.
61222         (getuidbyname, getgroup, getgidbyname): Likewise.
61223
61224         Use cleaner syntax: NULL rather than 0.
61225         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
61226
61227 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
61228
61229         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
61230         It mishandled the case where the group was missing.
61231         Problem reported by Greg Schafer.
61232         * modules/idcache: Likewise.
61233
61234 2006-11-18  Jim Meyering  <jim@meyering.net>
61235
61236         * check-module (%exempt_header): Add exception for some
61237         conditionally-included headers.
61238
61239         * modules/i-ring (Depends-on): Add verify.
61240         (License): Change to LGPL.
61241
61242 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
61243
61244         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
61245         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
61246         and inttostr.h.  Use snprintf rather than uinttostr, so that
61247         LGPLed code doesn't depend on GPLed.
61248
61249 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
61250
61251         * modules/inline (License): Change from GPL to LGPL.
61252
61253 2006-11-17  Jim Meyering  <jim@meyering.net>
61254
61255         * modules/d-type (License): Switch to LGPL.
61256
61257 2006-11-15  Bruno Haible  <bruno@clisp.org>
61258
61259         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
61260
61261 2006-11-15  Eric Blake  <ebb9@byu.net>
61262
61263         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
61264         the module dependency.
61265
61266 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61267             Bruno Haible  <bruno@clisp.org>
61268
61269         * gnulib-tool (func_create_testdir): Add license consistency check.
61270
61271 2006-11-15  Eric Blake  <ebb9@byu.net>
61272
61273         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
61274         random "(cached)" in configure output.
61275
61276 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61277
61278         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
61279         test for conforming inttypes.h is both announced and cached.
61280
61281         * MODULES.html.sh (seen_modules, seen_files): New variables.
61282         (func_module): Rewrite to use a few less gnulib-tool and sed
61283         invocations.  Avoid a couple of quadratic algorithms for ...
61284         (missed_modules, missed_files): ... these, with ...
61285         (func_append, func_tmpdir): ... these new functions, from
61286         gnulib-tool.  Analogously, install traps for cleanup.
61287
61288         * tests/test-gc.c (main): Remove unused variables.
61289         * tests/test-read-file.c: Include stdlib.h, for 'free'.
61290
61291 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
61292
61293         * modules/inttostr (License): Change to LGPL.
61294
61295 2006-11-14  Eric Blake  <ebb9@byu.net>
61296
61297         * modules/tempname (License): Change to LGPL.
61298
61299 2006-11-14  Eric Blake  <ebb9@byu.net>
61300
61301         * doc/functions.texi (Function Portability): *printf functions on
61302         Cygwin now understand all POSIX size specifiers.
61303
61304 2006-11-14  Bruno Haible  <bruno@clisp.org>
61305
61306         * modules/c-ctype (License): Change to LGPL.
61307
61308 2006-11-12  Bruno Haible  <bruno@clisp.org>
61309
61310         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61311         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
61312         for GNOME libraries, for which the include files are installed in
61313         subdirectories of $prefix/include.
61314
61315 2006-11-12  Bruno Haible  <bruno@clisp.org>
61316
61317         * m4/lib-link.m4: Require at least autoconf-2.54.
61318         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
61319         name to underscores for the --with option.
61320
61321 2006-11-13  Bruno Haible  <bruno@clisp.org>
61322
61323         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
61324         the tests directory.
61325         Reported by Ralf Wildenhues.
61326
61327 2006-11-13  Bruno Haible  <bruno@clisp.org>
61328
61329         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
61330         (func_emit_initmacro_end): Undo the override here.
61331         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
61332         Works around the famous automake error in coreutils.
61333
61334 2006-11-13  Eric Blake  <ebb9@byu.net>
61335
61336         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
61337         element, not its node.
61338
61339 2006-11-12  Bruno Haible  <bruno@clisp.org>
61340
61341         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
61342         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
61343
61344 2006-11-12  Bruno Haible  <bruno@clisp.org>
61345
61346         * gnulib-tool: New option --local-symlink.
61347         (func_usage): Document it.
61348         (lsymbolic): New variable.
61349         (func_import, func_create_testdir): If --symlink was not specified,
61350         test whether --local-symlink was specified and the file comes from
61351         the local_gnulib_dir.
61352
61353 2006-11-12  Bruno Haible  <bruno@clisp.org>
61354
61355         * gnulib-tool (func_ln): New function.
61356         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
61357
61358 2006-11-12  Bruno Haible  <bruno@clisp.org>
61359
61360         Finish support for source files in subdirectories.
61361         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
61362         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
61363         AUTOMAKE_OPTIONS.
61364         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
61365
61366 2006-11-12  Bruno Haible  <bruno@clisp.org>
61367
61368         * gnulib-tool (func_get_automake_snippet): Synthesize also an
61369         EXTRA_lib_SOURCES augmentation.
61370         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
61371
61372 2006-11-12  Jim Meyering  <jim@meyering.net>
61373
61374         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
61375         file descriptors.  This also averts a failure on systems with
61376         native openat support when a traversed directory lacks "x" access.
61377         * lib/fts_.h: Include "i-ring.h"
61378         (struct FTS) [fts_fd_ring]: New member.
61379         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
61380         (FCHDIR): Add parentheses.
61381         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
61382         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
61383         When descending, rather than simply closing the previous
61384         fts_cwd_fd value, push that file descriptor onto the ring.
61385         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
61386         (fts_open): Initialize the new fd_ring member.
61387         (fts_close): Clear the ring.
61388         (fts_safe_changedir): When possible, use our new fd_ring to skip
61389         the diropen and fstat and dev/ino comparison that would normally
61390         accompany a virtual `chdir ("..")'.
61391
61392         * modules/fts (Depends-on): Add i-ring.
61393         * modules/i-ring: New module.
61394         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
61395         * m4/i-ring.m4: New file.
61396
61397 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61398
61399         * gnulib-tool (func_create_testdir): Fix replacement of
61400         `build-aux' in configure.ac.  Run autotools in gltests
61401         subdirectory.
61402         (func_create_testdir, func_create_megatestdir, test): There is
61403         no need for '--force' in most autotool invocations in a new
61404         tree.  Actually fail the whole test if any of the tools, or the
61405         configure or make stages fail.
61406
61407         Sync from Automake.
61408         * build-aux/gnupload: Revert last change.  Add pointer to upload
61409         instructions of the GNU Maintenance Instructions.
61410         Suggestion by Karl Berry.
61411
61412 2006-11-10  Jim Meyering  <jim@meyering.net>
61413
61414         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
61415
61416 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
61417
61418         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
61419         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
61420         (bind_textdomain_codeset) [! ENABLE_NLS]:
61421         Evaluate all the arguments.  That way, callers get compatible behavior
61422         if the arguments have side effects.  Also, it avoids some GCC
61423         diagnostics in some cases; Joel E. Denny reported problems when Bison
61424         was configured with --enable-gcc-warnigs.
61425
61426 2006-11-10  Jim Meyering  <jim@meyering.net>
61427
61428         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
61429         relevant options in CFLAGS (like -O, -fno-inline) are taken into
61430         account.
61431
61432 2006-11-10  Jim Meyering  <jim@meyering.net>
61433
61434         * modules/inline: New file/module.
61435         * modules/xalloc (Files): Remove m4/inline.m4.
61436         (Depends-on): Add inline, instead.
61437         * modules/oset: Likewise.
61438         * modules/list: Likewise.
61439
61440 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
61441
61442         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
61443         Problem reported by Matthew Woehlke.
61444
61445 2006-11-09  Bruno Haible  <bruno@clisp.org>
61446
61447         * lib/tempname.c (gen_tempname): Remove variant that invokes
61448         __gen_tempname.
61449         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
61450         __gen_tempname.
61451
61452 2006-11-08  Bruno Haible  <bruno@clisp.org>
61453
61454         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
61455         to 'yes' instead of 'cross-compiling'.
61456
61457 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
61458
61459         * lib/quotearg.h (quotearg_free): New decl.
61460         * lib/quotearg.c (quotearg_free): New function.
61461         (slot0, nslots, slotvec0, slotvec):
61462         Now file-scope so that quotearg_free can get at them.
61463
61464 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61465
61466         Sync from Automake.
61467         * build-aux/gnupload: Add missing 'gnu' to example URL.
61468         Report by Karl Berry.
61469
61470 2006-11-08  Bruno Haible  <bruno@clisp.org>
61471
61472         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
61473         Suggested by Paul Eggert.
61474
61475 2006-11-08  Jim Meyering  <jim@meyering.net>
61476
61477         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
61478         It's already included if !_LIBC.
61479         (fts_safe_changedir): Add a comment.
61480
61481 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
61482
61483         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
61484         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
61485         Matthew Woehlke.
61486
61487         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
61488         definitions up, to avoid colliding with change below.
61489         (static_inline) [HAVE_INLINE]: New macro.
61490         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
61491         Provide extern decls when !HAVE_INLINE.  Do not define unless
61492         static_inline is defined, either by us or by xmalloc.c.  Use
61493         static_inline rather than static inline.
61494         (XCALLOC): Optimize sizeof(T) = 1 case.
61495         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
61496
61497 2006-11-07  Bruno Haible  <bruno@clisp.org>
61498
61499         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
61500         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
61501         AC_C_INLINE.
61502         * modules/xalloc (Files): Add m4/inline.m4.
61503
61504 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61505
61506         * README: Fix typo.
61507         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
61508         (Miscellanous Notes): ...from this.
61509
61510 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
61511
61512         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
61513         Mention that offsetof should be used instead of sizeof.
61514         From Bruno Haible.
61515
61516 2006-11-07  Bruno Haible  <bruno@clisp.org>
61517
61518         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
61519
61520 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
61521
61522         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
61523         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
61524         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
61525         (gl_tree_add_before, gl_tree_add_after):
61526         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
61527         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
61528         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
61529         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
61530         (gl_linked_add_after, gl_linked_add_at): Likewise.
61531         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
61532         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
61533         (gl_tree_add_before, gl_tree_add_after): Likewise.
61534         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
61535         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
61536         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
61537
61538 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61539
61540         * lib/gl_oset.h: Use C comment style, not C++ comment style.
61541
61542 2006-11-06  Bruno Haible  <bruno@clisp.org>
61543
61544         * m4/inline.m4: New file.
61545         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
61546         * modules/list (Files): Add m4/inline.m4.
61547         * modules/oset (Files): Likewise.
61548
61549 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
61550
61551         * lib/idcache.c: Include <stddef.h>, for offsetof.
61552         (struct userid.name): Change from char * to a flexible array member.
61553         All uses changed.
61554         * modules/idcache (Depends-on): Add flexmember.
61555
61556         * MODULES.html.sh (Core language properties): New module flexmember.
61557         * modules/flexmember, m4/flexmember.m4: New files.
61558
61559         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
61560         inline functions that are identical with the old xnmalloc_inline,
61561         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
61562         that we can avoid some unnecessary integer multiplications and
61563         divisions in the common case where the element size is known at
61564         compile time.
61565         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
61566         needed.
61567         (xnboundedmalloc): Remove.
61568         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
61569         arguments, for consistency with rest of this header.
61570         (xcharalloc): Rewrite using XNMALLOC.
61571         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
61572         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
61573         versions have been moved to lib/xalloc.h and renamed to be the
61574         non-*_inline versions.
61575         (xmalloc, xrealloc): Implement without reference to the xnmalloc
61576         and xnrealloc functions, since those functions are now inline and
61577         now call us.
61578         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
61579         renaming described above.
61580         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
61581         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
61582         captures the dependency in AC_C_INLINE.
61583
61584         New module canonicalize-lgpl, proposed by Charles Wilson in
61585         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
61586         with a few small changes afterwards.
61587         * MODULES.html.sh (File system functions): New module
61588         canonicalize-lgpl.
61589         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
61590         and canonicalize_file_name.
61591         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
61592         * modules/canonicalize-lgpl: New files.
61593
61594 2006-11-05  Bruno Haible  <bruno@clisp.org>
61595
61596         * gnulib-tool (func_import, func_create_testdir): Create directories
61597         also for files in subdirectories of lib/.
61598
61599 2006-11-05  Bruno Haible  <bruno@clisp.org>
61600
61601         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
61602         ANSI C compliant.
61603
61604 2006-11-03  Bruno Haible  <bruno@clisp.org>
61605
61606         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
61607         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
61608         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
61609         (xnboundedmalloc): New inline function.
61610         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
61611         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
61612         xmalloc.
61613         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
61614         xmalloc.
61615         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
61616         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
61617         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
61618         xmalloc.
61619         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
61620         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
61621         xmalloc.
61622         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
61623         gl_tree_add_after): Use XMALLOC instead of xmalloc.
61624         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
61625         xmalloc.
61626         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
61627         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
61628         gl_tree_add_after): Use XMALLOC instead of xmalloc.
61629         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
61630         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
61631         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
61632         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
61633
61634 2006-11-03  Bruno Haible  <bruno@clisp.org>
61635
61636         * lib/c-ctype.h [C++]: Define functions without name mangling.
61637         * lib/fwriteerror.h [C++]: Likewise.
61638         * lib/gcd.h [C++]: Likewise.
61639         * lib/linebreak.h [C++]: Likewise.
61640
61641 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
61642
61643         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
61644         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
61645         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
61646         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
61647         Check for functions and headers just once.
61648         Check for declaration of canonicalize_file_name.
61649         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
61650
61651 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
61652
61653         * gnulib-tool (func_import): Fix typo in actioncmd.
61654
61655 2006-11-02  Bruno Haible  <bruno@clisp.org>
61656
61657         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
61658         newline sequence in the Makefile.am snippet as a space, like "make"
61659         does.
61660         Reported by Roger Persson <perrog@gmail.com>.
61661
61662 2006-11-01  Bruno Haible  <bruno@clisp.org>
61663
61664         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
61665         already declared in <string.h>.
61666         * lib/strcase.h (strncasecmp): Don't declare it if yes.
61667
61668 2006-11-01  Bruno Haible  <bruno@clisp.org>
61669
61670         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
61671         * lib/strcase.h: Include <string.h>.
61672         (strcasecmp): Define to rpl_strcasecmp here.
61673
61674 2006-11-01  Bruno Haible  <bruno@clisp.org>
61675
61676         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
61677
61678 2006-11-01  Eric Blake  <ebb9@byu.net>
61679
61680         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
61681
61682         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
61683
61684 2006-10-29  Bruno Haible  <bruno@clisp.org>
61685
61686         Make it compile in C++ mode.
61687         * lib/full-write.c (full_rw): Add a cast.
61688
61689 2006-11-01  Bruno Haible  <bruno@clisp.org>
61690
61691         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
61692         be POSIX compliant.
61693         Reported by Roger Persson <perrog@gmail.com>.
61694
61695 2006-11-01  Eric Blake  <ebb9@byu.net>
61696
61697         * lib/getopt_.h: Fix comments.
61698
61699 2006-10-31  Eric Blake  <ebb9@byu.net>
61700
61701         * modules/tmpdir (Depends-on): Add sys_stat.
61702         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
61703         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
61704         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
61705         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
61706         tempname.
61707
61708 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
61709
61710         Avoid some C++ diagnostics reported by Bruno Haible.
61711         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
61712         xmalloc.
61713         (quotearg_alloc): Use xcharalloc rather than xmalloc.
61714         (struct slotvec): Move to top level.
61715         (quotearg_n_options): Rewrite to avoid xmalloc.
61716         * lib/xalloc.h (xcharalloc): New function.
61717         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
61718         [defined __cplusplus]: Add function template that provides result
61719         type propagation.  This part of the change is from Bruno Haible.
61720
61721 2006-10-29  Bruno Haible  <bruno@clisp.org>
61722
61723         Make it compile in C++ mode.
61724         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
61725         * lib/strnlen1.c (strnlen1): Cast memchr result.
61726         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
61727         * lib/clean-temp.c (string_equals, string_hash): Add casts.
61728         (create_temp_dir): Rename local variable 'template'.
61729         (compile_csharp_using_sscli): Add cast.
61730         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
61731         * lib/findprog.c (find_in_path): Likewise.
61732         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
61733         * lib/wait-process.c (register_slave_subprocess): Likewise.
61734
61735 2006-10-22  Bruno Haible  <bruno@clisp.org>
61736
61737         * modules/tsearch: New file.
61738         * lib/tsearch.h: New file.
61739         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
61740         * m4/tsearch.m4: New file.
61741         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
61742
61743 2006-10-29  Eric Blake  <ebb9@byu.net>
61744
61745         * lib/arcfour.c: Assume config.h.
61746         * lib/arctwo.c: Likewise.
61747         * lib/base64.c: Likewise.
61748         * lib/check-version.c: Likewise.
61749         * lib/crc.c: Likewise.
61750         * lib/des.c: Likewise.
61751         * lib/gc-gnulib.c: Likewise.
61752         * lib/gc-libgcrypt.c: Likewise.
61753         * lib/gc-pbkdf2-sha1.c: Likewise.
61754         * lib/getaddrinfo.c: Likewise.
61755         * lib/getdelim.c: Likewise.
61756         * lib/getline.c: Likewise.
61757         * lib/hmac-md5.c: Likewise.
61758         * lib/hmac-sha1.c: Likewise.
61759         * lib/iconvme.c: Likewise.
61760         * lib/md2.c: Likewise.
61761         * lib/md4.c: Likewise.
61762         * lib/memxor.c: Likewise.
61763         * lib/read-file.c: Likewise.
61764         * lib/readline.c: Likewise.
61765         * lib/rijndael-alg-fst.c: Likewise.
61766         * lib/rijndael-api-fst.c: Likewise.
61767         * lib/xgetdomainname.c: Likewise.
61768
61769 2006-10-28  Eric Blake  <ebb9@byu.net>
61770
61771         * lib/xstrndup.c: Assume config.h.
61772
61773 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
61774
61775         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
61776         stat-macros.h is now for our own macros, whereas stat_h is for
61777         macros in the <sys/stat.h> name space.
61778         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
61779         (STAT_MACROS_H): Remove.
61780         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
61781         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
61782         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
61783         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
61784         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
61785         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
61786         Move these macros to ...
61787         * lib/stat_.h: here.  Don't include stat-macros.h.
61788         * lib/canonicalize.c: Don't include stat-macros.h.
61789         * lib/chown.c: Likewise.
61790         * lib/euidaccess.c: Likewise.
61791         * lib/file-type.c: Likewise.
61792         * lib/filemode.c: Likewise.
61793         * lib/glob.c: Likewise.
61794         * lib/isapipe.c: Likewise.
61795         * lib/lchown.c: Likewise.
61796         * lib/lstat.c: Likewise.
61797         * lib/mkdir-p.c: Likewise.
61798         * lib/rmdir.c: Likewise.
61799         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
61800         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
61801         unless mkdir isn't declared, to speed up 'configure'.
61802         Always create sys/stat.h, since it's unlikely any real sys/stat.h
61803         would define all the S_* symbols.
61804         * modules/canonicalize (Depends-on):
61805         Depend on sys_stat, not stat-macros.
61806         * modules/chown: Likewise.
61807         * modules/euidaccess: Likewise.
61808         * modules/filemode: Likewise.
61809         * modules/file-type: Likewise.
61810         * modules/glob: Likewise.
61811         * modules/isapipe: Likewise.
61812         * modules/lchown: Likewise.
61813         * modules/lstat: Likewise.
61814         * modules/mkancesdirs: Likewise.
61815         * modules/rmdir: Likewise.
61816         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
61817         * modules/modechange: Likewise.
61818         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
61819         (configure.ac): Remove gl_STAT_MACROS.
61820         * modules/sys_stat (Depends-on): Remove stat-macros.
61821
61822 2006-10-27  Bruno Haible  <bruno@clisp.org>
61823
61824         * m4/signed.m4: Remove file.
61825         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
61826         invocation.
61827         * modules/vasnprintf (Files): Remove m4/signed.m4.
61828
61829 2006-10-27  Bruno Haible  <bruno@clisp.org>
61830
61831         Update to GNU gettext 0.16.
61832         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
61833         m4/inttypes-h.m4, m4/signed.m4.
61834         * m4/gettext.m4: Update to GNU gettext 0.16.
61835         * m4/intl.m4: New file, from GNU gettext.
61836         * m4/intldir.m4: New file, from GNU gettext.
61837         * config/srclist.txt: Update
61838
61839 2006-10-27  Eric Blake  <ebb9@byu.net>
61840
61841         * MODULES.html.sh: Document tempname.
61842         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
61843         dependencies.
61844         (Files): Move lib/tempname.c...
61845         * modules/tempname: ...to this new module.
61846         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
61847         (gl_PREREQ_TEMPNAME): Move...
61848         * m4/tempname.m4: ...to this new file.
61849         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
61850         * modules/sys_stat (Depends-on): Add stat-macros.
61851         * lib/stat_.h (includes): Pick up stat macros.
61852         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
61853         if stat macros are broken.
61854         * lib/tempname.c (includes): No need to include "stat-macros.h".
61855         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
61856         (direxists, __path_search) [!_LIBC]: Don't compile these in
61857         gnulib; the tmpdir module covers that.
61858         * lib/tempname.h: New file.
61859
61860 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
61861
61862         * COPYING: Explain how gnulib-tool converts licence headers.
61863         Almost all wording by Eric Blake.
61864
61865 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
61866
61867         * lib/mbchar.h (is_basic_table): Make read-only.
61868         * lib/mbchar.c (is_basic_table): Likewise.
61869         Reported by John Darrington.
61870
61871 2006-10-25  Bruno Haible  <bruno@clisp.org>
61872
61873         * lib/progname.h (set_program_name): Undefine before defining.
61874
61875 2006-10-25  Bruno Haible  <bruno@clisp.org>
61876
61877         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
61878         false for non-gcc C++ compilers.
61879         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
61880
61881 2006-10-24  Bruno Haible  <bruno@clisp.org>
61882
61883         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
61884         iconv implementations like Irix iconv.
61885
61886 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61887
61888         * modules/vararrays: New file.
61889         * m4/vararrays.m4: New file, taken from diffutils.
61890         * MODULES.html.sh: New module vararrays.
61891
61892 2006-10-24  Karl Berry  <karl@gnu.org>
61893
61894         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
61895         Don't call GNU Unix.
61896
61897 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61898
61899         * users.txt: Add Libtool.
61900
61901         Sync from Libtool:
61902
61903         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61904
61905         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
61906         to gnulib's policy of including config.h unconditionally.
61907
61908 2006-10-24  Bruno Haible  <bruno@clisp.org>
61909
61910         * modules/wcwidth (Files): Add m4/wint_t.m4.
61911         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
61912         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
61913
61914 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61915
61916         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
61917         to pacify GCC with some -W flags enabled.  Problem reported by
61918         Bruno Haible.
61919
61920 2006-10-24  Jim Meyering  <jim@meyering.net>
61921
61922         * MODULES.html.sh: Remove uinttostr.  It's not a module.
61923         Reported by Karl Berry.
61924
61925 2006-10-23  Bruno Haible  <bruno@clisp.org>
61926
61927         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
61928
61929 2006-10-24  Bruno Haible  <bruno@clisp.org>
61930
61931         * lib/gl_list.h: Use C comment style, not C++ comment style.
61932
61933 2006-10-23  Eric Blake  <ebb9@byu.net>
61934
61935         * lib/getaddrinfo.c (includes): Add missing include.
61936
61937 2006-10-23  Bruno Haible  <bruno@clisp.org>
61938             Paul Eggert  <eggert@cs.ucla.edu>
61939
61940         Ability to rename obstack_free.
61941         * lib/obstack.h (__obstack_free): New macro. Declare instead of
61942         obstack_free.
61943         (obstack_free): Invoke the __obstack_free macro.
61944         * lib/obstack.c (obstack_free): Use __obstack_free macro.
61945
61946 2006-10-23  Bruno Haible  <bruno@clisp.org>
61947             Paul Eggert  <eggert@cs.ucla.edu>
61948
61949         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
61950         __argc, __argv from the declaration. (They are defined as macros on
61951         mingw.)
61952
61953 2006-10-22  Bruno Haible  <bruno@clisp.org>
61954
61955         * doc/gnulib-intro.texi: New file.
61956         * doc/gnulib.texi: Include it.
61957
61958 2006-10-21  Bruno Haible  <bruno@clisp.org>
61959
61960         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
61961         "Introduction", "Miscellanous Notes", "Particular Modules".
61962
61963 2006-10-21  Bruno Haible  <bruno@clisp.org>
61964
61965         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61966         Change mostlyclean-local rule to avoid sh syntax error from bash
61967         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
61968
61969 2006-10-23  Jim Meyering  <jim@meyering.net>
61970
61971         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
61972         in place of snprintf.
61973
61974         * modules/inttostr (Files): Add lib/uinttostr.c.
61975         * lib/uinttostr.c (inttostr): New file/function.
61976         * lib/inttostr.h (uinttostr): Declare.
61977         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
61978         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
61979         Add uinttostr.
61980         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
61981
61982 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
61983
61984         * lib/canonicalize.c (ELOOP): Define if not already defined.
61985         Problem reported by Bruno Haible in
61986         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
61987
61988 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
61989
61990         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
61991         Problem reported by Perry Smith and Ville Laurikari.
61992
61993         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
61994         uses.
61995
61996 2006-10-19  Bruno Haible  <bruno@clisp.org>
61997
61998         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
61999         for mingw.
62000
62001 2006-10-19  Bruno Haible  <bruno@clisp.org>
62002
62003         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
62004         Needed for mingw.
62005
62006 2006-10-19  Bruno Haible  <bruno@clisp.org>
62007
62008         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
62009
62010 2006-10-19  Bruno Haible  <bruno@clisp.org>
62011
62012         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
62013         it.
62014
62015 2006-10-19  Bruno Haible  <bruno@clisp.org>
62016
62017         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
62018         invocation.
62019
62020 2006-10-19  Bruno Haible  <bruno@clisp.org>
62021
62022         * gnulib-tool (func_create_testdir): Don't include ftruncate and
62023         mountlist by default.
62024
62025 2006-10-16  Bruno Haible  <bruno@clisp.org>
62026
62027         * lib/c-strstr.c: Include c-strstr.h.
62028
62029 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
62030
62031         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
62032         in a slash.
62033
62034 2006-10-18  Bruno Haible  <bruno@clisp.org>
62035
62036         * lib/lock.h [C++]: Wrap definitions in extern "C".
62037
62038 2006-10-18  Bruno Haible  <bruno@clisp.org>
62039
62040         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
62041         gl_LIBOBJS list.
62042
62043 2006-10-18  Bruno Haible  <bruno@clisp.org>
62044
62045         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
62046
62047 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
62048
62049         * lib/xstrtol.h: Include gettext.h.
62050         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
62051         Problem reported by Eric Blake.
62052         * modules/xstrtol (Depends-on): Add gettext-h.
62053
62054 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
62055
62056         * lib/strftime.c (advance): New macro.
62057         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
62058         incomplete type, so you can't add 0 to it.  Problem and patch
62059         reported by Eelco Dolstra for dietlibc.
62060
62061 2006-10-18  Jim Meyering  <jim@meyering.net>
62062
62063         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
62064         type for a local, and rename it: s/up/user_proc/.
62065
62066 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
62067
62068         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
62069         READ_UTMP_USER_PROCESS.
62070         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
62071
62072 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
62073
62074         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
62075         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
62076
62077 2006-10-17  Eric Blake  <ebb9@byu.net>
62078
62079         * lib/sigprocmask.c (sigprocmask): Fix typo.
62080
62081         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
62082
62083         * modules/clean-temp (Makefile.am): Don't add to make output...
62084         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
62085         config.h.
62086
62087 2006-10-17  Bruno Haible  <bruno@clisp.org>
62088
62089         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
62090         differently if DEFAULT_TEXT_DOMAIN is set.
62091
62092 2006-10-16  Bruno Haible  <bruno@clisp.org>
62093
62094         * lib/clean-temp.c: Include fwriteerror.h.
62095
62096 2006-10-16  Bruno Haible  <bruno@clisp.org>
62097
62098         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
62099
62100 2006-10-16  Bruno Haible  <bruno@clisp.org>
62101
62102         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
62103         * lib/sigprocmask.h: Include <sys/types.h>.
62104         (sigset_t): Use the system's definition if present.
62105
62106 2006-10-17  Eric Blake  <ebb9@byu.net>
62107
62108         * lib/xvasprintf.c (includes): Assume config.h.
62109         * lib/xasprintf.c (includes): Likewise.
62110
62111 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62112
62113         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
62114         at least as wide as intmax_t.
62115
62116 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
62117
62118         (Imported from Automake.)
62119         * build-aux/gnupload: Update to version 1.1 of directive file.
62120
62121 2006-10-16  Eric Blake  <ebb9@byu.net>
62122
62123         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
62124         match Automake 1.10a.
62125
62126 2006-10-14  Bruno Haible  <bruno@clisp.org>
62127
62128         * modules/sigprocmask: New file.
62129         * lib/sigprocmask.h: New file.
62130         * lib/sigprocmask.c: New file.
62131         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
62132         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
62133         request sigprocmask.o.
62134         (gl_PREREQ_SIGPROCMASK): New macro.
62135         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
62136         (Depends-on): Add sigprocmask.
62137         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
62138         gt_SIGNALBLOCKING. Test for 'raise' only once.
62139         * lib/fatal-signal.c: Include sigprocmask.h.
62140         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
62141         unblock_fatal_signals): Define always.
62142         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
62143         sigprocmask.
62144
62145 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
62146
62147         Sync from Automake.
62148         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
62149         which incorrectly sets the mode of an existing destination
62150         directory.  In some cases the unpatched install-sh could do the
62151         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
62152         system.  We hope this is rare in practice, but it's clearly worth
62153         fixing.  Problem reported by Alex Unleashed in
62154         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
62155         Also, don't bother to check for -m bugs unless we're using -m;
62156         suggested by Stepan Kasal.
62157
62158 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62159
62160         Sync from Automake.
62161         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
62162         `-c' flag, so they appear at the same position as in %FASTDEP%
62163         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
62164         which ignores unknown options only after the first non-option.
62165         Bug report against M4 by Nelson H. F. Beebe.
62166
62167 2006-10-13  Jim Meyering  <jim@meyering.net>
62168
62169         Fix a bug in yesterday's change.
62170         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
62171         p->fts_statp->st_dev would be used uninitialized.
62172         Ensures that we always call fts_stat on the very first entry.
62173         Miklos Szeredi reported that find -xdev stopped working.
62174
62175 2006-10-12  Bruno Haible  <bruno@clisp.org>
62176
62177         * gnulib-tool (func_get_automake_snippet): Append an automatically
62178         computed EXTRA_DIST augmentation.
62179         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
62180         * modules/alloca-opt (Makefile.am): Likewise.
62181         * modules/allocsa (Makefile.am): Likewise.
62182         * modules/arcfour (Makefile.am): Likewise.
62183         * modules/arctwo (Makefile.am): Likewise.
62184         * modules/argmatch (Makefile.am): Likewise.
62185         * modules/argz (Makefile.am): Likewise.
62186         * modules/atexit (Makefile.am): Likewise.
62187         * modules/backupfile (Makefile.am): Likewise.
62188         * modules/byteswap (Makefile.am): Likewise.
62189         * modules/c-strtod (Makefile.am): Likewise.
62190         * modules/c-strtold (Makefile.am): Likewise.
62191         * modules/calloc (Makefile.am): Likewise.
62192         * modules/canon-host (Makefile.am): Likewise.
62193         * modules/canonicalize (Makefile.am): Likewise.
62194         * modules/chdir-long (Makefile.am): Likewise.
62195         * modules/chdir-safer (Makefile.am): Likewise.
62196         * modules/check-version (Makefile.am): Likewise.
62197         * modules/chown (Makefile.am): Likewise.
62198         * modules/cloexec (Makefile.am): Likewise.
62199         * modules/close-stream (Makefile.am): Likewise.
62200         * modules/closeout (Makefile.am): Likewise.
62201         * modules/crc (Makefile.am): Likewise.
62202         * modules/csharpexec (Makefile.am): Likewise.
62203         * modules/cycle-check (Makefile.am): Likewise.
62204         * modules/des (Makefile.am): Likewise.
62205         * modules/dev-ino (Makefile.am): Likewise.
62206         * modules/dirfd (Makefile.am): Likewise.
62207         * modules/dirname (Makefile.am): Likewise.
62208         * modules/dup2 (Makefile.am): Likewise.
62209         * modules/eealloc (Makefile.am): Likewise.
62210         * modules/error (Makefile.am): Likewise.
62211         * modules/euidaccess (Makefile.am): Likewise.
62212         * modules/exclude (Makefile.am): Likewise.
62213         * modules/exitfail (Makefile.am): Likewise.
62214         * modules/fcntl-safer (Makefile.am): Likewise.
62215         * modules/fcntl (Makefile.am): Likewise.
62216         * modules/file-type (Makefile.am): Likewise.
62217         * modules/fileblocks (Makefile.am): Likewise.
62218         * modules/filemode (Makefile.am): Likewise.
62219         * modules/filenamecat (Makefile.am): Likewise.
62220         * modules/fnmatch (Makefile.am): Likewise.
62221         * modules/fopen-safer (Makefile.am): Likewise.
62222         * modules/fpending (Makefile.am): Likewise.
62223         * modules/fprintftime (Makefile.am): Likewise.
62224         * modules/free (Makefile.am): Likewise.
62225         * modules/fsusage (Makefile.am): Likewise.
62226         * modules/ftruncate (Makefile.am): Likewise.
62227         * modules/fts (Makefile.am): Likewise.
62228         * modules/gc-arcfour (Makefile.am): Likewise.
62229         * modules/gc-des (Makefile.am): Likewise.
62230         * modules/gc-hmac-md5 (Makefile.am): Likewise.
62231         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
62232         * modules/gc-md4 (Makefile.am): Likewise.
62233         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
62234         * modules/gc-sha1 (Makefile.am): Likewise.
62235         * modules/gc (Makefile.am): Likewise.
62236         * modules/getaddrinfo (Makefile.am): Likewise.
62237         * modules/getcwd (Makefile.am): Likewise.
62238         * modules/getdelim (Makefile.am): Likewise.
62239         * modules/getdomainname (Makefile.am): Likewise.
62240         * modules/getgroups (Makefile.am): Likewise.
62241         * modules/gethostname (Makefile.am): Likewise.
62242         * modules/gethrxtime (Makefile.am): Likewise.
62243         * modules/getline (Makefile.am): Likewise.
62244         * modules/getloadavg (Makefile.am): Likewise.
62245         * modules/getlogin_r (Makefile.am): Likewise.
62246         * modules/getndelim2 (Makefile.am): Likewise.
62247         * modules/getopt (Makefile.am): Likewise.
62248         * modules/getpagesize (Makefile.am): Likewise.
62249         * modules/getpass-gnu (Makefile.am): Likewise.
62250         * modules/getpass (Makefile.am): Likewise.
62251         * modules/getsubopt (Makefile.am): Likewise.
62252         * modules/gettime (Makefile.am): Likewise.
62253         * modules/gettimeofday (Makefile.am): Likewise.
62254         * modules/getugroups (Makefile.am): Likewise.
62255         * modules/getusershell (Makefile.am): Likewise.
62256         * modules/glob (Makefile.am): Likewise.
62257         * modules/group-member (Makefile.am): Likewise.
62258         * modules/hard-locale (Makefile.am): Likewise.
62259         * modules/hash (Makefile.am): Likewise.
62260         * modules/hmac-md5 (Makefile.am): Likewise.
62261         * modules/hmac-sha1 (Makefile.am): Likewise.
62262         * modules/human (Makefile.am): Likewise.
62263         * modules/idcache (Makefile.am): Likewise.
62264         * modules/imaxabs (Makefile.am): Likewise.
62265         * modules/imaxdiv (Makefile.am): Likewise.
62266         * modules/inet_ntop (Makefile.am): Likewise.
62267         * modules/inet_pton (Makefile.am): Likewise.
62268         * modules/intprops (Makefile.am): Likewise.
62269         * modules/inttostr (Makefile.am): Likewise.
62270         * modules/inttypes (Makefile.am): Likewise.
62271         * modules/isapipe (Makefile.am): Likewise.
62272         * modules/javaversion (Makefile.am): Likewise.
62273         * modules/lchmod (Makefile.am): Likewise.
62274         * modules/lchown (Makefile.am): Likewise.
62275         * modules/localcharset (Makefile.am): Likewise.
62276         * modules/long-options (Makefile.am): Likewise.
62277         * modules/lstat (Makefile.am): Likewise.
62278         * modules/malloc (Makefile.am): Likewise.
62279         * modules/mathl (Makefile.am): Likewise.
62280         * modules/mbchar (Makefile.am): Likewise.
62281         * modules/md2 (Makefile.am): Likewise.
62282         * modules/md4 (Makefile.am): Likewise.
62283         * modules/md5 (Makefile.am): Likewise.
62284         * modules/memcasecmp (Makefile.am): Likewise.
62285         * modules/memchr (Makefile.am): Likewise.
62286         * modules/memcmp (Makefile.am): Likewise.
62287         * modules/memcoll (Makefile.am): Likewise.
62288         * modules/memcpy (Makefile.am): Likewise.
62289         * modules/memmem (Makefile.am): Likewise.
62290         * modules/memmove (Makefile.am): Likewise.
62291         * modules/mempcpy (Makefile.am): Likewise.
62292         * modules/memrchr (Makefile.am): Likewise.
62293         * modules/memset (Makefile.am): Likewise.
62294         * modules/memxor (Makefile.am): Likewise.
62295         * modules/mkancesdirs (Makefile.am): Likewise.
62296         * modules/mkdir-p (Makefile.am): Likewise.
62297         * modules/mkdir (Makefile.am): Likewise.
62298         * modules/mkdtemp (Makefile.am): Likewise.
62299         * modules/mkstemp (Makefile.am): Likewise.
62300         * modules/mktime (Makefile.am): Likewise.
62301         * modules/modechange (Makefile.am): Likewise.
62302         * modules/mountlist (Makefile.am): Likewise.
62303         * modules/nanosleep (Makefile.am): Likewise.
62304         * modules/obstack (Makefile.am): Likewise.
62305         * modules/openat (Makefile.am): Likewise.
62306         * modules/pagealign_alloc (Makefile.am): Likewise.
62307         * modules/pathmax (Makefile.am): Likewise.
62308         * modules/physmem (Makefile.am): Likewise.
62309         * modules/poll (Makefile.am): Likewise.
62310         * modules/posixtm (Makefile.am): Likewise.
62311         * modules/posixver (Makefile.am): Likewise.
62312         * modules/putenv (Makefile.am): Likewise.
62313         * modules/quote (Makefile.am): Likewise.
62314         * modules/quotearg (Makefile.am): Likewise.
62315         * modules/raise (Makefile.am): Likewise.
62316         * modules/read-file (Makefile.am): Likewise.
62317         * modules/readline (Makefile.am): Likewise.
62318         * modules/readlink (Makefile.am): Likewise.
62319         * modules/readtokens (Makefile.am): Likewise.
62320         * modules/readutmp (Makefile.am): Likewise.
62321         * modules/realloc (Makefile.am): Likewise.
62322         * modules/regex (Makefile.am): Likewise.
62323         * modules/rename-dest-slash (Makefile.am): Likewise.
62324         * modules/rename (Makefile.am): Likewise.
62325         * modules/rijndael (Makefile.am): Likewise.
62326         * modules/rmdir (Makefile.am): Likewise.
62327         * modules/rpmatch (Makefile.am): Likewise.
62328         * modules/safe-read (Makefile.am): Likewise.
62329         * modules/safe-write (Makefile.am): Likewise.
62330         * modules/same-inode (Makefile.am): Likewise.
62331         * modules/same (Makefile.am): Likewise.
62332         * modules/save-cwd (Makefile.am): Likewise.
62333         * modules/savedir (Makefile.am): Likewise.
62334         * modules/setenv (Makefile.am): Likewise.
62335         * modules/settime (Makefile.am): Likewise.
62336         * modules/sha1 (Makefile.am): Likewise.
62337         * modules/sig2str (Makefile.am): Likewise.
62338         * modules/snprintf (Makefile.am): Likewise.
62339         * modules/stat-macros (Makefile.am): Likewise.
62340         * modules/stat-time (Makefile.am): Likewise.
62341         * modules/stdbool (Makefile.am): Likewise.
62342         * modules/stdint (Makefile.am): Likewise.
62343         * modules/stdlib-safer (Makefile.am): Likewise.
62344         * modules/stpcpy (Makefile.am): Likewise.
62345         * modules/stpncpy (Makefile.am): Likewise.
62346         * modules/strcase (Makefile.am): Likewise.
62347         * modules/strcasestr (Makefile.am): Likewise.
62348         * modules/strchrnul (Makefile.am): Likewise.
62349         * modules/strcspn (Makefile.am): Likewise.
62350         * modules/strdup (Makefile.am): Likewise.
62351         * modules/strerror (Makefile.am): Likewise.
62352         * modules/strftime (Makefile.am): Likewise.
62353         * modules/strndup (Makefile.am): Likewise.
62354         * modules/strnlen (Makefile.am): Likewise.
62355         * modules/strpbrk (Makefile.am): Likewise.
62356         * modules/strsep (Makefile.am): Likewise.
62357         * modules/strstr (Makefile.am): Likewise.
62358         * modules/strtod (Makefile.am): Likewise.
62359         * modules/strtoimax (Makefile.am): Likewise.
62360         * modules/strtok_r (Makefile.am): Likewise.
62361         * modules/strtol (Makefile.am): Likewise.
62362         * modules/strtoll (Makefile.am): Likewise.
62363         * modules/strtoul (Makefile.am): Likewise.
62364         * modules/strtoull (Makefile.am): Likewise.
62365         * modules/strtoumax (Makefile.am): Likewise.
62366         * modules/strverscmp (Makefile.am): Likewise.
62367         * modules/sys_socket (Makefile.am): Likewise.
62368         * modules/sys_stat (Makefile.am): Likewise.
62369         * modules/sysexits (Makefile.am): Likewise.
62370         * modules/time_r (Makefile.am): Likewise.
62371         * modules/timegm (Makefile.am): Likewise.
62372         * modules/timespec (Makefile.am): Likewise.
62373         * modules/tmpfile-safer (Makefile.am): Likewise.
62374         * modules/trim (Makefile.am): Likewise.
62375         * modules/unistd-safer (Makefile.am): Likewise.
62376         * modules/unlinkdir (Makefile.am): Likewise.
62377         * modules/unlocked-io (Makefile.am): Likewise.
62378         * modules/userspec (Makefile.am): Likewise.
62379         * modules/utime (Makefile.am): Likewise.
62380         * modules/utimecmp (Makefile.am): Likewise.
62381         * modules/utimens (Makefile.am): Likewise.
62382         * modules/vasnprintf (Makefile.am): Likewise.
62383         * modules/vasprintf (Makefile.am): Likewise.
62384         * modules/vsnprintf (Makefile.am): Likewise.
62385         * modules/xalloc (Makefile.am): Likewise.
62386         * modules/xgetcwd (Makefile.am): Likewise.
62387         * modules/xnanosleep (Makefile.am): Likewise.
62388         * modules/xreadlink (Makefile.am): Likewise.
62389         * modules/xstrtod (Makefile.am): Likewise.
62390         * modules/xstrtol (Makefile.am): Likewise.
62391         * modules/xstrtold (Makefile.am): Likewise.
62392         * modules/yesno (Makefile.am): Likewise.
62393         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
62394
62395 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62396
62397         * modules/error (Makefile.am): Distribute files through
62398         EXTRA_DIST, not lib_SOURCES.
62399
62400 2006-10-12  Eric Blake  <ebb9@byu.net>
62401
62402         * modules/error (Makefile.am): Distribute files in /lib.
62403         * modules/obstack (Makefile.am): Likewise.
62404
62405 2006-10-12  Bruno Haible  <bruno@clisp.org>
62406
62407         * modules/acl (Makefile.am): Distribute all files in lib/ through
62408         EXTRA_DIST.
62409         * modules/arcfour (Makefile.am): Likewise.
62410         * modules/arctwo (Makefile.am): Likewise.
62411         * modules/argmatch (Makefile.am): Likewise.
62412         * modules/argz (Makefile.am): Likewise.
62413         * modules/atexit (Makefile.am): Likewise.
62414         * modules/backupfile (Makefile.am): Likewise.
62415         * modules/c-strtod (Makefile.am): Likewise.
62416         * modules/c-strtold (Makefile.am): Likewise.
62417         * modules/calloc (Makefile.am): Likewise.
62418         * modules/canon-host (Makefile.am): Likewise.
62419         * modules/canonicalize (Makefile.am): Likewise.
62420         * modules/chdir-long (Makefile.am): Likewise.
62421         * modules/chdir-safer (Makefile.am): Likewise.
62422         * modules/check-version (Makefile.am): Likewise.
62423         * modules/chown (Makefile.am): Likewise.
62424         * modules/cloexec (Makefile.am): Likewise.
62425         * modules/close-stream (Makefile.am): Likewise.
62426         * modules/closeout (Makefile.am): Likewise.
62427         * modules/crc (Makefile.am): Likewise.
62428         * modules/cycle-check (Makefile.am): Likewise.
62429         * modules/des (Makefile.am): Likewise.
62430         * modules/dirfd (Makefile.am): Likewise.
62431         * modules/dirname (Makefile.am): Likewise.
62432         * modules/dup2 (Makefile.am): Likewise.
62433         * modules/euidaccess (Makefile.am): Likewise.
62434         * modules/exclude (Makefile.am): Likewise.
62435         * modules/exitfail (Makefile.am): Likewise.
62436         * modules/fcntl-safer (Makefile.am): Likewise.
62437         * modules/file-type (Makefile.am): Likewise.
62438         * modules/fileblocks (Makefile.am): Likewise.
62439         * modules/filemode (Makefile.am): Likewise.
62440         * modules/filenamecat (Makefile.am): Likewise.
62441         * modules/fnmatch (Makefile.am): Likewise.
62442         * modules/fopen-safer (Makefile.am): Likewise.
62443         * modules/fpending (Makefile.am): Likewise.
62444         * modules/fprintftime (Makefile.am): Likewise.
62445         * modules/free (Makefile.am): Likewise.
62446         * modules/fsusage (Makefile.am): Likewise.
62447         * modules/ftruncate (Makefile.am): Likewise.
62448         * modules/fts (Makefile.am): Likewise.
62449         * modules/gc (Makefile.am): Likewise.
62450         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
62451         * modules/getaddrinfo (Makefile.am): Likewise.
62452         * modules/getcwd (Makefile.am): Likewise.
62453         * modules/getdelim (Makefile.am): Likewise.
62454         * modules/getdomainname (Makefile.am): Likewise.
62455         * modules/getgroups (Makefile.am): Likewise.
62456         * modules/gethostname (Makefile.am): Likewise.
62457         * modules/gethrxtime (Makefile.am): Likewise.
62458         * modules/getline (Makefile.am): Likewise.
62459         * modules/getloadavg (Makefile.am): Likewise.
62460         * modules/getlogin_r (Makefile.am): Likewise.
62461         * modules/getopt (Makefile.am): Likewise.
62462         * modules/getpass (Makefile.am): Likewise.
62463         * modules/getpass-gnu (Makefile.am): Likewise.
62464         * modules/getsubopt (Makefile.am): Likewise.
62465         * modules/gettime (Makefile.am): Likewise.
62466         * modules/gettimeofday (Makefile.am): Likewise.
62467         * modules/getugroups (Makefile.am): Likewise.
62468         * modules/getusershell (Makefile.am): Likewise.
62469         * modules/glob (Makefile.am): Likewise.
62470         * modules/group-member (Makefile.am): Likewise.
62471         * modules/hard-locale (Makefile.am): Likewise.
62472         * modules/hash (Makefile.am): Likewise.
62473         * modules/hmac-md5 (Makefile.am): Likewise.
62474         * modules/hmac-sha1 (Makefile.am): Likewise.
62475         * modules/human (Makefile.am): Likewise.
62476         * modules/idcache (Makefile.am): Likewise.
62477         * modules/imaxabs (Makefile.am): Likewise.
62478         * modules/imaxdiv (Makefile.am): Likewise.
62479         * modules/inet_ntop (Makefile.am): Likewise.
62480         * modules/inet_pton (Makefile.am): Likewise.
62481         * modules/inttostr (Makefile.am): Likewise.
62482         * modules/isapipe (Makefile.am): Likewise.
62483         * modules/lchown (Makefile.am): Likewise.
62484         * modules/long-options (Makefile.am): Likewise.
62485         * modules/lstat (Makefile.am): Likewise.
62486         * modules/malloc (Makefile.am): Likewise.
62487         * modules/mathl (Makefile.am): Likewise.
62488         * modules/mbchar (Makefile.am): Likewise.
62489         * modules/md2 (Makefile.am): Likewise.
62490         * modules/md4 (Makefile.am): Likewise.
62491         * modules/md5 (Makefile.am): Likewise.
62492         * modules/memcasecmp (Makefile.am): Likewise.
62493         * modules/memchr (Makefile.am): Likewise.
62494         * modules/memcmp (Makefile.am): Likewise.
62495         * modules/memcoll (Makefile.am): Likewise.
62496         * modules/memcpy (Makefile.am): Likewise.
62497         * modules/memmem (Makefile.am): Likewise.
62498         * modules/memmove (Makefile.am): Likewise.
62499         * modules/mempcpy (Makefile.am): Likewise.
62500         * modules/memrchr (Makefile.am): Likewise.
62501         * modules/memset (Makefile.am): Likewise.
62502         * modules/memxor (Makefile.am): Likewise.
62503         * modules/mkancesdirs (Makefile.am): Likewise.
62504         * modules/mkdir (Makefile.am): Likewise.
62505         * modules/mkdir-p (Makefile.am): Likewise.
62506         * modules/mkdtemp (Makefile.am): Likewise.
62507         * modules/mkstemp (Makefile.am): Likewise.
62508         * modules/mktime (Makefile.am): Likewise.
62509         * modules/modechange (Makefile.am): Likewise.
62510         * modules/mountlist (Makefile.am): Likewise.
62511         * modules/nanosleep (Makefile.am): Likewise.
62512         * modules/openat (Makefile.am): Likewise.
62513         * modules/pagealign_alloc (Makefile.am): Likewise.
62514         * modules/physmem (Makefile.am): Likewise.
62515         * modules/poll (Makefile.am): Likewise.
62516         * modules/posixtm (Makefile.am): Likewise.
62517         * modules/posixver (Makefile.am): Likewise.
62518         * modules/putenv (Makefile.am): Likewise.
62519         * modules/quote (Makefile.am): Likewise.
62520         * modules/quotearg (Makefile.am): Likewise.
62521         * modules/raise (Makefile.am): Likewise.
62522         * modules/read-file (Makefile.am): Likewise.
62523         * modules/readline (Makefile.am): Likewise.
62524         * modules/readlink (Makefile.am): Likewise.
62525         * modules/readtokens (Makefile.am): Likewise.
62526         * modules/readutmp (Makefile.am): Likewise.
62527         * modules/realloc (Makefile.am): Likewise.
62528         * modules/regex (Makefile.am): Likewise.
62529         * modules/rename (Makefile.am): Likewise.
62530         * modules/rename-dest-slash (Makefile.am): Likewise.
62531         * modules/rijndael (Makefile.am): Likewise.
62532         * modules/rmdir (Makefile.am): Likewise.
62533         * modules/rpmatch (Makefile.am): Likewise.
62534         * modules/safe-read (Makefile.am): Likewise.
62535         * modules/safe-write (Makefile.am): Likewise.
62536         * modules/same (Makefile.am): Likewise.
62537         * modules/save-cwd (Makefile.am): Likewise.
62538         * modules/savedir (Makefile.am): Likewise.
62539         * modules/setenv (Makefile.am): Likewise.
62540         * modules/settime (Makefile.am): Likewise.
62541         * modules/sha1 (Makefile.am): Likewise.
62542         * modules/sig2str (Makefile.am): Likewise.
62543         * modules/snprintf (Makefile.am): Likewise.
62544         * modules/stdlib-safer (Makefile.am): Likewise.
62545         * modules/stpcpy (Makefile.am): Likewise.
62546         * modules/stpncpy (Makefile.am): Likewise.
62547         * modules/strcase (Makefile.am): Likewise.
62548         * modules/strcasestr (Makefile.am): Likewise.
62549         * modules/strchrnul (Makefile.am): Likewise.
62550         * modules/strcspn (Makefile.am): Likewise.
62551         * modules/strdup (Makefile.am): Likewise.
62552         * modules/strerror (Makefile.am): Likewise.
62553         * modules/strftime (Makefile.am): Likewise.
62554         * modules/strndup (Makefile.am): Likewise.
62555         * modules/strnlen (Makefile.am): Likewise.
62556         * modules/strpbrk (Makefile.am): Likewise.
62557         * modules/strsep (Makefile.am): Likewise.
62558         * modules/strstr (Makefile.am): Likewise.
62559         * modules/strtod (Makefile.am): Likewise.
62560         * modules/strtoimax (Makefile.am): Likewise.
62561         * modules/strtok_r (Makefile.am): Likewise.
62562         * modules/strtol (Makefile.am): Likewise.
62563         * modules/strtoll (Makefile.am): Likewise.
62564         * modules/strtoul (Makefile.am): Likewise.
62565         * modules/strtoull (Makefile.am): Likewise.
62566         * modules/strtoumax (Makefile.am): Likewise.
62567         * modules/strverscmp (Makefile.am): Likewise.
62568         * modules/time_r (Makefile.am): Likewise.
62569         * modules/timegm (Makefile.am): Likewise.
62570         * modules/tmpfile-safer (Makefile.am): Likewise.
62571         * modules/unistd-safer (Makefile.am): Likewise.
62572         * modules/unlinkdir (Makefile.am): Likewise.
62573         * modules/userspec (Makefile.am): Likewise.
62574         * modules/utime (Makefile.am): Likewise.
62575         * modules/utimecmp (Makefile.am): Likewise.
62576         * modules/utimens (Makefile.am): Likewise.
62577         * modules/vasnprintf (Makefile.am): Likewise.
62578         * modules/vasprintf (Makefile.am): Likewise.
62579         * modules/vsnprintf (Makefile.am): Likewise.
62580         * modules/xalloc (Makefile.am): Likewise.
62581         * modules/xgetcwd (Makefile.am): Likewise.
62582         * modules/xnanosleep (Makefile.am): Likewise.
62583         * modules/xreadlink (Makefile.am): Likewise.
62584         * modules/xstrtod (Makefile.am): Likewise.
62585         * modules/xstrtol (Makefile.am): Likewise.
62586         * modules/xstrtold (Makefile.am): Likewise.
62587         * modules/yesno (Makefile.am): Likewise.
62588
62589 2006-10-12  Jim Meyering  <jim@meyering.net>
62590
62591         * m4/getloadavg.m4: Revert the change below.
62592
62593         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
62594         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
62595         fail with a symlink, which is what coreutils' ./bootstrap now
62596         creates by default.
62597
62598 2006-10-12  Bruno Haible  <bruno@clisp.org>
62599
62600         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
62601         mingw.
62602         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
62603         MSVC and mingw explicitly.
62604
62605 2006-10-11  Simon Josefsson  <jas@extundo.com>
62606             Bruno Haible  <bruno@clisp.org>
62607
62608         Add support for multiple gnulib-tool invocations in the scope of a
62609         single configure.ac file.
62610         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
62611         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
62612         with the same contents as the _LIBADD variable.
62613         (func_emit_initmacro_start, func_emit_initmacro_end,
62614         func_emit_initmacro_done): New functions.
62615         (func_import, func_create_testdir): Invoke them. Allow the identifiers
62616         gl_LIBOBJS and gl_LTLIBOBJS.
62617
62618 2006-10-11  Bruno Haible  <bruno@clisp.org>
62619
62620         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
62621         (func_create_testdir): Don't create po/Makefile.am, don't invoke
62622         autoreconf. Instead, invoke autopoint explicitly but move back the
62623         *.m4 files from gnulib.
62624
62625 2006-10-11  Bruno Haible  <bruno@clisp.org>
62626
62627         * gnulib-tool (func_usage): Make module names after --create-testdir
62628         optional.
62629         (func_create_testdir): If no module was specified, use nearly all
62630         modules.
62631
62632 2006-10-12  Jim Meyering  <jim@meyering.net>
62633
62634         Big performance improvement for fts-based tools that use FTS_NOSTAT.
62635         Avoid spurious inode-mismatch problems on non-POSIX file systems.
62636         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
62637         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
62638         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
62639         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
62640         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
62641         (fts_set_stat_required): New function.
62642         (fts_open): Defer the calls to fts_stat, if possible or requested.
62643         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
62644         into fts_stat itself.
62645         (fts_read): Perform any required (deferred) fts_stat call.
62646         (fts_build): Likewise, for the directory we're about to open and read.
62647         In the readdir loop, carefully decide whether each entry will require
62648         an eventual call to fts_stat, using dirent.d_type info if available.
62649         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
62650         a command line argument into this function.  Update all callers.
62651         Map a return value of FTS_DOT to FTS_D for a command line argument.
62652         * modules/fts (Depends-on): Add d-type.  Alphabetize.
62653         Thanks to Miklos Szeredi for his tenacity and for the initial
62654         bug report about "find" failing on a FUSE-based file system.
62655
62656         * lib/fts.c (fts_open): Use consistent indentation.
62657
62658 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62659
62660         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
62661         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
62662         reported by Jim Meyering.  All uses of cache variables renamed
62663         to match Autoconf's.
62664         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
62665         the other one.
62666
62667         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
62668         Fix misspelling in diagnostic.
62669
62670 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62671
62672         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
62673         defined.  Problem reported by Matthew Woehlke.
62674
62675         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
62676         Add support for Tandem NonStop R series.
62677         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
62678         Use new macro.
62679
62680         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
62681         (has_trailing_slash): Omit size arg; all callers changed.
62682         Omit 'inline', since it doesn't help performance and we'd
62683         need to configure it.
62684         Don't count //, ///, etc. as having a trailing slash.
62685         As a side effect, this removes a C99ism reported by Matthew Woehlke.
62686         (rpl_rename_dest_slash): On failure, use rename's errno rather
62687         than (in some cases) an incorrect or junk errno.
62688         Simplify code by removing need to compute length; this does
62689         cause it to make two passes instead of one over the file name,
62690         but it's worth it.
62691
62692         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
62693         change, since Autoconf's version may no longer be appropriate now
62694         that we are using CVS Autoconf's version.  Add support for Tandem.
62695
62696 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62697             Bruno Haible  <bruno@clisp.org>
62698
62699         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
62700         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
62701         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
62702         gl_AC_TYPE_LONG_LONG.
62703
62704         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
62705         instead of HAVE_LONG_LONG.
62706         * lib/printf-args.c (printf_fetchargs): Likewise.
62707         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
62708         * lib/vasnprintf.c (VASNPRINTF): Likewise.
62709         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
62710         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
62711         gl_AC_TYPE_LONG_LONG.
62712
62713 2006-10-11  Bruno Haible  <bruno@clisp.org>
62714
62715         * m4/longlong.m4: Add comments.
62716         * m4/ulonglong.m4: Likewise.
62717
62718 2006-10-10  Bruno Haible  <bruno@clisp.org>
62719
62720         Make it possible to #define stpcpy, strdup to aliases.
62721         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
62722         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
62723
62724 2006-10-10  Bruno Haible  <bruno@clisp.org>
62725
62726         Make it possible to #define gcd to an alias.
62727         * lib/gcd.c: Include config.h.
62728
62729 2006-10-10  Bruno Haible  <bruno@clisp.org>
62730
62731         Make it possible to #define c_isascii to an alias.
62732         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
62733         defined. Undefine the macros before defining them, to avoid gcc
62734         warnings.
62735         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
62736         define NO_C_CTYPE_MACROS early.
62737
62738 2006-10-10  Bruno Haible  <bruno@clisp.org>
62739
62740         Make it possible to #define set_program_name to an alias.
62741         * lib/progname.c: Don't undefine set_program_name; instead, undefine
62742         ENABLE_RELOCATABLE early.
62743
62744 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
62745
62746         Port to Tandem NSK OSS, which has 64-bit signed int but at most
62747         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
62748         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
62749         More generally, don't assume that 64-bit signed int is available
62750         if unsigned int is, and vice versa.
62751         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
62752         unsigned symbols, not on their signed counterparts.
62753         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
62754         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
62755         (UINT64_C, UINTMAX_C):
62756         Likewise.
62757         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
62758         unsigned counterparts.
62759         (Have_long_long, Unsigned): New macros.
62760         (Int): Renamed from INT.
62761         (strtoimax): Use the new macros.
62762         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
62763         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
62764         * modules/inttypes (inttypes.h): Substitute
62765         HAVE_UNSIGNED_LONG_LONG_INT.
62766         * modules/stdint (stdint.h): Likewise.
62767         (Files): Add m4/ulonglong.m4.
62768
62769 2006-10-10  Bruno Haible  <bruno@clisp.org>
62770
62771         Fix a gcc -Wshadow warning.
62772         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
62773         to 'bucket'.
62774         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
62775         gl_linked_indexof_from_to): Likewise.
62776         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
62777         Likewise.
62778         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
62779         Likewise.
62780         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
62781         Reported by Eric Blake.
62782
62783 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
62784
62785         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
62786         for NetBSD.  Problem reported by Bruno Haible.
62787
62788 2006-10-09  Jim Meyering  <jim@meyering.net>
62789
62790         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
62791         Patch from Bruno Haible.
62792
62793 2006-10-09  Jim Meyering  <jim@meyering.net>
62794
62795         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
62796         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
62797         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
62798
62799 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62800
62801         Don't include <config.h> twice; this doesn't work in some cases,
62802         e.g., when config.h has "#define intmax_t long long int" and
62803         we include <config.h>, <inttypes.h>, <config.h> in that order.
62804         Problem reported by Matthew Woehlke in:
62805         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
62806         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
62807         * lib/fts-cycle.c: Don't include config.h.
62808         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
62809         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
62810         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
62811         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
62812         inttypes.h.
62813         * lib/xstrtoumax.c: Likewise.
62814         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
62815         __strtol and the like, so that this module is more like its siblings.
62816         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
62817         Remove; no longer needed now that we assume gnulib inttypes.h.
62818
62819 2006-10-08  Bruno Haible  <bruno@clisp.org>
62820
62821         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
62822         option.
62823
62824 2006-10-07  Jim Meyering  <jim@meyering.net>
62825
62826         * modules/inttypes (inttypes.h): Revert what seems to have been
62827         an inadvertent part of today's change: use "|", not "/" in the
62828         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
62829
62830 2006-10-07  Bruno Haible  <bruno@clisp.org>
62831
62832         * modules/sublist: New file.
62833
62834 2006-10-07  Bruno Haible  <bruno@clisp.org>
62835
62836         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
62837         * modules/argz (argz.h): Likewise.
62838         * modules/arpa_inet (arpa/inet.h): Likewise.
62839         * modules/byteswap (byteswap.h): Likewise.
62840         * modules/configmake (configmake.h): Likewise.
62841         * modules/fcntl (fcntl.h): Likewise.
62842         * modules/fnmatch (fnmatch.h): Likewise.
62843         * modules/getopt (getopt.h): Likewise.
62844         * modules/glob (glob.h): Likewise.
62845         * modules/inttypes (inttypes.h): Likewise.
62846         * modules/netinet_in (netinet/in.h): Likewise.
62847         * modules/poll (poll.h): Likewise.
62848         * modules/stdbool (stdbool.h): Likewise.
62849         * modules/stdint (stdint.h): Likewise.
62850         * modules/sys_select (sys/select.h): Likewise.
62851         * modules/sys_socket (sys/socket.h): Likewise.
62852         * modules/sys_stat (sys/stat.h): Likewise.
62853         * modules/sysexits (sysexits.h): Likewise.
62854         * modules/unistd (unistd.h): Likewise.
62855         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62856         Add a "DO NOT EDIT" comment to the generated file.
62857         (func_import): Likewise for gnulib-comp.m4.
62858
62859 2006-10-07  Bruno Haible  <bruno@clisp.org>
62860
62861         * lib/gl_sublist.h: New file.
62862         * lib/gl_sublist.c: New file.
62863
62864 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
62865
62866         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
62867         name (relative to the original working directory) and the file
62868         name component (relative to the temporary working directory).  All
62869         callers changed.
62870         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
62871         * lib/mkdir-p.c (make_dir_parents): Likewise.
62872         * lib/mkdir-p.h (make_dir_parents): Likewise.
62873
62874 2006-10-06  Eric Blake  <ebb9@byu.net>
62875
62876         Define several macros for use by the clean-temp module.
62877         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
62878         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
62879         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
62880
62881         * lib/clean-temp.h (close_stream_temp): New declaration.
62882         * lib/clean-temp.c (includes): Pull in headers according to what
62883         other modules are in use.
62884         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
62885
62886 2006-10-06  Bruno Haible  <bruno@clisp.org>
62887
62888         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
62889         instead of fopen, fwriteerror.
62890
62891 2006-10-06  Bruno Haible  <bruno@clisp.org>
62892
62893         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
62894         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
62895         int.
62896         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
62897         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
62898         Return an error indicator.
62899         Suggested by Eric Blake.
62900
62901 2006-10-06  Bruno Haible  <bruno@clisp.org>
62902
62903         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
62904         Reported by Eric Blake.
62905
62906 2006-10-06  Bruno Haible  <bruno@clisp.org>
62907
62908         * modules/closeout (Description): Mention stderr too.
62909
62910 2006-10-06  Bruno Haible  <bruno@clisp.org>
62911         and Paul Eggert  <eggert@cs.ucla.edu>
62912
62913         * lib/closeout.c (close_stdout): Also close stderr.
62914         * lib/closeout.h: Update comment.
62915
62916 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
62917
62918         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
62919         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
62920         * lib/dirchownmod.c: Include lchown.h.
62921         * lib/lchown.c: Don't include files that lchown.h now includes.
62922         Don't declare chown, since lchown.h now does that.
62923         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
62924         (lchown): Define to rpl_chown if lchown is declared but
62925         does not exist.  Declare using a prototype if lchown is not
62926         declared.  Add a copyright notice.
62927         * lib/mkstemp.h: Include <unistd.h>.
62928         * lib/openat.c: Include lchown.h.
62929
62930         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
62931         we now test for that separately.
62932         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
62933         rather than O_NOFOLLOW, when testing whether it's possible to
62934         avoid a race condition reliably.
62935         * lib/savewd.c (savewd_chdir): Likewise.
62936
62937         Remove macros that are no longer needed now that stdint.h is
62938         reliable.
62939         * lib/fsusage.c (UINTMAX_MAX): Remove.
62940         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
62941         * lib/utimecmp.c (SIZE_MAX): Remove.
62942
62943         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
62944
62945         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
62946         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
62947         O_NOATIME works.
62948
62949 2006-10-05  Bruno Haible  <bruno@clisp.org>
62950
62951         * lib/gl_list.h (gl_sortedlist_search_from_to,
62952         gl_sortedlist_indexof_from_to): New declarations.
62953         (gl_list_implementation): New fields sortedlist_search_from_to,
62954         sortedlist_indexof_from_to.
62955         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
62956         inline functions.
62957         * lib/gl_list.c (gl_sortedlist_search_from_to,
62958         gl_sortedlist_indexof_from_to): New functions.
62959         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
62960         function.
62961         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
62962         (gl_array_sortedlist_search_from_to): New function.
62963         (gl_array_list_implementation): Update.
62964         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
62965         function.
62966         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
62967         (gl_carray_sortedlist_search_from_to): New function.
62968         (gl_carray_list_implementation): Update.
62969         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
62970         gl_linked_sortedlist_indexof_from_to): New functions.
62971         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62972         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62973         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
62974         gl_tree_sortedlist_indexof_from_to): New functions.
62975         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62976         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62977         Update.
62978         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62979         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
62980         Update.
62981
62982 2006-10-05  Bruno Haible  <bruno@clisp.org>
62983
62984         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
62985         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
62986         (struct gl_list_implementation): Add fields search_from_to,
62987         indexof_from_to. Remove fields search, indexof.
62988         (gl_list_search): Use the search_from_to method.
62989         (gl_list_search_from, gl_list_search_from_to): New functions.
62990         (gl_list_indexof): Use the indexof_from_to method.
62991         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
62992         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
62993         (gl_list_search_from, gl_list_search_from_to): New functions.
62994         (gl_list_indexof): Use the indexof_from_to method.
62995         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
62996         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
62997         gl_array_indexof. Add start_index, end_index arguments.
62998         (gl_array_search_from_to): Renamed from gl_array_search. Add
62999         start_index, end_index arguments.
63000         (gl_array_remove, gl_array_list_implementation): Update.
63001         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
63002         gl_carray_indexof. Add start_index, end_index arguments.
63003         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
63004         start_index, end_index arguments.
63005         (gl_carray_remove, gl_carray_list_implementation): Update.
63006         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
63007         gl_linked_search. Add start_index, end_index arguments.
63008         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
63009         start_index, end_index arguments.
63010         (gl_linked_remove): Update.
63011         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
63012         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
63013         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
63014         field to 'size_t'.
63015         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
63016         gl_tree_search. Add start_index, end_index arguments.
63017         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
63018         start_index, end_index arguments.
63019         (gl_tree_remove): Update.
63020         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
63021         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
63022         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
63023         function.
63024         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
63025         gl_tree_search. Add start_index, end_index arguments.
63026         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
63027         start_index, end_index arguments.
63028         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
63029         Update.
63030         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
63031
63032 2006-10-05  Bruno Haible  <bruno@clisp.org>
63033
63034         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
63035
63036         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
63037         fwriteerror_temp): New declarations.
63038         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
63039         (descriptors): New variable.
63040         (cleanup): First, close the descriptors.
63041         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
63042         fclose_temp, fwriteerror_temp): New functions.
63043
63044 2006-10-04  Jim Meyering  <jim@meyering.net>
63045
63046         * lib/fts.c (fts_open): Tiny comment change.
63047
63048 2006-10-04  Bruno Haible  <bruno@clisp.org>
63049
63050         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
63051         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
63052         gl_LOCK_BODY.
63053         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
63054         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
63055         gl_LOCK_EARLY_BODY.
63056         (gl_LOCK): Require gl_LOCK_BODY.
63057
63058 2006-10-04  Bruno Haible  <bruno@clisp.org>
63059
63060         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
63061         (gl_oset_search_atleast): New declaration.
63062         (struct gl_oset_implementation): Add field 'search_atleast'.
63063         (gl_oset_search_atleast): New inline function.
63064         * lib/gl_oset.c (gl_oset_search_atleast): New function.
63065         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
63066         (gl_array_oset_implementation): Update.
63067         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
63068         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
63069         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
63070
63071 2006-10-04  Bruno Haible  <bruno@clisp.org>
63072
63073         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
63074
63075 2006-10-03  Bruno Haible  <bruno@clisp.org>
63076
63077         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
63078         from gl_avltreehash_list_implementation.
63079
63080 2006-10-03  Bruno Haible  <bruno@clisp.org>
63081
63082         * lib/gl_oset.c (gl_oset_add): Fix return type.
63083
63084 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
63085
63086         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
63087
63088 2006-10-02  Eric Blake  <ebb9@byu.net>
63089
63090         * modules/strnlen (Depends-on): Add extensions.
63091
63092 2006-10-02  Eric Blake  <ebb9@byu.net>
63093
63094         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
63095         definition in 2.60+.
63096
63097 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
63098
63099         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
63100         checks.
63101
63102 2006-10-02  Bruno Haible  <bruno@clisp.org>
63103
63104         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
63105         to the AUTOMAKE_OPTIONS.
63106         Reported by Jim Meyering.
63107
63108 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
63109
63110         Work around bug in Solaris 10 /proc file system:
63111         /proc/self/fd/NNN/.. isn't the parent directory of
63112         the directory whose file descriptor is NNN.  This needs to
63113         be worked around at run time, not compile time, since a
63114         program might be built on Solaris 8, where things work, and
63115         run on Solaris 10.
63116         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
63117         to use the following interface instead:
63118         (OPENAT_BUFFER_SIZE): New macro.
63119         (openat_proc_name): New function.
63120         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
63121         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
63122         Likewise.
63123         * lib/openat-proc.c: New file.
63124         * modules/openat (Files): Add lib/openat-proc.c.
63125         (Depends-on): Add same-inode, stdbool.
63126         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
63127
63128 2006-09-29  Bruno Haible  <bruno@clisp.org>
63129
63130         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
63131         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
63132         argument. Set stdout_closed before testing for ferror, not after.
63133         (fwriteerror, fwriteerror_no_ebadf): New functions.
63134
63135 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63136
63137         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
63138
63139 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
63140
63141         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
63142         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
63143
63144 2006-09-28  Jim Meyering  <jim@meyering.net>
63145
63146         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
63147         Include <unistd.h>.
63148
63149 2006-09-28  Bruno Haible  <bruno@clisp.org>
63150
63151         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
63152         * modules/linkedhash-list (Depends-on): Likewise.
63153         * modules/rbtreehash-list (Depends-on): Likewise.
63154
63155 2006-09-28  Bruno Haible  <bruno@clisp.org>
63156
63157         * lib/strndup.h: Simplify the redefinition of strndup.
63158         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
63159         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
63160
63161 2006-09-28  Bruno Haible  <bruno@clisp.org>
63162
63163         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
63164         * lib/gl_linkedhash_list.c: Likewise.
63165         * lib/gl_rbtreehash_list.c: Likewise.
63166
63167 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
63168
63169         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
63170         getaddrinfo.
63171
63172         * lib/__fpending.h: Don't include <stdio_ext.h> unless
63173         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
63174         it causes <stdio_ext.h> to cause a compile-time error.
63175         Problem reported by Nelson H. F. Beebe.
63176         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
63177         of HAVE_DECL___PENDING.
63178
63179         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
63180         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
63181         declaration.
63182
63183 2006-09-27  Jim Meyering  <jim@meyering.net>
63184
63185         This file could end up with a definition for a function
63186         named __strndup, rather than rpl_strndup on a system with
63187         incomplete weak_alias support.
63188         * lib/strndup.c (strndup): Rename from __strndup.
63189         Remove #defines that used to map __strndup to strndup.
63190         Don't use K&R prototypes.
63191         Remove LIBC-related code, since this file is not sync'd with glibc.
63192         * lib/strndup.h: Revamp, accordingly.
63193         * m4/strndup.m4: Modernize.
63194
63195 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
63196
63197         * modules/savewd (Depends-on): Add 'raise'.
63198         * lib/savewd.c: Include <signal.h>, for 'raise'.
63199
63200 2006-09-26  Jim Meyering  <jim@meyering.net>
63201
63202         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
63203         when we detect Darwin 8.7.0's acl_get_file bug.
63204         Rearrange to perform the new (below) run-test while $LIBS
63205         contains any acl-related library.  Set USE_ACL at the end.
63206         (gl_ACL_GET_FILE): New function.
63207
63208 2006-09-26  Eric Blake  <ebb9@byu.net>
63209
63210         * lib/verror.c: Include <config.h> unconditionally.
63211
63212 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
63213
63214         * modules/clock-time (Maintainer): Add self.
63215         * modules/getlogin_r (Depends-on): Add extensions.
63216
63217 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63218
63219         * modules/clock-time: New module.
63220         * modules/nanosleep (Depends-on): Add clock-time.
63221         * modules/gethrxtime (Depends-on): Likewise.
63222         * modules/gettime (Depends-on): Likewise.
63223         * modules/settime (Depends-on): Likewise.
63224
63225         * modules/fts-lgpl: Depend on openat.
63226         * modules/mkancesdirs: Depend on savewd.
63227         * modules/mkdir-p: Likewise.
63228
63229 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63230
63231         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
63232
63233         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
63234         `gl_have_arbitrary_file_name_length_limit' to
63235         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
63236         actually works between configure runs.
63237
63238 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63239             Bruno Haible  <bruno@clisp.org>
63240
63241         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
63242
63243 2006-09-25  Jim Meyering  <jim@meyering.net>
63244
63245         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
63246         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
63247
63248 2006-09-25  Eric Blake  <ebb9@byu.net>
63249
63250         * gnulib-tool (func_import, func_create_testdir): Fix typos in
63251         exec's in 2006-09-18 patch when shuffling fds.
63252
63253 2006-09-25  Bruno Haible  <bruno@clisp.org>
63254
63255         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
63256         Reported by Jim Meyering.
63257
63258 2006-09-24  Jim Meyering  <jim@meyering.net>
63259
63260         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
63261         compare a pointer against a literal "0".  That caused failures with
63262         at least HP-UX's hpcc.
63263
63264 2006-09-22  Simon Josefsson  <jas@extundo.com>
63265
63266         * modules/gc-sha1:
63267         * modules/gc-md4:
63268         * modules/gc-hmac-sha1:
63269         * modules/gc-hmac-md5:
63270         * modules/gc-des:
63271         * modules/gc-arcfour: Distribute more files.
63272
63273 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63274
63275         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
63276         (gl_linked_iterator_from_to): Initialize struct completely.
63277         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
63278         (gl_tree_iterator_from_to): Likewise
63279         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
63280         * lib/gl_array_list.c [lint] (gl_array_iterator)
63281         (gl_array_iterator_from_to): Likewise.
63282         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
63283         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
63284         (gl_carray_iterator_from_to): Likewise.
63285
63286         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
63287         * lib/md4.c (md4_process_block): Remove unused variable.
63288         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
63289         parentheses for clarity.
63290
63291 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63292
63293         * modules/bison-i18n (Depends-on): Add gettext.
63294
63295 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63296
63297         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
63298         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
63299         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
63300         also add missing comma that caused broken test.
63301         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
63302         stdlib.h, for `abort'.
63303         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
63304         variables.
63305         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
63306         include unistd.h if present, for `rmdir'.
63307         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
63308         variables.
63309         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
63310         in the process include standard headers for prototypes.
63311         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
63312         gets declared on GNU/Linux.
63313         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
63314         unistd.h, for `rmdir'.
63315         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
63316
63317         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
63318         always true.
63319         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
63320
63321         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
63322
63323 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63324
63325         * gnulib-tool (func_version): Create output all at once.  This
63326         may help avoid triggering unnecessary SIGPIPEs, and at any
63327         rate it doesn't hurt.
63328
63329 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63330             Bruno Haible  <bruno@clisp.org>
63331
63332         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
63333         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
63334         * m4/signed.m4 (bh_C_SIGNED): Likewise.
63335
63336         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
63337         (gl_FUNC_VASPRINTF): Invoke it.
63338
63339 2006-09-22  Bruno Haible  <bruno@clisp.org>
63340
63341         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
63342         getloadavg.c as first argument.
63343
63344 2006-09-22  Bruno Haible  <bruno@clisp.org>
63345
63346         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
63347         at the beginning of the gl_INIT macro.
63348         * modules/getloadavg (configure.ac): Pass $gl_source_base to
63349         gl_GETLOADAVG.
63350
63351 2006-09-22  Bruno Haible  <bruno@clisp.org>
63352
63353         * gnulib-tool (func_create_megatestdir): Don't include the config-h
63354         module.
63355         Suggested by Ralf Wildenhues.
63356
63357 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
63358
63359         Import this patch from libc:
63360
63361         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
63362
63363         * lib/regex_internal.c (re_string_reconstruct): Handle
63364         offset < pstr->valid_raw_len && pstr->offsets_needed case.
63365         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
63366         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
63367         re_string_context_at.
63368
63369         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
63370         now requires it.
63371         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
63372         gl_REGEX now does it for us.
63373         (gl_REGEX): Add test taken from
63374         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
63375
63376         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
63377         Check that large offsets work.  Modernize Autoconf usages.
63378         Prefer "yes" to mean a good thing rather than a bad.
63379         Don't put "#define mkstemp" in config.h, as this might interfere
63380         with standard system headers that "#define mkstemp mkstemp64".
63381
63382         * modules/mkstemp (Depends-on): Add extensions, so that
63383         mkstemp is visible on some platforms.
63384         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
63385         (Include): Change to "mkstemp.h" from <stdlib.h>.
63386         (Files): Add mkstemp.h.
63387
63388         * lib/mkstemp.h: New file, since some standard headers
63389         #define mkstemp.
63390         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
63391         Include "mkstemp.h".
63392         Make the _LIBC code resemble glibc original more,
63393         e.g., use K&R style.
63394         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
63395         (mkstemp): Remove, since mkstemp.h does this for us.
63396         * lib/stdlib--.h: Include mkstemp.h.
63397
63398         Import this patch from libc:
63399
63400         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
63401
63402         * lib/tempname.c (__gen_tempname): Change attempts_min
63403         into a macro.  Use preprocessor to decide how to initialize
63404         attempts [Coverity CID 67].
63405
63406 2006-09-20  Bruno Haible  <bruno@clisp.org>
63407
63408         * lib/mkdtemp.c: Import from libc.
63409         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
63410                 * sysdeps/posix/tempname.c (__gen_tempname): Change
63411                 attempts_min into a macro.  Use preprocessor to decide how to
63412                 initialize attempts [Coverity CID 67].
63413         2001-11-27  Paul Eggert  <eggert@twinsun.com>
63414                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
63415                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
63416
63417 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63418
63419         * gnulib-tool (func_exit): New function, to allow to pass the
63420         exit status portably through the trap.  Use everywhere.
63421         (--help, --version): Signal a write error.
63422         (trap): catch SIGPIPE, for write errors.
63423         Exit at the end of the trap, with the correct exit status.
63424
63425 2006-09-19  Karl Berry  <karl@gnu.org>
63426
63427         * doc/gnulib.texi: note about the license texinfo files.
63428
63429 2006-09-19  Eric Blake  <ebb9@byu.net>
63430
63431         * gnulib-tool: Avoid space-tab.
63432
63433 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
63434
63435         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
63436         that prevented coreutils 6.1 from building.  Problem reported
63437         by Petter Reinholdtsen.
63438
63439 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
63440
63441         * gnulib-tool (avoidlist): Fix typo that broke options like
63442         --avoid=lock that are used by coreutils bootstrap.
63443
63444 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
63445
63446         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
63447         more systematically.
63448
63449 2006-09-18  Jim Meyering  <jim@meyering.net>
63450
63451         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
63452
63453 2006-09-18  Bruno Haible  <bruno@clisp.org>
63454
63455         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
63456
63457 2006-09-18  Bruno Haible  <bruno@clisp.org>
63458
63459         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
63460         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
63461         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
63462         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
63463         * m4/gettext.m4: Require autoconf >= 2.52.
63464         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
63465         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
63466         of gl_cv_header_inttypes_h.
63467
63468 2006-09-18  Bruno Haible  <bruno@clisp.org>
63469
63470         * lib/javaversion.c: Include configmake.h.
63471
63472 2006-09-18  Bruno Haible  <bruno@clisp.org>
63473
63474         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
63475         avoid that the while loops be executed in a subshell.
63476
63477 2006-09-18  Bruno Haible  <bruno@clisp.org>
63478
63479         * MODULES.html.sh (func_module): Break long lines.
63480         Suggested by Bruce Korb <bkorb@gnu.org>.
63481
63482 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63483
63484         Speed up by a factor of 1.12.
63485         * gnulib-tool (nl): New variable.
63486         (func_import): Rewrite include directive extraction to only read each
63487         directive once.
63488
63489 2006-09-17  Bruno Haible  <bruno@clisp.org>
63490
63491         * modules/javaversion (Makefile.am): Remove DEFS setting.
63492         (Depends-on): Add configmake, for PKGDATADIR definition.
63493
63494 2006-09-17  Bruno Haible  <bruno@clisp.org>
63495
63496         * gnulib-tool (func_create_testdir): Rewrite all files at once.
63497
63498 2006-09-17  Bruno Haible  <bruno@clisp.org>
63499
63500         * gnulib-tool (func_append): New function, stolen from libtool.m4.
63501         (func_modules_transitive_closure, func_modules_add_dummy,
63502         func_modules_to_filelist, func_import, func_create_testdir,
63503         func_create_megatestdir, ...): Use it wherever possible.
63504         Suggested by Ralf Wildenhues.
63505
63506 2006-09-16  Karl Berry  <karl@gnu.org>
63507
63508         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
63509         to avoid sectioning errors.
63510         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
63511         [ifinfo]: blank line after @center-ed titles.
63512         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
63513         Spell FSF address consistently with others.
63514         (These changes approved by rms.)
63515
63516 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63517
63518         Speed up by a factor of 1.61.
63519         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
63520         already checked module names again.
63521
63522 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63523
63524         Speed up by a factor of 1.13.
63525         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
63526         for new_files, and the input to func_add_or_update.
63527
63528 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63529
63530         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
63531         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
63532
63533 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63534
63535         * modules/mkancesdirs (Depends-on): Add fcntl.
63536         * modules/savewd: New file.
63537         * MODULES.html.sh (File system functions): Add savewd.
63538
63539         * modules/configmake (Makefile.am): Add support for the
63540         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
63541
63542 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63543
63544         * m4/savewd.m4: New file.
63545
63546 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
63547
63548         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
63549         (dirchownmod): New arg FD.  All callers changed.
63550         Use FD rather than opening the directory ourself, as opening is
63551         now the caller's responsibility.
63552         * lib/dirchownmod.h: Likewise.
63553         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
63554         hosts that require <sys/types.h> before <sys/stat.h>.  Include
63555         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
63556         (test_dir): Remove.
63557         (mkancesdirs): Return length of prefix of FILE that has already
63558         been made, or -2 if there is a child doing the work.  Redo
63559         algorithm so that it is O(N) rather than O(N**2).  Optimize away
63560         ".", and treat ".." specially since it might stray back into
63561         already-created areas.  Use a subprocess if necessary.  New arg
63562         WD; all users changed.  MAKE_DIR function should now return 1
63563         if it creates a directory that is not readable.  Return -2 if
63564         a child process is spun off.
63565         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
63566         Adjust signature to match code.
63567         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
63568         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
63569         all users changed.
63570         * lib/savewd.c, lib/savewd.h: New files.
63571
63572 2006-09-15  Jim Meyering  <jim@meyering.net>
63573
63574         * modules/rename-dest-slash: New module.
63575         * MODULES.html.sh (posix_compat): Add it here.
63576
63577         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
63578
63579 2006-09-15  Jim Meyering  <jim@meyering.net>
63580
63581         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
63582         file.
63583
63584         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
63585
63586 2006-09-15  Jim Meyering  <jim@meyering.net>
63587
63588         * lib/rename-dest-slash.c (has_trailing_slash): Use
63589         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
63590         (rpl_rename_dest_slash): Perform the cheaper trailing slash
63591         test before testing whether SRC is a directory.
63592         Suggestions from Bruno Haible.
63593
63594         Avoid a warning about an unused variable.
63595         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
63596         into the #ifdef block where it's used.
63597
63598         * lib/rename-dest-slash.c: New file.
63599
63600 2006-09-14  Bruno Haible  <bruno@clisp.org>
63601
63602         * lib/allocsa.c: Include <config.h> unconditionally.
63603         * lib/asnprintf.c: Likewise.
63604         * lib/asprintf.c: Likewise.
63605         * lib/c-strcasecmp.c: Likewise.
63606         * lib/c-strcasestr.c: Likewise.
63607         * lib/c-strncasecmp.c: Likewise.
63608         * lib/c-strstr.c: Likewise.
63609         * lib/classpath.c: Likewise.
63610         * lib/clean-temp.c: Likewise.
63611         * lib/concatpath.c: Likewise.
63612         * lib/copy-file.c: Likewise.
63613         * lib/csharpcomp.c: Likewise.
63614         * lib/csharpexec.c: Likewise.
63615         * lib/execute.c: Likewise.
63616         * lib/fatal-signal.c: Likewise.
63617         * lib/findprog.c: Likewise.
63618         * lib/fwriteerror.c: Likewise.
63619         * lib/gl_array_list.c: Likewise.
63620         * lib/gl_array_oset.c: Likewise.
63621         * lib/gl_avltree_list.c: Likewise.
63622         * lib/gl_avltree_oset.c: Likewise.
63623         * lib/gl_avltreehash_list.c: Likewise.
63624         * lib/gl_carray_list.c: Likewise.
63625         * lib/gl_linked_list.c: Likewise.
63626         * lib/gl_linkedhash_list.c: Likewise.
63627         * lib/gl_list.c: Likewise.
63628         * lib/gl_oset.c: Likewise.
63629         * lib/gl_rbtree_list.c: Likewise.
63630         * lib/gl_rbtree_oset.c: Likewise.
63631         * lib/gl_rbtreehash_list.c: Likewise.
63632         * lib/imaxabs.c: Likewise.
63633         * lib/imaxdiv.c: Likewise.
63634         * lib/javacomp.c: Likewise.
63635         * lib/javaexec.c: Likewise.
63636         * lib/javaversion.c: Likewise.
63637         * lib/linebreak.c: Likewise.
63638         * lib/localcharset.c: Likewise.
63639         * lib/lock.c: Likewise.
63640         * lib/mbchar.c: Likewise.
63641         * lib/mbswidth.c: Likewise.
63642         * lib/mkdtemp.c: Likewise.
63643         * lib/pipe.c: Likewise.
63644         * lib/printf-args.c: Likewise.
63645         * lib/printf-parse.c: Likewise.
63646         * lib/progname.c: Likewise.
63647         * lib/progreloc.c: Likewise.
63648         * lib/readlink.c: Likewise.
63649         * lib/sh-quote.c: Likewise.
63650         * lib/stpcpy.c: Likewise.
63651         * lib/stpncpy.c: Likewise.
63652         * lib/strcasecmp.c: Likewise.
63653         * lib/strcasestr.c: Likewise.
63654         * lib/strcspn.c: Likewise.
63655         * lib/striconv.c: Likewise.
63656         * lib/strncasecmp.c: Likewise.
63657         * lib/strnlen1.c: Likewise.
63658         * lib/strstr.c: Likewise.
63659         * lib/strtok_r.c: Likewise.
63660         * lib/tls.c: Likewise.
63661         * lib/tmpdir.c: Likewise.
63662         * lib/unicodeio.c: Likewise.
63663         * lib/unsetenv.c: Likewise.
63664         * lib/vasnprintf.c: Likewise.
63665         * lib/vasprintf.c: Likewise.
63666         * lib/wait-process.c: Likewise.
63667         * lib/xallocsa.c: Likewise.
63668         * lib/xsetenv.c: Likewise.
63669         * lib/xstriconv.c: Likewise.
63670
63671 2006-09-13  Simon Josefsson  <jas@extundo.com>
63672
63673         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
63674         that internally, suggested by Ralf Wildenhues
63675         <Ralf.Wildenhues@gmx.de>.
63676
63677 2006-09-13  Simon Josefsson  <jas@extundo.com>
63678
63679         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
63680         @LIBOBJS@.
63681         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63682
63683 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
63684
63685         * lib/_fpending.c: Include <config.h> unconditionally, since we no
63686         longer worry about uses that don't define HAVE_CONFIG_H.
63687         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
63688         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
63689         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
63690         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
63691         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
63692         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
63693         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
63694         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
63695         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
63696         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
63697         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
63698         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
63699         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
63700         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
63701         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
63702         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
63703         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
63704         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
63705         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
63706         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
63707         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
63708         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
63709         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
63710         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
63711         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
63712         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
63713         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
63714         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
63715         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
63716         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
63717         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
63718         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
63719         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
63720         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
63721         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
63722         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
63723         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
63724         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
63725         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
63726         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
63727         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
63728         Likewise.
63729
63730 2006-09-13  Eric Blake  <ebb9@byu.net>
63731
63732         * lib/getopt.c: Fix typo in last commit.
63733
63734 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63735
63736         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
63737         dgettext.
63738
63739 2006-09-12  Jim Meyering  <jim@meyering.net>
63740
63741         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
63742         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
63743         Reported by Nelson H. F. Beebe.
63744
63745 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63746
63747         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
63748         program_invocation_name and program_invocation_short_name are
63749         initialized.
63750         * lib/argp-namefrob.h: Move declarations of program_invocation_name
63751         and program_invocation_short_name to argp.h, so they are visible
63752         to user programs.
63753         * lib/argp.h: Likewise
63754
63755 2006-09-10  Bruno Haible  <bruno@clisp.org>
63756
63757         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
63758         m4/inttypes_h.m4, m4/uintmax_t.m4.
63759
63760 2006-09-10  Bruno Haible  <bruno@clisp.org>
63761
63762         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
63763         gl_AC_TYPE_UINTMAX_T.
63764
63765 2006-09-10  Bruno Haible  <bruno@clisp.org>
63766
63767         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
63768
63769 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63770
63771         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
63772         convention.  Text proposed by Bruno Haible.
63773         (struct argp_option): Document the use of N_() wrappers.
63774
63775         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
63776         '\v', and translate the two parts separately, instead of feeding
63777         the whole string to gettext.  This allows to exclude
63778         '\v' from the strings visible to the translator by writing doc
63779         strings as N_("..") "\v" N_("..").
63780
63781 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
63782
63783         * config/srclist.txt: Undo latest change; the bug was fixed.
63784
63785 2006-09-09  Bruno Haible  <bruno@clisp.org>
63786
63787         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
63788         assignments if building a library without libtool.
63789         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
63790         in func_emit_lib_Makefile_am.
63791         (func_import): When building a static library libfoo.a, arrange to
63792         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
63793         (func_create_testdir): Likewise.
63794         * modules/gc (configure.ac, Makefile.am): If building statically,
63795         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
63796         * modules/iconvme (configure.ac, Makefile.am): Likewise.
63797         * modules/striconv (configure.ac, Makefile.am): Likewise.
63798         Based on a suggestion by Ralf Wildenhues.
63799
63800 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63801
63802         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
63803         Check for unistd.h too, since Autoconf doesn't assume POSIX.
63804         Also:
63805
63806         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63807         Add year_2050_test to catch glibc bug 2821
63808         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
63809
63810         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63811         Prefer #ifdef to #if.
63812
63813         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
63814         Return from 'main' instead of calling 'exit'.
63815
63816 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63817
63818         * lib/mktime.c (guess_time_tm): Fix bug where mktime
63819         returned the maximum time_t value rather than (time_t) -1.
63820         Problem originally reported by William Bardwell
63821         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
63822
63823         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
63824         Moved to here ...
63825         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
63826         ... from here.
63827
63828 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
63829
63830         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
63831         2821 is fixed.
63832
63833 2006-09-08  Jim Meyering  <jim@meyering.net>
63834
63835         Don't make generated files read-only.  That would bother too many
63836         people.  However, do retain the ability to work when targets are
63837         read-only: remove the destination and temporary files before writing
63838         them (when generated via sed or echo), or by using the -f option for
63839         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
63840         * modules/alloca-opt, modules/argz, modules/arpa_inet:
63841         * modules/byteswap, modules/configmake, modules/fcntl:
63842         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
63843         * modules/localcharset, modules/netinet_in, modules/poll:
63844         * modules/stdbool, modules/stdint, modules/sys_select:
63845         * modules/sys_socket, modules/sys_stat, modules/sysexits:
63846
63847 2006-09-08  Jim Meyering  <jim@meyering.net>
63848
63849         Avoid new build failure on FreeBSD 6.0.
63850         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
63851         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
63852         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
63853
63854 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63855
63856         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
63857
63858 2006-09-07  Jim Meyering  <jim@meyering.net>
63859
63860         Fix global typo in last change: use chmod u-w, not chmod u-x.
63861         Spotted by Paul Eggert and Bruce Korb.
63862         * modules/alloca-opt, modules/argz, modules/arpa_inet:
63863         * modules/byteswap, modules/configmake, modules/fcntl:
63864         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
63865         * modules/localcharset, modules/netinet_in, modules/poll:
63866         * modules/stdbool, modules/stdint, modules/sys_select:
63867         * modules/sys_socket, modules/sys_stat, modules/sysexits:
63868
63869 2006-09-06  Jim Meyering  <jim@meyering.net>
63870
63871         Make generated files be read-only.
63872         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
63873         Ensure that each generated file is now read-only.
63874         * modules/argz: Likewise.
63875         * modules/arpa_inet: Likewise.
63876         * modules/byteswap: Likewise.
63877         * modules/configmake: Likewise.
63878         * modules/fcntl: Likewise.
63879         * modules/fnmatch: Likewise.
63880         * modules/getopt: Likewise.
63881         * modules/glob: Likewise.
63882         * modules/inttypes: Likewise.
63883         * modules/netinet_in: Likewise.
63884         * modules/poll: Likewise.
63885         * modules/stdbool: Likewise.
63886         * modules/stdint: Likewise.
63887         * modules/sys_select: Likewise.
63888         * modules/sys_socket: Likewise.
63889         * modules/sys_stat: Likewise.
63890         * modules/sysexits: Likewise.
63891         * modules/localcharset: Same as above, but continue using temporary
63892         file named "t-$@" (why different?) rather than the "$@-t" used
63893         everywhere else.
63894
63895         * modules/sysexits (Makefile.am): Replace literal occurrences
63896         of "sysexit.h" more readable, and more consistent, "$@".
63897
63898 2006-09-06  Bruno Haible  <bruno@clisp.org>
63899
63900         * modules/striconv: New file.
63901         * modules/xstriconv: New file.
63902         * MODULES.html.sh (Internationalization functions): Add striconv,
63903         xstriconv.
63904
63905 2006-09-06  Bruno Haible  <bruno@clisp.org>
63906
63907         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
63908         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
63909         not using libtool correctly.
63910
63911 2006-09-06  Bruno Haible  <bruno@clisp.org>
63912
63913         * lib/striconv.h: New file.
63914         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
63915         iconvstring.c.
63916         * lib/xstriconv.h: New file.
63917         * lib/xstriconv.c: New file.
63918
63919 2006-09-06  Bruno Haible  <bruno@clisp.org>
63920
63921         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
63922         lib_..._LDFLAGS.
63923
63924 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63925
63926         * lib/argz_.h: Sync from Libtool.
63927
63928         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
63929                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
63930
63931         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
63932
63933 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
63934
63935         * modules/trim: New file.
63936
63937 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
63938
63939         * lib/trim.h: New file.
63940         * lib/trim.c: New file.
63941
63942 2006-09-05  Bruno Haible  <bruno@clisp.org>
63943
63944         * MODULES.html.sh (String handling): Add trim.
63945
63946 2006-09-04  Karl Berry  <karl@gnu.org>
63947
63948         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
63949         until next release.
63950
63951 2006-09-03  Bruno Haible  <bruno@clisp.org>
63952
63953         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
63954         correctly.
63955
63956 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63957
63958         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
63959         not gl_GETLOADAVG.  Omit unneeded semicolons.
63960         Problems reported by Ralf Wildenhues in
63961         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
63962         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
63963         at the end, which is the usual gnulib style.
63964
63965         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
63966         of doing all the work ourselves.
63967         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
63968         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
63969
63970 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63971
63972         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
63973         Problem reported by Ralf Wildenhues in
63974         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
63975
63976         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
63977         HAVE_STRUCT_STATFS_F_FSTYPENAME.
63978
63979 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
63980
63981         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
63982         yesterday's patch by changing test -n to test -z.
63983
63984 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63985
63986         * modules/getloadavg (Files): Add m4/getloadavg.m4.
63987         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
63988         the former is now obsolescent.
63989
63990         * modules/chdir-long (Depends-on): Add fcntl.
63991
63992 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
63993
63994         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
63995         obsolescent, and programs should use gnulib instead.
63996         * m4/getloadavg.m4: New file, with contents taken from Autoconf
63997         but with prefixes changed.
63998
63999 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64000
64001         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
64002         or stdbool.h, because they might not exist while configuring.
64003
64004         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
64005         Don't include unistd.h or limits.h; not needed, since chdir-long.h
64006         does that for us.
64007         (O_DIRECTORY): Remove.
64008
64009 2006-08-31  Eric Blake  <ebb9@byu.net>
64010
64011         * gnulib-tool: Don't let emacs change spaces to TAB.
64012
64013 2006-08-31  Bruno Haible  <bruno@clisp.org>
64014
64015         * gnulib-tool: When calling func_import more than once, do it in a
64016         subshell.
64017         Reported by Eric Blake <ebb9@byu.net>.
64018
64019 2006-08-31  Bruno Haible  <bruno@clisp.org>
64020
64021         * gnulib-tool (nl): Remove variable.
64022         (sed_transform_lib_file): Use more robust test for config-h module.
64023         (func_import): Fix typo in 2006-08-25 patch.
64024
64025 2006-08-31  Bruno Haible  <bruno@clisp.org>
64026
64027         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
64028         specified, augment Makefile.am variables instead of assigning them.
64029
64030 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
64031
64032         Work around a bug in both the Linux and SunOS 64-bit kernels:
64033         nanosleep mishandles sleeps for longer than 2**31 seconds.
64034         Problem reported by Frank v Waveren in
64035         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
64036         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
64037         Check for nanosleep bug.
64038         (LIB_NANOSLEEP): Append clock_gettime library if needed.
64039
64040 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
64041
64042         Work around a bug in both the Linux and SunOS 64-bit kernels:
64043         nanosleep mishandles sleeps for longer than 2**31 seconds.
64044         Problem reported by Frank v Waveren in
64045         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
64046         * lib/nanosleep.c (BILLION): New constant.
64047         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
64048         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
64049         implementation.
64050
64051 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
64052
64053         * modules/nanosleep (Depends-on): Add gettime.
64054
64055 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
64056         and Simon Josefsson  <jas@extundo.com>
64057         and Oskar Liljeblad  <oskar@osk.mine.nu>
64058
64059         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
64060         * gnulib-tool (func_import): New license type 'unmodifiable license
64061         text'.
64062         * modules/fdl: Use it.  Longer description.
64063         * module/gpl, module/lgpl: New files.
64064
64065 2006-08-30  Jim Meyering  <jim@meyering.net>
64066
64067         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
64068         shadowing the parameter.
64069
64070 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64071
64072         Sync from Libtool:
64073
64074         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64075
64076         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
64077         sharing with gnulib.  Report by Eric Blake.
64078
64079 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
64080
64081         * modules/isapipe: New file.
64082         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
64083
64084 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
64085
64086         * modules/configmake (Makefile.am): Add a comment, and omit
64087         the CONFIGMAKE_ prefix from generated macro names.  Suggested
64088         by Bruno Haible.
64089
64090 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
64091
64092         * m4/isapipe.m4: New file.
64093
64094 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
64095
64096         * lib/isapipe.c, lib/isapipe.h: New files.
64097
64098 2006-08-29  Jim Meyering  <jim@meyering.net>
64099
64100         * modules/configmake (Makefile.am): Make configmake.h depend on
64101         Makefile.  Otherwise, a stale configmake.h could hang around.
64102
64103 2006-08-29  Eric Blake  <ebb9@byu.net>
64104
64105         * lib/error.c (error_at_line, print_errno_message): Match libc, after
64106         resolution of upstream bug 3044.
64107
64108 2006-08-29  Bruno Haible  <bruno@clisp.org>
64109
64110         * modules/localcharset (Depends-on): Add configmake.
64111         (Makefile.am): Remove setting of LIBDIR through DEFS.
64112
64113 2006-08-29  Bruno Haible  <bruno@clisp.org>
64114
64115         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
64116         defined.
64117
64118 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
64119
64120         * modules/fcntl: New file.
64121         * modules/chdir-safer (Depends-on): Add fcntl.
64122         * modules/fts: Likewise.
64123         * modules/mkdir-p: Likewise.
64124
64125         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
64126         This undoes the most recent change, since we're now addressing the
64127         problem in a different way.
64128
64129         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
64130         into output, since the output might be called Makefile.am even
64131         if $makefile_name is something different.
64132         (func_import): Use $makefile_am rather than
64133         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
64134         empty.
64135
64136         * modules/inttypes (Files): Add m4/inttypes-h.m4.
64137
64138 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
64139
64140         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
64141         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
64142         recent change to stdint.m4, since we're now addressing the problem in a
64143         different way.
64144
64145 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
64146
64147         * m4/fcntl_h.m4: New file.
64148
64149 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
64150
64151         * lib/fcntl_.h: New file.
64152         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
64153         the fcntl module.
64154         * lib/dirchownmod.c: Likewise.
64155         * lib/fts.c: Likewise.
64156
64157         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
64158         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
64159         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
64160         just before including <inttypes.h>, to avoid circular inclusion.
64161
64162 2006-08-28  Jim Meyering  <jim@meyering.net>
64163
64164         * doc/visibility.texi: Actually read and correct the grammar of the
64165         sentence affected by yesterday's change.
64166
64167 2006-08-28  Eric Blake  <ebb9@byu.net>
64168
64169         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
64170         needs wrapper.
64171
64172 2006-08-28  Eric Blake  <ebb9@byu.net>
64173
64174         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
64175
64176 2006-08-28  Eric Blake  <ebb9@byu.net>
64177
64178         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
64179
64180 2006-08-28  Bruno Haible  <bruno@clisp.org>
64181
64182         * modules/c-strstr: New file, from GNU gettext.
64183         * MODULES.html.sh (String handling): Add c-strstr.
64184
64185 2006-08-28  Bruno Haible  <bruno@clisp.org>
64186
64187         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
64188         macros.
64189         Reported by Eric Blake.
64190
64191 2006-08-28  Bruno Haible  <bruno@clisp.org>
64192
64193         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
64194         (VASNPRINTF): Return a string of length > INT_MAX without failing.
64195         * lib/vasprintf.c: Include errno.h, limits.h.
64196         (EOVERFLOW): New fallback definition.
64197         (vasprintf): Test here whether the string length is > INT_MAX.
64198         * lib/vsnprintf.c: Include errno.h, limits.h.
64199         (EOVERFLOW): New fallback definition.
64200         (vsnprintf): Fix bug when generated string was too long for the buffer.
64201         Test here whether the string length is > INT_MAX.
64202
64203 2006-08-28  Bruno Haible  <bruno@clisp.org>
64204
64205         * lib/inttypes_.h (SCNX*): Remove definitions.
64206         Reported by Eric Blake.
64207
64208 2006-08-28  Bruno Haible  <bruno@clisp.org>
64209
64210         * lib/c-strstr.h: New file, from GNU gettext.
64211         * lib/c-strstr.c: New file, from GNU gettext.
64212
64213 2006-08-28  Bruno Haible  <bruno@clisp.org>
64214
64215         * gnulib-tool: Reorder some statements.
64216
64217 2006-08-28  Bruno Haible  <bruno@clisp.org>
64218
64219         * gnulib-tool: New option --makefile-name.
64220         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
64221         $makefile_name.
64222         (func_import): Write $makefile_name to the cache file, and read it from
64223         there unless explicitly specified. Use $makefile_name as file name
64224         instead of Makefile.am. Adjust the recommendations accordingly.
64225
64226 2006-08-28  Bruno Haible  <bruno@clisp.org>
64227
64228         * gnulib-tool (func_verify_module): Check against misapplying patch.
64229
64230 2006-08-28  Bruno Haible  <bruno@clisp.org>
64231
64232         * gnulib-tool (func_relativize, func_relconcat): New functions.
64233         Give an error if --local-dir is given with --update.
64234         Remove trailing slashes from $local_gnulib_dir.
64235         (func_import): Store the relativized $local_gnulib_dir in
64236         gnulib-cache.m4, and read it from there if not specified explicitly.
64237
64238 2006-08-28  Bruno Haible  <bruno@clisp.org>
64239
64240         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
64241         is the current directory. Respect also $local_gnulib_dir.
64242
64243 2006-08-28  Bruno Haible  <bruno@clisp.org>
64244             Simon Josefsson  <jas@extundo.com>
64245
64246         BeOS portability.
64247         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
64248
64249 2006-08-27  Jim Meyering  <jim@meyering.net>
64250
64251         * doc/visibility.texi: Remove duplicate word: "pointer".
64252
64253 2006-08-26  Bruno Haible  <bruno@clisp.org>
64254
64255         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
64256         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
64257         (Makefile.am): Create inttypes.h from inttypes_.h.
64258         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
64259
64260         * modules/imaxabs: New file.
64261
64262         * modules/imaxdiv: New file.
64263
64264 2006-08-26  Bruno Haible  <bruno@clisp.org>
64265
64266         * m4/inttypes.m4: New file.
64267         * m4/_inttypes_h.m4: Remove file.
64268         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
64269         PRI_MACROS_BROKEN.
64270         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
64271
64272         * m4/imaxabs.m4: New file.
64273
64274         * m4/imaxdiv.m4: New file.
64275
64276 2006-08-26  Bruno Haible  <bruno@clisp.org>
64277
64278         * lib/inttypes_.h: New file.
64279         * lib/inttypes.h: Remove file.
64280         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
64281
64282         * lib/imaxabs.c: New file.
64283
64284         * lib/imaxdiv.c: New file.
64285
64286 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64287
64288         New config-h module, so that "make" output needn't be cluttered
64289         by -DHAVE_CONFIG_H.
64290         * MODULES.html.sh (Support for building libraries and executables):
64291         Add config-h.
64292         * modules/config-h: New file.
64293         * gnulib-tool (nl, sed_transform_lib_file): New vars.
64294         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
64295         the config-h module is used.
64296
64297         New configmake module, so that "make" output needn't be cluttered
64298         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
64299         * MODULES.html.sh (Support for building libraries and executables):
64300         Add configmake.
64301         * modules/configmake: New file.
64302
64303 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64304
64305         * m4/config-h.m4: New file.
64306
64307 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64308
64309         * config/srclist.txt: Add elisp-comp.
64310
64311 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64312
64313         * MODULES.html.sh (Support for building libraries and executables):
64314         Add elisp-comp.
64315         * build-aux/elisp-comp: New file.
64316         * modules/elisp-comp: New file.
64317
64318 2006-08-24  Bruno Haible  <bruno@clisp.org>
64319
64320         * gnulib-tool (func_create_testdir): Use non-default values of
64321         sourcebase and m4base.
64322
64323 2006-08-24  Bruno Haible  <bruno@clisp.org>
64324
64325         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
64326         HTML structure.
64327
64328 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
64329
64330         * modules/openat (Depends-on): Add lchown.
64331
64332 2006-08-23  Bruno Haible  <bruno@clisp.org>
64333
64334         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
64335         of gl_LOCK_EARLY instead of gl_LOCK.
64336
64337 2006-08-23  Bruno Haible  <bruno@clisp.org>
64338
64339         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
64340         on OSF/1 to no.
64341         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
64342
64343 2006-08-23  Bruno Haible  <bruno@clisp.org>
64344
64345         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
64346         as unusable.
64347
64348         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
64349         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
64350         (gl_LOCK): New macro.
64351
64352 2006-08-22  Simon Josefsson  <jas@extundo.com>
64353
64354         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
64355         to md5 module.
64356
64357 2006-08-22  Simon Josefsson  <jas@extundo.com>
64358
64359         * MODULES.html.sh: Add "Support for maintaining and release
64360         projects".
64361
64362         * build-aux/gnupload: New file, from coreutils.
64363
64364 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
64365
64366         Avoid the need for AC_LIBSOURCES in m4 macros.
64367         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
64368         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
64369         * modules/check-version (EXTRA_DIST): Add check-version.h.
64370         * modules/crc (EXTRA_DIST): Add crc.h.
64371         * modules/des (EXTRA_DIST): Add des.h.
64372         * modules/gc (EXTRA_DIST): Add gc.h.
64373         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
64374         * modules/getline (EXTRA_DIST): Add getline.h.
64375         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
64376         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
64377         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
64378         * modules/md2 (EXTRA_DIST): Add md2.h.
64379         * modules/md4 (EXTRA_DIST): Add md4.h.
64380         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
64381         * modules/read-file (EXTRA_DIST): Add read-file.h.
64382         * modules/readline (EXTRA_DIST): Add readline.h.
64383         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
64384         rijndael-api-fst.h.
64385
64386 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
64387
64388         * m4/rijndael.m4 (gl_ARCFOUR):
64389         * m4/arctwo.m4 (gl_ARCTWO):
64390         * m4/check-version.m4 (gl_CHECK_VERSION):
64391         * m4/crc.m4 (gl_CRC):
64392         * m4/des.m4 (gl_DES):
64393         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
64394         * m4/gc.m4 (gl_GC):
64395         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
64396         * m4/getline.m4 (gl_FUNC_GETLINE):
64397         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
64398         * m4/hmac-md5.m4 (gl_HMAC_MD5):
64399         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
64400         * m4/md2.m4 (gl_MD2):
64401         * m4/md4.m4 (gl_MD4):
64402         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
64403         * m4/read-file.m4 (gl_FUNC_READ_FILE):
64404         * m4/readline.m4 (gl_FUNC_READLINE):
64405         * m4/rijndael.m4 (gl_RIJNDAEL):
64406         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
64407         to get the necessary .h files and whatnot.
64408
64409 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
64410
64411         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
64412         gnulib rather than the other way around.
64413         * config/srclistvars.sh (COREUTILS): Remove.
64414
64415 2006-08-22  Jim Meyering  <jim@meyering.net>
64416
64417         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
64418
64419         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
64420
64421 2006-08-22  Eric Blake  <ebb9@byu.net>
64422
64423         * modules/regexprops-generic: New file.
64424         * MODULES.html.sh (Support for building documentation): List it.
64425
64426 2006-08-22  Eric Blake  <ebb9@byu.net>
64427
64428         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
64429         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
64430         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
64431         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
64432
64433 2006-08-22  Bruno Haible  <bruno@clisp.org>
64434
64435         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
64436         and lib_LTLIBRARIES like the other lib_* variables.
64437
64438 2006-08-22  Bruno Haible  <bruno@clisp.org>
64439
64440         * build-aux/x-to-1.in: New file, from GNU gettext.
64441
64442 2006-08-22  Bruno Haible  <bruno@clisp.org>
64443
64444         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
64445         <utmpx.h> exists.
64446
64447 2006-08-22  Bruno Haible  <bruno@clisp.org>
64448
64449         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
64450         <utmpx.h> exists.
64451
64452 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
64453
64454         BeOS portability.
64455         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
64456         exist.
64457         Problem reported by Bruno Haible.
64458
64459 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
64460
64461         Avoid the need for AC_LIBSOURCES in m4 macros.
64462         * modules/acl (EXTRA_DIST): Add acl.h.
64463         * modules/argmatch (Files): Add m4/argmatch.m4.
64464         (configure.ac): Add gl_ARGMATCH.
64465         (EXTRA_DIST): Renamed from lib_SOURCES, for
64466         consistency with the other modules.  Remove argmatch.c.
64467         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
64468         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
64469         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
64470         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
64471         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
64472         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
64473         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
64474         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
64475         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
64476         * modules/closeout (EXTRA_DIST): Add closeout.h.
64477         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
64478         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
64479         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
64480         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
64481         dirname.h; remove basename.c and stripslash.c.
64482         * modules/exclude (EXTRA_DIST): Add exclude.h.
64483         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
64484         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
64485         * modules/file-type (EXTRA_DIST): Add file-type.h.
64486         * modules/filemode (EXTRA_DIST): Add filemode.h.
64487         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
64488         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
64489         * modules/fpending (EXTRA_DIST): Add __fpending.h.
64490         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
64491         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
64492         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
64493         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
64494         * modules/getdate (EXTRA_DIST): Add getdate.c.
64495         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
64496         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
64497         * modules/getpass (EXTRA_DIST): Add getpass.h.
64498         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
64499         * modules/group-member (EXTRA_DIST): Add group-member.h.
64500         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
64501         * modules/hash (EXTRA_DIST): Add hash.h.
64502         * modules/human (EXTRA_DIST): Add human.h.
64503         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
64504         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
64505         * modules/lchown (EXTRA_DIST): Add lchown.h.
64506         * modules/long-options (EXTRA_DIST): Add long-options.h.
64507         * modules/lstat (EXTRA_DIST): Add lstat.h.
64508         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
64509         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
64510         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
64511         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
64512         * modules/memxor (EXTRA_DIST): Add memxor.h.
64513         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
64514         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
64515         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
64516         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
64517         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
64518         * modules/physmem (EXTRA_DIST): Add physmem.h.
64519         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
64520         * modules/posixver (EXTRA_DIST): Add posixver.h.
64521         * modules/quote (EXTRA_DIST): Add quote.h.
64522         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
64523         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
64524         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
64525         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
64526         regex_internal.h regexec.c.
64527         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
64528         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
64529         * modules/same (EXTRA_DIST): Add same.h.
64530         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
64531         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
64532         * modules/savedir (EXTRA_DIST): Add savedir.h.
64533         * modules/sha1 (EXTRA_DIST): Add sha1.h.
64534         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
64535         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
64536         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
64537         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
64538         * modules/strdup (EXTRA_DIST): Add strdup.h.
64539         * modules/strftime (EXTRA_DIST): Add strftime.h.
64540         * modules/strndup (EXTRA_DIST): Add strndup.h.
64541         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
64542         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
64543         * modules/time_r (EXTRA_DIST): Add time_r.h.
64544         * modules/timespec (EXTRA_DIST): Add timespec.h.
64545         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
64546         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
64547         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
64548         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
64549         * modules/userspec (EXTRA_DIST): Add userspec.h.
64550         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
64551         * modules/utimens (EXTRA_DIST): Add utimens.h.
64552         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
64553         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
64554         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
64555         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
64556         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
64557         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
64558         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
64559         * modules/yesno (EXTRA_DIST): Add yesno.h.
64560
64561 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
64562
64563         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
64564
64565         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
64566         * m4/dev-ino.m4, same-inode.m4: Remove.
64567
64568         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
64569         * m4/acl.m4 (AC_FUNC_ACL):
64570         * m4/backupfile.m4 (gl_BACKUPFILE):
64571         * m4/c-strtod.m4 (gl_C99_STRTOLD):
64572         * m4/canon-host.m4 (gl_CANON_HOST):
64573         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
64574         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
64575         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
64576         * m4/cloexec.m4 (gl_CLOEXEC):
64577         * m4/close-stream.m4 (gl_CLOSE_STREAM):
64578         * m4/closeout.m4 (gl_CLOSEOUT):
64579         * m4/dirfd.m4 (gl_FUNC_DIRFD):
64580         * m4/dirname.m4 (gl_DIRNAME):
64581         * m4/exclude.m4 (gl_EXCLUDE):
64582         * m4/exitfail.m4 (gl_EXITFAIL):
64583         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
64584         * m4/file-type.m4 (gl_FILE_TYPE):
64585         * m4/filemode.m4 (gl_FILEMODE):
64586         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
64587         * m4/fpending.m4 (gl_FUNC_FPENDING):
64588         * m4/fprintftime.m4 (gl_FPRINTFTIME):
64589         * m4/fts.m4 (gl_FUNC_FTS):
64590         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
64591         * m4/getdate.m4 (gl_GETDATE):
64592         * m4/gethrxtime.m4 (gl_GETHRXTIME):
64593         * m4/getpagesize.m4 (gl_GETPAGESIZE):
64594         * m4/getpass.m4 (gl_FUNC_GETPASS):
64595         * m4/gettime.m4 (gl_GETTIME):
64596         * m4/getugroups.m4 (gl_GETUGROUPS):
64597         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
64598         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
64599         * m4/hard-locale.m4 (gl_HARD_LOCALE):
64600         * m4/hash.m4 (gl_HASH):
64601         * m4/idcache.m4 (gl_IDCACHE):
64602         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
64603         * m4/lchown.m4 (gl_FUNC_LCHOWN):
64604         * m4/long-options.m4 (gl_LONG_OPTIONS):
64605         * m4/lstat.m4 (gl_FUNC_LSTAT):
64606         * m4/md5.m4 (gl_MD5):
64607         * m4/memcasecmp.m4 (gl_MEMCASECMP):
64608         * m4/memcoll.m4 (gl_MEMCOLL):
64609         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
64610         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
64611         * m4/memxor.m4 (gl_MEMXOR):
64612         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
64613         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
64614         * m4/modechange.m4 (gl_MODECHANGE):
64615         * m4/mountlist.m4 (gl_MOUNTLIST):
64616         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
64617         * m4/openat.m4 (gl_FUNC_OPENAT):
64618         * m4/pathmax.m4 (gl_PATHMAX):
64619         * m4/physmem.m4 (gl_PHYSMEM):
64620         * m4/posixtm.m4 (gl_POSIXTM):
64621         * m4/posixver.m4 (gl_POSIXVER):
64622         * m4/quote.m4 (gl_QUOTE):
64623         * m4/quotearg.m4 (gl_QUOTEARG):
64624         * m4/readtokens.m4 (gl_READTOKENS):
64625         * m4/readutmp.m4 (gl_READUTMP):
64626         * m4/regex.m4 (gl_REGEX):
64627         * m4/safe-read.m4 (gl_SAFE_READ):
64628         * m4/safe-write.m4 (gl_SAFE_WRITE):
64629         * m4/same.m4 (gl_SAME):
64630         * m4/save-cwd.m4 (gl_SAVE_CWD):
64631         * m4/savedir.m4 (gl_SAVEDIR):
64632         * m4/settime.m4 (gl_SETTIME):
64633         * m4/sha1.m4 (gl_SHA1):
64634         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
64635         * m4/stat-macros.m4 (gl_STAT_MACROS):
64636         * m4/stat-time.m4 (gl_STAT_TIME):
64637         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
64638         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
64639         * m4/strdup.m4 (gl_FUNC_STRDUP):
64640         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
64641         * m4/strndup.m4 (gl_FUNC_STRNDUP):
64642         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
64643         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
64644         * m4/time_r.m4 (gl_TIME_R):
64645         * m4/timespec.m4 (gl_TIMESPEC):
64646         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
64647         * m4/unlinkdir.m4 (gl_UNLINKDIR):
64648         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
64649         * m4/userspec.m4 (gl_USERSPEC):
64650         * m4/utimecmp.m4 (gl_UTIMECMP):
64651         * m4/utimens.m4 (gl_UTIMENS):
64652         * m4/xalloc.m4 (gl_XALLOC):
64653         * m4/xgetcwd.m4 (gl_XGETCWD):
64654         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
64655         * m4/xreadlink.m4 (gl_XREADLINK):
64656         * m4/xstrtod.m4 (gl_XSTRTOD):
64657         * m4/yesno.m4 (gl_YESNO):
64658         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
64659         to get the necessary .h files and whatnot.
64660
64661 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
64662             Bruno Haible  <bruno@clisp.org>
64663
64664         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
64665         /bin/sh understanding of '!' conditional negation.
64666
64667 2006-08-21  Jim Meyering  <jim@meyering.net>
64668
64669         * modules/openat (Depends-on): Really alphabetize.
64670
64671         * modules/acl (Depends-on): Add error and quote.
64672
64673         * check-module (find_included_lib_files): Add at-func.c to the
64674         ok-to-include-more-than-once white list.
64675
64676         * modules/openat (Depends-on): Add lstat.  Alphabetize.
64677
64678 2006-08-21  Bruno Haible  <bruno@clisp.org>
64679
64680         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64681         Emit a pkgdata_DATA variable only if some snippets add contents to it.
64682         Reported by Martin Lambers <marlam@marlam.de>.
64683
64684 2006-08-21  Bruno Haible  <bruno@clisp.org>
64685
64686         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
64687         specify an installation location, don't emit a noinst_LIBRARIES or
64688         noinst_LTLIBRARIES assignment.
64689
64690 2006-08-21  Bruno Haible  <bruno@clisp.org>
64691
64692         BeOS portability.
64693         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
64694         BeOS has mbrtowc() but no <wctype.h>.
64695
64696 2006-08-21  Bruno Haible  <bruno@clisp.org>
64697
64698         BeOS portability.
64699         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
64700         exist.
64701
64702 2006-08-21  Bruno Haible  <bruno@clisp.org>
64703
64704         BeOS portability.
64705         * lib/mbchar.h: Include <wctype.h> only if it exists.
64706
64707 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64708
64709         Remove files that are no longer needed by their respective modules.
64710         * m4/obstack.m4: Remove.
64711         * m4/strerror_r.m4: Remove.
64712         * m4/uint32_t.m4: Remove.
64713         * m4/uintptr_t.m4: Remove.
64714         * m4/ullong_max.m4: Remove.
64715         * m4/xstrtoimax.m4: Remove.
64716         * m4/xstrtoumax.m4: Remove.
64717
64718         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
64719         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
64720         dependencies now capture this.
64721
64722         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
64723         Do not use AC_LIBSOURCES, since gnulib modules now do this.
64724         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
64725         * m4/human.m4 (gl_HUMAN): Likewise.
64726         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
64727         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
64728
64729         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
64730
64731         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
64732         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
64733         stdint.
64734         * m4/human.m4 (gl_HUMAN): Likewise.
64735         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
64736         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
64737         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
64738         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
64739         * m4/xstrtol (gl_XSTRTOL): Likewise.
64740
64741         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
64742         AC_TYPE_LONG_LONG_INT.
64743         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
64744         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
64745         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
64746         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
64747
64748         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
64749         on stdbool.
64750
64751         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
64752         (gl_PREREQ_XSTRTOUL): Remove.
64753
64754         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
64755
64756         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
64757         mode.
64758
64759 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64760
64761         Add and change modules to make it easier for coreutils to use
64762         gnulib-tool.
64763         * modules/backupfile (Files): Remove m4/d-ino.m4.
64764         (Depends-on): Add d-ino.
64765         * modules/cycle-check (Depends-on): Add stdint.
64766         (lib_SOURCES): Add cycle-check.h.
64767         * modules/d-ino: New module.
64768         * modules/d-type: New module.
64769         * modules/error (Files): Remove m4/strerror_r.m4.
64770         * modules/filemode (Files): Add m4/st_dm_mode.m4.
64771         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
64772         m4/inttypes_h.m4, m4/uintmax_t.m4.
64773         (Depends-on): Add stdint.
64774         (lib_SOURCES): Add fsusage.h.
64775         * modules/getcwd (Files): Remove d-ino.m4.
64776         (Depends-on): Add d-ino.
64777         * modules/getndelim2 (Depends-on): Add stdint.
64778         * modules/glob (Files): Remove m4/d-type.m4.
64779         (Depends-on): Add d-type.
64780         * modules/host-os: New module.
64781         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
64782         m4/inttypes_h.m4, m4/uintmax_t.m4.
64783         * Depends-on: Add stdint.
64784         (lib_SOURCES): Add human.h.
64785         * modules/inttostr (Files): Remove m4/intmax_t.m4,
64786         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
64787         m4/uintmax_t.m4, m4/ulonglong.m4.
64788         (Depends-on): Add stdint.
64789         (EXTRA_DIST): Add inttostr.h.
64790         * modules/lchmod: New module.
64791         * modules/link-follow: New module.
64792         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
64793         (Depends-on): Add lchmod.
64794         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
64795         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
64796         (Depends-on): Add stdint.
64797         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
64798         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
64799         (Depends-on): Add stdint.
64800         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
64801         * modules/perl: New module.
64802         * modules/regex (Depends-on): Add stdint.
64803         * modules/rmdir-errno: New module.
64804         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
64805         m4/intmax_t.m4.
64806         (Depends-on): Add stdint.
64807         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
64808         m4/uintmax_t.m4.
64809         (Depends-on): Add stdint.
64810         * modules/unlink-busy: New module.
64811         * modules/utimecmp (Depends-on): Add stdint.
64812         * modules/uptime: New module.
64813         * modules/winsz-ioctl: New module.
64814         * modules/winsz-termios: New module.
64815         * modules/xnanosleep (Depends-on): Add nanosleep.
64816         * modules/ullong_max: Remove.
64817         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
64818         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
64819         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
64820         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
64821         (Depends-on): Add inttypes.
64822         (lib_SOURCES): Add xstrtol.h.
64823         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
64824         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
64825         * MODULES.html.sh: Move 'assert' into the assert section.
64826         Move 'dummy' into the linking section.
64827         Remove ullong_max.
64828         Add section for compatibility checks for POSIX:2001 functions,
64829         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
64830         winsz-ioctl, and winsz-termios into it.
64831         Add lchmod.
64832         Add top-level Misc section and put host-os, perl, and uptime
64833         into it.
64834
64835 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
64836
64837         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
64838         now assume the stdint module.  Do not include inttypes.h.
64839         * lib/fsusage.h: Likewise.
64840         * lib/getndelim2.c: Likewise.
64841         * lib/human.h: Likewise.
64842         * lib/inttostr.h: Likewise.
64843         * lib/obstack.c: Likewise.
64844         * lib/regex_internal.h: Likewise.
64845         * lib/tempname.c: Likewise.
64846         * lib/utimecmp.c: Likewise.
64847         * lib/xstrtol.h: Likewise.
64848
64849         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
64850
64851         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
64852         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
64853         * lib/xtime.h: Likewise.
64854
64855 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64856
64857         * modules/openat (Files): Add lib/fchmodat.c.
64858         Fixes problem reported by Jay Youngman.
64859
64860 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
64861
64862         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
64863         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
64864
64865 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
64866             Bruno Haible  <bruno@clisp.org>
64867
64868         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
64869         and is a script that invokes bison. Tighten the code. Add comments.
64870
64871 2006-08-18  Jim Meyering  <jim@meyering.net>
64872
64873         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
64874         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
64875         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
64876         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
64877
64878 2006-08-18  Bruno Haible  <bruno@clisp.org>
64879
64880         * modules/bison-i18n: New file.
64881         * MODULES.html.sh (Internationalization functions): Add it.
64882
64883 2006-08-18  Bruno Haible  <bruno@clisp.org>
64884
64885         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
64886         sys/statvfs.h. When getmntinfo was found, check its declaration and
64887         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
64888
64889 2006-08-18  Bruno Haible  <bruno@clisp.org>
64890
64891         * m4/bison-i18n.m4: New file, from bison.
64892
64893 2006-08-18  Bruno Haible  <bruno@clisp.org>
64894
64895         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
64896         (ME_DUMMY): Treat "kernfs" as a dummy.
64897         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
64898
64899 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64900
64901         Update from coreutils.
64902
64903         2006-08-15  Jim Meyering  <jim@meyering.net>
64904
64905         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
64906
64907         2006-01-17  Jim Meyering  <jim@meyering.net>
64908
64909         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
64910
64911         2006-01-11  Jim Meyering  <jim@meyering.net>
64912
64913         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
64914         Check for the lchmod function.
64915
64916 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
64917
64918         Update from coreutils.
64919
64920         * lib/__fpending.h: Add copyright notice.
64921         * lib/fprintftime.h: Likewise.
64922         * lib/savedir.c: Use (C) in copyright notice.
64923         * lib/savedir.h: Likewise.
64924
64925         2006-08-15  Jim Meyering  <jim@meyering.net>
64926
64927         * lib/at-func.c: New file, with the logic of all emulated at-functions.
64928         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
64929         in support of the EXPECTED_ERRNO macro.
64930         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
64931         definitions.  Instead, define the appropriate symbols and include
64932         "at-func.c".
64933         * lib/mkdirat.c (mkdirat): Likewise.
64934         * lib/fchmodat.c (fchmodat): Likewise.
64935         (ENOSYS): Remove definition.
64936         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
64937         it.  Don't include "unistd--.h" -- it wasn't ever used.
64938
64939         2006-01-17  Jim Meyering  <jim@meyering.net>
64940
64941         Rewrite fts.c not to change the current working directory,
64942         by using openat, fstatat, fdopendir, etc..
64943
64944         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
64945         (HAVE_OPENAT_SUPPORT): Define.
64946         [_LIBC] (fchdir): Don't undef or define; no longer used.
64947         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
64948         Now, this `function' always succeeds, and consumes its file descriptor
64949         parameter -- so callers must not close such FDs.  Update callers.
64950         (diropen_fd, opendirat, cwd_advance_fd): New functions.
64951         (diropen): Add parameter, SP.  Adjust all callers.
64952         Implement using diropen_fd, rather than open.
64953         (fts_open): Initialize new member, fts_cwd_fd.
64954         Remove fts_rft-setting code.
64955         (fts_close): Close fts_cwd_fd, if necessary.
64956         (__opendir2): Define in terms of opendir or opendirat,
64957         depending on whether the FST_NOCHDIR flag is set.
64958         (fts_build): Since fts_safe_changedir consumes its FD, and since
64959         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
64960         and close the dup'd file descriptor upon failure.
64961         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
64962         (fts_safe_changedir): Tweak semantics to reflect that this function
64963         now calls cwd_advance_fd and hence consumes its FD argument.
64964         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
64965         [struct FTS] (fts_rft): Remove now-unused member.
64966         [struct FTS] (fts_cycle.state): Improve comment.
64967
64968         * lib/openat.c (openat_needs_fchdir): New function.
64969         * lib/openat.h (openat_needs_fchdir): Declare it.
64970
64971 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
64972
64973         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
64974         Problem and fix reported by Pádraig Brady in
64975         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
64976
64977 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64978
64979         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
64980
64981 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64982
64983         * lib/memcoll.c (memcoll): Optimize for the common case where the
64984         arguments are bytewise equal.
64985
64986 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64987
64988         * doc/regexprops-generic.texi: Add a copyright notice.
64989
64990 2006-08-15  Bruno Haible  <bruno@clisp.org>
64991
64992         * modules/tmpdir (License): Change to LGPL.
64993
64994 2006-08-15  Bruno Haible  <bruno@clisp.org>
64995
64996         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
64997         module.
64998
64999 2006-08-14  Simon Josefsson  <jas@extundo.com>
65000
65001         * config/srclist.txt: Add gnupload.
65002
65003 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65004
65005         Change copyright notice from LGPL 2 to GPL 2, since that's the
65006         standard form used in the gnulib repository.
65007         * tests/test-lock.c: Likewise.
65008         * tests/test-stdint.c: Likewise.
65009         * tests/test-tls.c: Likewise.
65010
65011         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
65012         prelude-manager.  User shorter URLs for GNU projects, without '?'.
65013         Add copyright notice.
65014
65015         * check-module: Add copyright notice.  Output a copyright
65016         notice if "--version" is specified.
65017         * modules/COPYING: New file.
65018         * tests/test-getaddrinfo.c: Add copyright notice.
65019         * tests/test-verify.c: Likewise.
65020
65021 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65022
65023         Change copyright notice from LGPL 2 to GPL 2, since that's the
65024         standard form used in the gnulib repository.
65025         * lib/lock.c: LGPL -> GPL.
65026         * lib/lock.h: Likewise.
65027         * lib/strnlen1.c: Likewise.
65028         * lib/strnlen1.h: Likewise.
65029         * lib/tls.c: Likewise.
65030         * lib/tls.h: Likewise.
65031         * lib/tmpdir.c: Likewise.
65032
65033         * lib/TODO: Remove; this belongs only in coreutils.
65034
65035 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65036
65037         Add copyright notices to long-enough files that lack them, since
65038         otherwise the files aren't clearly free.  Use the same notice that
65039         getdate.texi already uses.
65040         * doc/alloca-opt.texi: Add copyright notice.
65041         * doc/alloca.texi: Likewise.
65042         * doc/ctime.texi: Likewise.
65043         * doc/functions.texi: Likewise.
65044         * doc/gcd.texi: Likewise.
65045         * doc/gnulib-tool.texi: Likewise.
65046         * doc/inet_ntoa.texi: Likewise.
65047         * doc/visibility.texi: Likewise.
65048
65049         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
65050         * doc/quote.texi: Add copyright notice.
65051
65052         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
65053         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
65054         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
65055         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
65056         is now obsolete, and give a pointer to the Sun list.
65057         Add copyright notice.
65058
65059 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65060
65061         * config/srclistvars.sh: Add copyright notice.
65062
65063 2006-08-14  Eric Blake  <ebb9@byu.net>
65064
65065         Import the following change from libc:
65066
65067         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
65068
65069         Upstream bug 2997.
65070         * lib/misc/error.c: Add space between program name and message if file
65071         name is missing.
65072
65073 2006-08-12  Karl Berry  <karl@gnu.org>
65074
65075         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
65076         remove, these originate in gnulib now.
65077
65078 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65079
65080         * doc/Makefile (standards.info standards.html standards.dvi):
65081         Also depend on make-stds.texi.
65082
65083 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
65084
65085         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
65086         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
65087
65088         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
65089         in wchar_t.  Problem reported by Eric Blake.
65090
65091         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
65092         LEN is smaller than SIZE.  Suggested by Bruno Haible.
65093         Also, help the compiler to keep LEN in a register.
65094
65095 2006-08-11  Eric Blake  <ebb9@byu.net>
65096
65097         * users.txt: Sort.  Add tar.
65098
65099 2006-08-11  Bruno Haible  <bruno@clisp.org>
65100
65101         * users.txt: New file.
65102
65103 2006-08-11  Bruno Haible  <bruno@clisp.org>
65104
65105         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
65106         before <wchar.h>. Needed for OSF/1 and BSD/OS.
65107
65108 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
65109
65110         * modules/snprintf (Depends-on): Remove minmax.
65111         (Maintainer): Add self and Bruno.
65112
65113 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
65114
65115         * lib/.cppi-disable: Add snprintf.h, socket_.h.
65116         * lib/snprintf.c: Include <errno.h> and <limits.h>.
65117         (EOVERFLOW): Define if the system does not.
65118         Do not include "minmax.h"; it wasn't used.
65119         (snprintf): Don't assume size_t promotes to an unsigned type.
65120         Fix bug when generated string was too long for the buffer: the
65121         buffer's contents are supposed to be the initial prefix of the
65122         output.  Don't assume vasnprintf returns EOVERFLOW if the size
65123         exceeds INT_MAX; do the check ourselves.
65124
65125         Import the following changes from libc:
65126
65127         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
65128
65129         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
65130         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
65131         set wc to the byte which couldn't be converted.
65132         (re_string_reconstruct): Don't clear valid_raw_len before calling
65133         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
65134         tip_context using re_string_context_at.
65135
65136         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
65137
65138         * lib/posix/regex.h: g++ still cannot handled [restrict].
65139
65140         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
65141
65142         * lib/posix/regex.h: Remove special handling for VMS.
65143
65144 2006-08-10  Jim Meyering  <jim@meyering.net>
65145
65146         * modules/same-inode: New module.
65147         * modules/dev-ino: New module.
65148         * modules/cycle-check: Depend on these modules, rather than simply
65149         including their .h files.
65150         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
65151         required via m4/cycle-check.m4.
65152         * modules/same: Depend on new same-inode module, rather than
65153         including same-inode.h.
65154         * modules/chdir-safer: New file.
65155
65156         * modules/chown (Depends-on): Add stat-macros.
65157
65158 2006-08-10  Jim Meyering  <jim@meyering.net>
65159
65160         * m4/cycle-check.m4: New file.
65161         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
65162         * m4/dev-ino.m4, m4/same-inode.m4: New files.
65163
65164 2006-08-10  Eric Blake  <ebb9@byu.net>
65165
65166         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
65167         in from original proposal.
65168
65169 2006-08-10  Eric Blake  <ebb9@byu.net>
65170         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
65171
65172         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
65173         namespace.
65174
65175 2006-08-10  Bruno Haible  <bruno@clisp.org>
65176
65177         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
65178         as well.
65179
65180 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65181
65182         Sync from coreutils.
65183
65184         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
65185
65186         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
65187         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
65188
65189 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65190
65191         * modules/restrict: Remove; no longer needed now that we assume
65192         Autoconf 2.59 or later.
65193         * MODULES.html.sh: Remove 'restrict'.
65194         * modules/argp (Depends-on): Remove 'restrict'.
65195         * modules/base64 (Depends-on): Likewise.
65196         * modules/gc (Depends-on): Likewise.
65197         * modules/getaddrinfo (Depends-on): Likewise.
65198         * modules/glob (Depends-on): Likewise.
65199         * modules/inet_ntop (Depends-on): Likewise.
65200         * modules/inet_pton (Depends-on): Likewise.
65201         * modules/memxor (Depends-on): Likewise.
65202         * modules/regex (Depends-on): Likewise.
65203         * modules/strtok_r (Depends-on): Likewise.
65204         * modules/time_r (Depends-on): Likewise.
65205
65206 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
65207
65208         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
65209         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
65210         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
65211         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
65212         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
65213         * m4/memxor.m4 (gl_MEMXOR): Likewise.
65214         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
65215         gl_C_RESTRICT replaced by AC_C_RESTRICT.
65216
65217         Merge from coreutils.
65218         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
65219         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
65220         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
65221         * m4/time_r.m4 (gl_TIME_R): Likewise.
65222
65223 2006-08-09  Karl Berry  <karl@gnu.org>
65224
65225         * config/srclist.txt: no more gettext-tools, per Bruno.
65226
65227 2006-08-08  Eric Blake  <ebb9@byu.net>
65228
65229         * modules/verror: New module.
65230         * MODULES.html.sh: Document it.
65231
65232 2006-08-08  Eric Blake  <ebb9@byu.net>
65233
65234         * lib/verror.h, lib/verror.c: New files.
65235
65236 2006-08-08  Eric Blake  <ebb9@byu.net>
65237
65238         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
65239         verror_at_line output complies with GNU Coding Standards even when
65240         file is NULL.
65241
65242 2006-08-07  Bruno Haible  <bruno@clisp.org>
65243
65244         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
65245         versions of AIX.
65246         Reported by Ralf Wildenhues.
65247
65248 2006-08-07  Bruno Haible  <bruno@clisp.org>
65249
65250         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
65251         in an AC_DEFUN. Needed so that the autoconf snippets can use
65252         AC_REQUIRE.
65253
65254 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65255
65256         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65257         Initialize pkgdata_DATA.
65258         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
65259         overriding it.
65260
65261 2006-08-06  Eric Blake  <ebb9@byu.net>
65262
65263         * lib/error.h: Fold in some upstream changes from glibc.
65264         * lib/error.c: Likewise.
65265
65266 2006-08-04  Bruno Haible  <bruno@clisp.org>
65267
65268         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65269         Make the mostlyclean-local rule depend on mostlyclean-generic.
65270         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
65271
65272 2006-07-31  Bruno Haible  <bruno@clisp.org>
65273
65274         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
65275         <stdlib.h>, <string.h>.
65276
65277 2006-07-30  Bruno Haible  <bruno@clisp.org>
65278
65279         * modules/readlink (License): Change to LGPL.
65280
65281 2006-07-30  Bruno Haible  <bruno@clisp.org>
65282
65283         * modules/javaversion (Makefile.am): Distribute javaversion.java and
65284         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
65285         set PKGDATADIR to point to it.
65286
65287 2006-07-30  Bruno Haible  <bruno@clisp.org>
65288
65289         * modules/csharpexec (configure.ac): Comment out macro invocation.
65290         * modules/javaexec (configure.ac): Likewise.
65291         * modules/javacomp-script (configure.ac): Likewise.
65292
65293         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
65294
65295 2006-07-30  Bruno Haible  <bruno@clisp.org>
65296
65297         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
65298         linked-list.
65299
65300 2006-07-30  Bruno Haible  <bruno@clisp.org>
65301
65302         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
65303
65304 2006-07-30  Bruno Haible  <bruno@clisp.org>
65305
65306         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65307         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
65308         get removed.
65309
65310 2006-07-29  Bruno Haible  <bruno@clisp.org>
65311
65312         Make it possible for gnulib-tool to work with locally modified or
65313         augmented gnulib repositories.
65314         * gnulib-tool (func_usage): Document --local-dir option.
65315         (local_gnulib_dir): New variable.
65316         Handle --local-dir option.
65317         (func_lookup_file): New function.
65318         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
65319         (func_get_description, func_get_filelist, func_get_description,
65320         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
65321         func_get_automake_snippet, func_get_include_directive,
65322         func_get_license, func_get_maintainer): Use func_lookup_file.
65323         (func_import, func_create_testdir): Use func_lookup_file.
65324
65325 2006-07-29  Bruno Haible  <bruno@clisp.org>
65326
65327         * modules/setenv (Depends-on): Add unistd.
65328
65329 2006-07-29  Bruno Haible  <bruno@clisp.org>
65330
65331         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
65332
65333 2006-07-29  Bruno Haible  <bruno@clisp.org>
65334
65335         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
65336
65337 2006-07-29  Bruno Haible  <bruno@clisp.org>
65338
65339         * gnulib-tool (import, update): If there is no Makefile.am, look at
65340         aclocal.m4, instead of bailing out.
65341
65342 2006-07-29  Bruno Haible  <bruno@clisp.org>
65343
65344         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
65345         Categorize the options by when they are useful.
65346
65347 2006-07-29  Bruno Haible  <bruno@clisp.org>
65348
65349         * gnulib-tool (func_usage): Document option --no-libtool.
65350         Handle option --no-libtool.
65351         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
65352         for changed semantics of $libtool variable.
65353         (func_import): Likewise. If libtool is not used, show this through
65354         an option --no-libtool.
65355         (func_create_testdir): Update.
65356
65357 2006-07-29  Bruno Haible  <bruno@clisp.org>
65358
65359         * gnulib-tool (func_import): Extend error message about missing
65360         --doc-base.
65361
65362 2006-07-29  Bruno Haible  <bruno@clisp.org>
65363
65364         * gnulib-tool (func_import): Don't create the $docbase directory if
65365         there is no file to store there.
65366
65367 2006-07-29  Bruno Haible  <bruno@clisp.org>
65368
65369         * gnulib-tool (autoconf_minversion): If a --dir option is given and
65370         relevant, look for configure.ac there, not in the current directory.
65371         Also use a simple search for AC_PREREQ, not "autoconf --trace".
65372
65373 2006-07-29  Bruno Haible  <bruno@clisp.org>
65374
65375         * gnulib-tool (SORT): New variable.
65376         (func_usage): Undocument --assume-autoconf option.
65377         Remove --assume-autoconf option handling.
65378         (autoconf_minversion): Determine from the contents of configure.ac.
65379         (func_import): Remove autoconf_minversion handling.
65380         Suggested by Eric Blake.
65381
65382 2006-07-29  Bruno Haible  <bruno@clisp.org>
65383
65384         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
65385
65386 2006-07-29  Bruno Haible  <bruno@clisp.org>
65387
65388         * config/srclist.txt (*setenv.[ch]): Remove rules.
65389
65390 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65391
65392         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
65393
65394 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65395
65396         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
65397         arpa/inet.h.
65398
65399 2006-07-28  Simon Josefsson  <jas@extundo.com>
65400
65401         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
65402         * modules/inet_pton (Depends-on): Likewise.
65403
65404 2006-07-28  Simon Josefsson  <jas@extundo.com>
65405
65406         * m4/netinet_in_h.m4: New file.
65407
65408 2006-07-28  Simon Josefsson  <jas@extundo.com>
65409
65410         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
65411         #include's.
65412
65413 2006-07-28  Simon Josefsson  <jas@extundo.com>
65414
65415         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
65416         #include's.
65417
65418 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
65419
65420         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
65421         setgid on directories only if they set these bits.
65422         * lib/modechange.h: Remove obsolete comment about masks.
65423
65424 2006-07-28  Eric Blake  <ebb9@byu.net>
65425
65426         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
65427         macro expansion.
65428
65429 2006-07-28  Bruno Haible  <bruno@clisp.org>
65430
65431         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
65432
65433 2006-07-28  Bruno Haible  <bruno@clisp.org>
65434
65435         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
65436
65437 2006-07-28  Bruno Haible  <bruno@clisp.org>
65438
65439         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
65440         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
65441         Define fallbacks.
65442         Avoids link error on FreeBSD 4.x.
65443         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65444
65445         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
65446         encoding.
65447         * lib/mbswidth.c (iswcntrl): Likewise.
65448
65449 2006-07-27  Bruno Haible  <bruno@clisp.org>
65450
65451         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
65452         test.
65453
65454 2006-07-27  Bruno Haible  <bruno@clisp.org>
65455
65456         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
65457         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
65458         defined.
65459
65460 2006-07-26  Eric Blake  <ebb9@byu.net>
65461
65462         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
65463
65464 2006-07-26  Eric Blake  <ebb9@byu.net>
65465
65466         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
65467         like mingw that lack mkstemp.
65468         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
65469         avoid compilation warning on mingw.
65470
65471 2006-07-26  Bruno Haible  <bruno@clisp.org>
65472
65473         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
65474         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
65475         INT_FAST*_MIN, INTPTR_MIN.
65476
65477 2006-07-25  Bruno Haible  <bruno@clisp.org>
65478
65479         * modules/version-etc (Depends-on): Add stdarg.
65480
65481 2006-07-25  Bruno Haible  <bruno@clisp.org>
65482
65483         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
65484         complex commands.
65485
65486 2006-07-25  Bruno Haible  <bruno@clisp.org>
65487
65488         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
65489         defined in <stdarg.h> or config.h.
65490
65491 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
65492
65493         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
65494         (gl_STDIO_SAFER): Remove.
65495
65496 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
65497
65498         * MODULES.html.sh (File stream based Input/Output):
65499         Add fopen-safer, tmpfile-safer; remove stdio-safer.
65500         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
65501         * modules/fopen-safer, modules/tmpfile-safer: New files.
65502         * modules/stdio-safer: Remove.
65503
65504 2006-07-24  Bruno Haible  <bruno@clisp.org>
65505
65506         * modules/tmpdir: New file.
65507         * MODULES.html.sh (File system functions): Add it.
65508
65509 2006-07-24  Bruno Haible  <bruno@clisp.org>
65510
65511         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
65512         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
65513
65514 2006-07-24  Bruno Haible  <bruno@clisp.org>
65515
65516         * modules/clean-temp: New file.
65517
65518 2006-07-24  Bruno Haible  <bruno@clisp.org>
65519
65520         * m4/tmpdir.m4: New file, from GNU gettext.
65521
65522 2006-07-24  Bruno Haible  <bruno@clisp.org>
65523
65524         * lib/tmpdir.h: New file, from GNU gettext.
65525         * lib/tmpdir.c: New file, from GNU gettext.
65526
65527 2006-07-24  Bruno Haible  <bruno@clisp.org>
65528
65529         * lib/clean-temp.h: New file, from GNU gettext.
65530         * lib/clean-temp.c: New file, from GNU gettext.
65531
65532 2006-07-23  Eric Blake  <ebb9@byu.net>
65533
65534         * modules/stdio-safer (Files): Add tmpfile-safer.c.
65535         (Depends-on): Add binary-io.
65536
65537 2006-07-23  Eric Blake  <ebb9@byu.net>
65538
65539         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
65540
65541 2006-07-23  Eric Blake  <ebb9@byu.net>
65542
65543         * lib/tmpfile-safer.c: New file.
65544         * lib/stdio-safer.h (fopen_safer): Add prototype.
65545         * lib/stdio--.h (tmpfile): Make safer.
65546
65547 2006-07-23  Bruno Haible  <bruno@clisp.org>
65548
65549         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
65550         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
65551         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
65552         gl_linked_remove_at): Use it.
65553
65554 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65555         and Simon Josefsson <jas@extundo.com>
65556
65557         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
65558
65559         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
65560
65561 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65562
65563         * modules/close-stream: New file.
65564         * modules/closeout (Description): Make it clear that it exits
65565         with a diagnostic on error.
65566         (Depends-on): Add close-stream.  Remove fpending, stdbool.
65567         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
65568
65569 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65570
65571         * m4/close-stream.m4: New file.
65572
65573 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65574
65575         * lib/close-stream.c, lib/close-stream.h: New files.
65576
65577 2006-07-22  Bruno Haible  <bruno@clisp.org>
65578
65579         Merge from GNU gettext 0.15.
65580
65581         2006-05-01  Bruno Haible  <bruno@clisp.org>
65582
65583                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
65584
65585         2006-07-22  Bruno Haible  <bruno@clisp.org>
65586
65587                 * modules/javaversion: New file.
65588                 * MODULES.html.sh (Java): Add javaversion.
65589
65590         2006-03-12  Bruno Haible  <bruno@clisp.org>
65591
65592                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
65593
65594         2005-12-04  Bruno Haible  <bruno@clisp.org>
65595
65596                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
65597                 (untested).
65598
65599         2006-06-21  Bruno Haible  <bruno@clisp.org>
65600
65601                 Avoid warnings from recent versions of mcs.
65602                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
65603                 -o, -L, -r any more. Use options documented since mcs-1.0
65604                 instead. Similarly for -g.
65605
65606         2005-12-04  Bruno Haible  <bruno@clisp.org>
65607
65608                 * build-aux/csharpcomp.sh.in: Suffix for resources is
65609                 .resources, not .resource.
65610
65611         2005-07-09  Bruno Haible  <bruno@clisp.org>
65612
65613                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
65614                 add a .dll suffix.
65615                 Reported by Mark Junker <mjscod@gmx.de>.
65616
65617         2006-07-22  Bruno Haible  <bruno@clisp.org>
65618
65619                 * modules/gettext: Upgrade to gettext-0.15.
65620                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
65621                 m4/visibility.m4.
65622                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
65623
65624 2006-07-22  Bruno Haible  <bruno@clisp.org>
65625
65626         Merge from GNU gettext 0.15.
65627
65628         2006-03-25  Bruno Haible  <bruno@clisp.org>
65629
65630                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
65631
65632         2006-07-21  Bruno Haible  <bruno@clisp.org>
65633
65634                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
65635                 "1.1".
65636
65637         2006-05-09  Bruno Haible  <bruno@clisp.org>
65638
65639                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
65640                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
65641                 for the conftestver execution.
65642
65643         2006-05-01  Bruno Haible  <bruno@clisp.org>
65644
65645                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
65646                 optional target-version argument. Verify that the compiler
65647                 groks source of the specified source-version, or add -source
65648                 option as necessary. Verify that the compiler produces
65649                 bytecode in the specified target-version, or add -target and
65650                 -source options as necessary. Make the result of the test
65651                 available as variable CONF_JAVAC. Also log error output in
65652                 config.log.
65653
65654         2006-03-11  Bruno Haible  <bruno@clisp.org>
65655
65656                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
65657
65658         2006-05-09  Bruno Haible  <bruno@clisp.org>
65659
65660                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
65661                 CLASSPATH_SEPARATOR to a semicolon.
65662
65663         2006-03-12  Bruno Haible  <bruno@clisp.org>
65664
65665                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
65666                 available as variable CONF_JAVA, for subsequent autoconf
65667                 tests. Also log error output in config.log.
65668
65669         2006-07-19  Bruno Haible  <bruno@clisp.org>
65670
65671                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
65672                 that getline works on glibc2 systems. Needed to avoid trouble
65673                 in relocatable.c.
65674                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
65675
65676         2005-12-04  Bruno Haible  <bruno@clisp.org>
65677
65678                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
65679                 launcher (untested).
65680
65681         2005-12-04  Bruno Haible  <bruno@clisp.org>
65682
65683                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
65684
65685         2006-07-22  Bruno Haible  <bruno@clisp.org>
65686
65687                 * gettext.m4: Update from GNU gettext-0.15.
65688                 * nls.m4: Likewise.
65689                 * po.m4: Likewise.
65690                 * inttypes-pri.m4: Likewise.
65691                 * inttypes-h.m4: Renamed from inttypes.m4.
65692                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
65693
65694 2006-07-22  Bruno Haible  <bruno@clisp.org>
65695
65696         Merge from GNU gettext 0.15.
65697
65698         2005-07-05  Bruno Haible  <bruno@clisp.org>
65699
65700                 * printf-args.c (printf_fetchargs): Work around broken
65701                 definition of wint_t on mingw.
65702
65703         2005-02-12  Bruno Haible  <bruno@clisp.org>
65704
65705                 * xallocsa.h: Add extern "C" for C++.
65706
65707         2006-05-17  Bruno Haible  <bruno@clisp.org>
65708
65709                 Cygwin portability.
65710                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
65711
65712         2006-04-30  Bruno Haible  <bruno@clisp.org>
65713
65714                 * progreloc.c: Include <mach-o/dyld.h> if available.
65715                 (find_executable): Use _NSGetExecutablePath when possible.
65716
65717         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
65718
65719                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
65720                 function.
65721
65722         2005-12-29  Bruno Haible  <bruno@clisp.org>
65723
65724                 * progreloc.c (set_program_name_and_installdir): Fix
65725                 compilation error.
65726
65727         2005-12-04  Bruno Haible  <bruno@clisp.org>
65728
65729                 Cygwin portability.
65730                 * progreloc.c: Include <windows.h> also on Cygwin.
65731                 (find_executable): Add support for Cygwin.
65732                 (set_program_name_and_installdir): Handle also platforms with
65733                 nonempty EXEEXT.
65734
65735         2006-07-11  Bruno Haible  <bruno@clisp.org>
65736
65737                 * javacomp.c: Fix a comment.
65738                 Reported by Jim Meyering.
65739
65740         2006-04-30  Bruno Haible  <bruno@clisp.org>
65741
65742                 * javacomp.h (compile_java_class): Add source_version,
65743                 target_version arguments.
65744                 * javacomp.c: Rewritten to choose only a compiler that
65745                 respects the specified source_version and target_version.
65746
65747         2006-06-27  Bruno Haible  <bruno@clisp.org>
65748
65749                 Assume correct S_ISDIR macro.
65750                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
65751
65752         2006-07-22  Bruno Haible  <bruno@clisp.org>
65753
65754                 * javaversion.h: New file, from GNU gettext.
65755                 * javaversion.c: New file, from GNU gettext.
65756                 * javaversion.java: New file, from GNU gettext.
65757                 * javaversion.class: New file, from GNU gettext.
65758
65759         2006-05-17  Bruno Haible  <bruno@clisp.org>
65760
65761                 Cygwin portability.
65762                 * javaexec.c (execute_java_class): Test for jview program
65763                 also on Cygwin.
65764
65765         2006-04-09  Bruno Haible  <bruno@clisp.org>
65766
65767                 * fatal-signal.c: Don't include string.h.
65768                 (at_fatal_signal): Use a copying loop instead of memcpy.
65769
65770         2005-12-04  Bruno Haible  <bruno@clisp.org>
65771
65772                 * csharpexec.c: Add support for 'clix' launcher (untested).
65773                 (execute_csharp_using_sscli): New function.
65774                 (execute_csharp_program): Call it.
65775
65776         2006-06-21  Bruno Haible  <bruno@clisp.org>
65777
65778                 Avoid warnings from recent versions of mcs.
65779                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
65780                 -o, -L, -r any more. Use options documented since mcs-1.0
65781                 instead. Similarly for -g.
65782
65783         2005-07-09  Bruno Haible  <bruno@clisp.org>
65784
65785                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
65786                 add a .dll suffix.
65787                 Reported by Mark Junker <mjscod@gmx.de>.
65788
65789         2006-06-17  Bruno Haible  <bruno@clisp.org>
65790
65791                 * config.charset: Update for NetBSD 3.0.
65792
65793         2006-05-17  Bruno Haible  <bruno@clisp.org>
65794
65795                 Cygwin portability.
65796                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
65797
65798         2006-05-16  Bruno Haible  <bruno@clisp.org>
65799
65800                 * localcharset.c [CYGWIN]: Include <windows.h>.
65801                 (get_charset_aliases): For Cygwin, return the same CPxxx
65802                 aliases list as under WIN32.
65803                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
65804                 the environment variables. Fall back to GetACP().
65805
65806         2006-04-05  Bruno Haible  <bruno@clisp.org>
65807
65808                 * config.charset: Update Juan Manuel Guerrero's address.
65809
65810         2005-02-12  Bruno Haible  <bruno@clisp.org>
65811
65812                 * allocsa.h: Add extern "C" for C++.
65813
65814         2005-02-10  Bruno Haible  <bruno@clisp.org>
65815
65816                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
65817                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
65818
65819         2006-07-22  Bruno Haible  <bruno@clisp.org>
65820
65821                 * gettext.h: Update to GNU gettext-0.15.
65822
65823 2006-07-22  Bruno Haible  <bruno@clisp.org>
65824
65825         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
65826         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
65827         lib-prefix.m4, longdouble.m4, ssize_t.m4.
65828
65829 2006-07-21  Eric Blake  <ebb9@byu.net>
65830
65831         * modules/stdlib-safer: New file.
65832         * MODULES.html.sh (File stream based Input/Output): Add
65833         stdlib-safer.
65834
65835 2006-07-21  Eric Blake  <ebb9@byu.net>
65836
65837         * lib/stdlib-safer.h: New file from coreutils, required by
65838         stdlib--.h.
65839
65840 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
65841
65842         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
65843
65844 2006-07-20  Bruno Haible  <bruno@clisp.org>
65845
65846         * gnulib-tool: Recognize new option --assume-autoconf.
65847         (autoconf_minversion): New variable.
65848         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
65849
65850 2006-07-20  Bruno Haible  <bruno@clisp.org>
65851
65852         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
65853
65854 2006-07-19  Derek R. Price  <derek@ximbiot.com>
65855
65856         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
65857         Reindent and repaginate.
65858
65859 2006-07-19  Derek Price  <derek@ximbiot.com>
65860
65861         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
65862         Correct grammar.
65863
65864 2006-07-17  Bruno Haible  <bruno@clisp.org>
65865
65866         * modules/list: New file.
65867         * modules/array-list: New file.
65868         * modules/carray-list, modules/carray-list-tests: New files.
65869         * modules/linked-list, modules/linked-list-tests: New files.
65870         * modules/avltree-list, modules/avltree-list-tests: New files.
65871         * modules/rbtree-list, modules/rbtree-list-tests: New files.
65872         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
65873         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
65874         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
65875         * modules/oset: New file.
65876         * modules/array-oset: New file.
65877         * modules/avltree-oset, modules/avltree-oset-tests: New files.
65878         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
65879         * tests/test-carray_list.c: New file.
65880         * tests/test-linked_list.c: New file.
65881         * tests/test-avltree_list.c: New file.
65882         * tests/test-rbtree_list.c: New file.
65883         * tests/test-linkedhash_list.c: New file.
65884         * tests/test-avltreehash_list.c: New file.
65885         * tests/test-rbtreehash_list.c: New file.
65886         * tests/test-avltree_oset.c: New file.
65887         * tests/test-rbtree_oset.c: New file.
65888         * MODULES.html.sh (Container data structures): New section.
65889
65890 2006-07-17  Bruno Haible  <bruno@clisp.org>
65891
65892         * m4/gl_list.m4: New file.
65893
65894 2006-07-17  Bruno Haible  <bruno@clisp.org>
65895
65896         * lib/gl_list.h: New file.
65897         * lib/gl_list.c: New file.
65898         * lib/gl_array_list.h: New file.
65899         * lib/gl_array_list.c: New file.
65900         * lib/gl_carray_list.h: New file.
65901         * lib/gl_carray_list.c: New file.
65902         * lib/gl_linked_list.h: New file.
65903         * lib/gl_linked_list.c: New file.
65904         * lib/gl_anylinked_list1.h: New file.
65905         * lib/gl_anylinked_list2.h: New file.
65906         * lib/gl_avltree_list.h: New file.
65907         * lib/gl_avltree_list.c: New file.
65908         * lib/gl_anyavltree_list1.h: New file.
65909         * lib/gl_anyavltree_list2.h: New file.
65910         * lib/gl_rbtree_list.h: New file.
65911         * lib/gl_rbtree_list.c: New file.
65912         * lib/gl_anyrbtree_list1.h: New file.
65913         * lib/gl_anyrbtree_list2.h: New file.
65914         * lib/gl_anytree_list1.h: New file.
65915         * lib/gl_anytree_list2.h: New file.
65916         * lib/gl_linkedhash_list.h: New file.
65917         * lib/gl_linkedhash_list.c: New file.
65918         * lib/gl_anyhash_list1.h: New file.
65919         * lib/gl_anyhash_list2.h: New file.
65920         * lib/gl_avltreehash_list.h: New file.
65921         * lib/gl_avltreehash_list.c: New file.
65922         * lib/gl_rbtreehash_list.h: New file.
65923         * lib/gl_rbtreehash_list.c: New file.
65924         * lib/gl_anytreehash_list1.h: New file.
65925         * lib/gl_anytreehash_list2.h: New file.
65926
65927         * lib/gl_oset.h: New file.
65928         * lib/gl_oset.c: New file.
65929         * lib/gl_array_oset.h: New file.
65930         * lib/gl_array_oset.c: New file.
65931         * lib/gl_avltree_oset.h: New file.
65932         * lib/gl_avltree_oset.c: New file.
65933         * lib/gl_rbtree_oset.h: New file.
65934         * lib/gl_rbtree_oset.c: New file.
65935         * lib/gl_anytree_oset.h: New file.
65936
65937 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
65938
65939         * m4/mkancesdirs.m4: New file.
65940         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
65941         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
65942         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
65943         it.
65944
65945 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
65946
65947         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
65948         * lib/mkancesdirs.h: New files.
65949         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
65950         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
65951         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
65952         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
65953         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
65954         callers changed.  Revamp internals significantly, by not
65955         attempting to create directories that are temporarily more
65956         permissive than the final results.  Do not attempt to use
65957         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
65958         This removes some race conditions, fixes some bugs, and simplifies
65959         things.  Use new dirchownmod function to do owner and mode changes.
65960         * lib/mkdir-p.h: Likewise.
65961         * lib/modechange.c (octal_to_mode): New function.
65962         (struct mode_change): New member mentioned.
65963         (make_node_op_equals): New arg mentioned.  All callers changed.
65964         (mode_compile): Keep track of which mode bits the user has explicitly
65965         mentioned.
65966         (mode_adjust): New arg DIR, so that we implement the X op correctly.
65967         New arg PMODE_BITS, to keep track of which mode bits the user
65968         mentioned; it treats S_ISUID and S_ISGID speciall.
65969         All callers changed.
65970         * lib/modechange.h: Likewise.
65971
65972 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
65973
65974         * MODULES.html.sh: Add mkancestors.
65975         * modules/mkancesdirs: New module.
65976         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
65977         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
65978         The chdir-safer and afs files are now orphans; I'll remove them
65979         unless someone speaks up.
65980         Add lib/dirchownmod.c, lib/dirchownmod.h.
65981         (Depends-on): Remove alloca, chown, save-cwd, dirname.
65982         Add lchown, mkancesdirs.
65983         (Maintainer): Add self.
65984
65985 2006-07-15  Karl Berry  <karl@gnu.org>
65986
65987         * gnulib-tool: help message wording/arrangement.
65988
65989 2006-07-14  Simon Josefsson  <jas@extundo.com>
65990
65991         * doc/gnulib.texi (Libtool and Windows): New section.
65992
65993 2006-07-12  Simon Josefsson  <jas@extundo.com>
65994
65995         * modules/gendocs (License): Fix license, approved by Karl.
65996
65997 2006-07-12  Eric Blake  <ebb9@byu.net>
65998
65999         * MODULES.html.sh: Add gendocs.
66000
66001 2006-07-11  Eric Blake  <ebb9@byu.net>
66002
66003         * modules/fdl: New module, to install doc/fdl.texi.
66004         * MODULES.html.sh: Add new section for documentation modules.
66005         * gnulib-tool: Avoid space-tab.
66006         (--doc-base): New option, to manage files from doc.
66007
66008 2006-07-11  Eric Blake  <ebb9@byu.net>
66009
66010         * m4/absolute-header.m4: Fix comments to match recent change.
66011
66012 2006-07-11  Eric Blake  <ebb9@byu.net>
66013
66014         * gnulib-tool: List --doc-base before --tests-base.
66015
66016 2006-07-11  Derek R. Price  <derek@ximbiot.com>
66017
66018         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
66019
66020 2006-07-11  Bruno Haible  <bruno@clisp.org>
66021
66022         * README: Mention where to put documentation.
66023
66024 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66025
66026         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
66027
66028 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
66029
66030         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
66031         to stdint.m4.
66032
66033 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
66034
66035         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
66036         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
66037         "no/such/file/stdint.h" when there is no such file, so that
66038         the resulting C code can be parsed by dodgy compilers.
66039         Problems reported by Bob Proulx.
66040
66041 2006-07-10  Derek R. Price  <derek@ximbiot.com>
66042
66043         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
66044         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
66045         macros into the GNU _D_EXACT_NAMLEN.
66046         * lib/savedir.c:  Likewise.
66047         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
66048
66049 2006-07-10  Derek R. Price  <derek@ximbiot.com>
66050         and Paul Eggert  <eggert@cs.ucla.edu>
66051
66052         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
66053         * m4/savedir.m4:
66054         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
66055         macros into the GNU _D_EXACT_NAMLEN.
66056
66057 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
66058
66059         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
66060         around the absolute name, to work around a problem with the HP-UX
66061         11.23 native C compiler, reported by Bob Proulx.
66062
66063 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
66064
66065         * doc/maintain.texi, make-stds.texi: Sync from
66066         <http://savannah.gnu.org/projects/gnustandards>.
66067
66068 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
66069
66070         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
66071
66072 2006-07-09  Jim Meyering  <jim@meyering.net>
66073
66074         * m4/glob.m4: Remove a doubled word in a comment.
66075
66076 2006-07-09  Jim Meyering  <jim@meyering.net>
66077
66078         * lib/argp-pv.c: Remove a doubled word in a comment.
66079         * lib/check-version.c (check_version): Likewise.
66080         * lib/javacomp.c (compile_java_class): Likewise.
66081
66082 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
66083
66084         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
66085         for the benefit of people using Autoconf 2.60.  If you want to
66086         support older Autoconf versions you can copy m4/onceonly_2_57.m4
66087         (or m4/onceonly.m4, if pre-2.57) manually.
66088
66089 2006-07-08  Jim Meyering  <jim@meyering.net>
66090
66091         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
66092         comment.
66093         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
66094         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
66095         comment.
66096
66097 2006-07-08  Jim Meyering  <jim@meyering.net>
66098
66099         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
66100
66101 2006-07-07  Simon Josefsson  <jas@extundo.com>
66102
66103         * tests/test-crc.c: Change expected crc value, the test vector
66104         were probably computed using the old broken crc.c?
66105
66106 2006-07-06  Simon Josefsson  <jas@extundo.com>
66107
66108         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
66109         now the canonical place for the M4 file).
66110
66111         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
66112         from the sys_socket dependency now.
66113
66114         * modules/inet_pton (Files): Ditto.
66115
66116         * modules/inet_ntop (Files): Ditto.
66117
66118 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
66119
66120         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
66121         not gl_PREREQ_GETUSERSHELL.
66122
66123 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66124
66125         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
66126         with only one argument, for Autoconf 2.60.
66127         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
66128         expand to nothing, so add a shell command to avoid syntax error.
66129         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
66130
66131 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66132
66133         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
66134
66135 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
66136
66137         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
66138         no longer needed.  Check for isblank decl.
66139         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
66140         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
66141         of existence.
66142
66143 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
66144
66145         * lib/getloadavg.c: Use __VMS, not VMS.
66146         * lib/getopt.c: Likewise.
66147         * lib/getpagesize.h: Likewise.
66148         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
66149         and probably does not work.
66150
66151 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
66152
66153         * lib/.cppi-disable: Add wcwidth.
66154         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
66155         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
66156         (ISGRAPH): Remove.  All uses changed to isgraph.
66157         (FOLD) [!defined _LIBC]: Remove special case.
66158         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
66159         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
66160         HAVE_ISBLANK.
66161         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
66162         case.
66163
66164 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
66165
66166         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
66167         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
66168         brackets.  Other minor changes to suppress some compiler
66169         warnings.
66170
66171 2006-07-06  Derek R. Price  <derek@ximbiot.com>
66172         and Paul Eggert  <eggert@cs.ucla.edu>
66173
66174         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
66175         of invoking obsolescent AC_HEADER_DIRENT macro.
66176         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
66177         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
66178         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
66179         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
66180         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
66181         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66182         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
66183         * m4/readdir.m4: Remove; no longer needed.
66184
66185 2006-07-06  Derek R. Price  <derek@ximbiot.com>
66186         and Paul Eggert  <eggert@cs.ucla.edu>
66187
66188         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
66189         Don't worry about this obsolete case any more.
66190         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
66191         directories.
66192         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
66193         worry about this obsolete case any more.
66194         * lib/fts.c: Likewise.
66195         * lib/getcwd.c: Likewise.
66196         * lib/glob.h: Likewise.
66197         * lib/savedir.c: Likewise.
66198
66199 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
66200
66201         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
66202         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
66203         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
66204         needed.
66205         All uses removed.
66206         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
66207         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
66208         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
66209         needed.
66210         * m4/getdate.m4 (gl_GETDATE): Likewise.
66211         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
66212         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
66213         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
66214         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
66215         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
66216         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
66217         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
66218         needed.
66219
66220 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
66221
66222         * lib/memcasecmp.c: Include <limits.h>.
66223         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
66224         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
66225         Don't assume isdigit succeeds only on '0' through '9'.
66226
66227 2006-07-05  Eric Blake  <ebb9@byu.net>
66228
66229         * modules/getaddrinfo (Depends-on): Add snprintf.
66230
66231 2006-07-05  Eric Blake  <ebb9@byu.net>
66232
66233         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
66234         to avoid 'header present but could not be compiled' on cygwin.
66235
66236 2006-07-05  Eric Blake  <ebb9@byu.net>
66237
66238         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
66239         missing from netdb.h.
66240         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
66241
66242 2006-07-05  Derek R. Price  <derek@ximbiot.com>
66243
66244         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
66245         no longer needed.
66246         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
66247         * m4/getdate.m4 (gl_GETDATE): Likewise.
66248         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
66249         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
66250         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
66251         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
66252         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
66253
66254 2006-07-05  Derek R. Price  <derek@ximbiot.com>
66255
66256         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
66257         All uses of is_space replaced by isspace.
66258         * lib/exit.h: Don't talk about STDC_HEADERS.
66259         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
66260         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
66261         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
66262         replaced by isprint etc.
66263         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
66264         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
66265         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
66266         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
66267         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
66268         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
66269
66270 2006-07-05  Bruno Haible  <bruno@clisp.org>
66271
66272         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
66273         the function exists, before testing against AIX.
66274         Reported by Martin Lambers <marlam@marlam.de>.
66275
66276 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
66277
66278         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
66279         From Mark D. Baushke.
66280
66281 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
66282
66283         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
66284         to the absolute name, not just one, to bypass Sun C 5.8's
66285         "warning: #include of /usr/include/... may be non-portable".
66286
66287 2006-07-04  Eric Blake  <ebb9@byu.net>
66288
66289         * modules/dirname-tests: New test module.
66290         * tests/test-dirname.c: New file, replacing dirname.c
66291         TEST_DIRNAME section that was recently deleted.
66292
66293 2006-07-04  Bruno Haible  <bruno@clisp.org>
66294
66295         Assume ANSI C header files and <ctype.h> functions.
66296         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
66297         (mbsnwidth): Use isprint, iscntrl instead.
66298
66299 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66300
66301         Merge from coreutils.
66302         * MODULES.html.sh: Add xstrtold.
66303         * modules/xstrtold: New file.
66304         * modules/cycle-check (Files): Add lib/same-inode.h.
66305         * modules/dirname (Files): Add m4/double-slash-root.m4.
66306         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
66307         * modules/mkdir-p (Files): Add lib/same-inode.h.
66308         * modules/same (Files): Add lib/same-inode.h.
66309
66310 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66311
66312         * m4/absolute-header.m4: Renamed from full-header-path.m4.
66313         This is to keep the terminology clean; POSIX talks about
66314         "absolute pathnames", not "full pathnames", but the GNU
66315         Coding Standards say to use "path" for something else;
66316         so use "absolute" to keep both sides happy.
66317         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
66318         Set gl_absolute_header, not gl_full_header_path.
66319         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
66320         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
66321         All uses changed.
66322
66323         Merge from coreutils.
66324
66325         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
66326
66327         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
66328         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
66329         want to require the building of c-strtod.o.
66330         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
66331         needs -lm directly.
66332         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
66333
66334         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
66335
66336         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
66337         --as-needed option if available.  Problem reported by Albert Chin in
66338         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
66339         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
66340         cc merely issues a bunch of annoying warnings for --as-needed
66341         (this problem was reported by Bob Proulx).  Also, try linking with
66342         -lm to detect a bug in binutils 2.16 (this problem was reported
66343         by Ralf Wildenhues).
66344
66345         2006-06-18  Jim Meyering  <jim@meyering.net>
66346
66347         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
66348         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
66349         macro.
66350         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
66351         also check for glibc-2.4's abort-inducing bug.
66352
66353         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
66354         Low-probability clean-up should be to use rmdir to get rid of
66355         the just-created directory, not unlink.
66356
66357         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
66358         configure fail, and request a bug report to inform us about it.
66359         Add a comment that, barring reports to the contrary, in 2007 we'll
66360         assume ftruncate is universally available.
66361
66362         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
66363
66364         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
66365
66366         2006-03-12  Jim Meyering  <jim@meyering.net>
66367
66368         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
66369         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
66370         * m4/same.m4 (gl_SAME): Likewise.
66371         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
66372
66373         2006-03-11  Eric Blake  <ebb9@byu.net>
66374
66375         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
66376         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
66377         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
66378         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
66379
66380 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66381
66382         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
66383         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
66384         reported by Mark D. Baushke, one in
66385         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
66386
66387         Merge from coreutils.
66388
66389         * lib/.cppi-disable: Add stdint_.h.
66390         * lib/.cvsignore: Add stdint.h.
66391
66392         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
66393
66394         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
66395         both double and long double versions.
66396         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
66397         * lib/xstrtold.c: New file.
66398         * lib/xstrtod.h (xstrtold): New decl.
66399
66400         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
66401
66402         * lib/filemode.c (setst): Remove.
66403         (strmode): Rewrite to avoid setst.  This makes the code shorter,
66404         (arguably) clearer, and the generated code is a bit smaller on my
66405         Debian GNU/Linux stable x86 host.
66406
66407         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
66408
66409         * lib/filemode.c: Include "filemode.h" first, to test the interface.
66410         Assume that filemode.h includes sys/types.h and sys/stat.h.
66411         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
66412         (ftypelet): Reorder to put common cases first, for efficiency.
66413         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
66414         to do 'M'.
66415         (strmode): Renamed from mode_string, and now stores 12 bytes instead
66416         of 10, for compatibility with FreeBSD.  All callers changed.
66417         (filemodestring): Now stores 12 bytes instead of 10, and sets file
66418         types that can't be deduced solely from st_mode.  First arg is now a
66419         const pointer.
66420         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
66421         (strmode): Renamed from mode_string.
66422         (filemodestring): New decl.
66423         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
66424         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
66425         needed.
66426         (S_ISPORT, S_ISWHT): New macros, if not already defined.
66427
66428         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
66429
66430         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
66431         fsusage.h now does that.  Include fsusage.h first, to test interface.
66432         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
66433         at most one method (the old code could have generated decls that
66434         didn't conform to C89, not that this was ever exercised).
66435         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
66436
66437         2006-03-19  Jim Meyering  <jim@meyering.net>
66438
66439         Work even in a chroot where d_ino values for entries in "/"
66440         don't match the stat.st_ino values for the same names.
66441         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
66442         number, iterate through all entries again, using lstat instead.
66443         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
66444         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
66445
66446         * lib/getcwd.c (__getcwd): Clarify a comment.
66447         Use memcpy in place of a call to strcpy.
66448
66449         2006-03-12  Jim Meyering  <jim@meyering.net>
66450
66451         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
66452         matches that of the current directory (which we're about to chdir ".."
66453         out of), then save the dev-ino of the parent, instead.
66454
66455         * lib/same-inode.h (SAME_INODE): New file/macro.
66456         * lib/chdir-safer.c (SAME_INODE): Remove definition.
66457         Include "same-inode.h", instead.
66458         * lib/same.c: Likewise.
66459         * lib/cycle-check.h: Include "same-inode.h".
66460         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
66461         * lib/cycle-check.c (SAME_INODE): Remove definition.
66462         * lib/root-dev-ino.h: Include "same-inode.h".
66463
66464         2006-03-11  Eric Blake  <ebb9@byu.net>
66465
66466         * lib/same.c (same_name): s/base_name/last_component/
66467         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
66468         * lib/filenamecat.c (file_name_concat): Likewise.
66469
66470         2006-03-11  Eric Blake  <ebb9@byu.net>,
66471                     Paul Eggert  <eggert@cs.ucla.edu>
66472
66473         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
66474         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
66475         drive prefix.
66476         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
66477         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
66478         (last_component): New method.
66479         * lib/dirname.c (dir_len): Determine when drive letters need a
66480         subsequent slash.  Preserve // when it is special.
66481         (dir_name): Don't append dot when drive letter is absolute.
66482         [TEST_DIRNAME]: Move into a full-blown gnulib test.
66483         * lib/basename.c (base_name): New semantics - malloc the result.
66484         Preserve // when it is special.  Preserve relative files that look
66485         like drive letters.
66486         (base_len): Preserve // when it is special.
66487         (last_component): New method, similar to old base_name semantics.
66488         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
66489         base_name.  Strip redundant slashes from ///.
66490
66491 2006-07-03  Jim Meyering  <jim@meyering.net>
66492
66493         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
66494         macro is used before the first cycle_check call.
66495
66496 2006-07-03  Eric Blake  <ebb9@byu.net>
66497
66498         * modules/dirname (Depends-on): Add xstrndup.
66499
66500 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
66501
66502         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
66503         test cases, so that config.log is a bit easier to follow.
66504
66505 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
66506
66507         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
66508         both are 64 bits, since this seems to be the tradition, and this
66509         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
66510         we ever run into a host that prefers long long to long in this
66511         case, we'll need another configure-time test.  Problem reported by
66512         Jim Meyering.
66513
66514 2006-07-02  Eric Blake  <ebb9@byu.net>
66515
66516         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
66517
66518 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66519
66520         * modules/inttypes (Depends-on): No longer depends on stdint.
66521         * modules/stdint (Description): Say more about assumptions.
66522         Say that the fast types might differ.  Say macros are used.
66523         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
66524         (Makefile.am): Revise list of substituted symbols to match
66525         new stdint.m4.
66526         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
66527         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
66528         * tests/test-stdint.c (verify_same_types)
66529         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
66530         the code conforms to C99/C89.
66531         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
66532         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
66533
66534 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66535
66536         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
66537         but fix a bug, by requiring at least 64 bits.
66538         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
66539         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
66540         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
66541         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
66542
66543         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
66544         changes.  Make 2.59 a prerequisite.  Check and substitute for
66545         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
66546         inttypes.h.  Do not use special include files; just use the
66547         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
66548         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
66549         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
66550         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
66551         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
66552         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
66553         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
66554         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
66555         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
66556         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
66557         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
66558         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
66559         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
66560         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
66561         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
66562         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
66563         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
66564         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
66565         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
66566         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
66567         WINT_MAX.  Check for C99 conformance more strictly, by detecting
66568         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
66569         not check for things that C99 does not require, e.g., int8_t.  If
66570         a test isn't needed unless <stdint.h> isn't working, and is
66571         unlikely to be needed for any other reason, then don't do it
66572         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
66573         size_t, since we assume C89 freestanding at least.  Do not check
66574         for sig_atomic_t, wchar_t, or wint_t, since the code now does
66575         the right thing even if the types are not defined.  Instead use:
66576         (gl_STDINT_TYPE_PROPERTIES): New macro.
66577         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
66578         testing whether <sys/types.h> clashes, as Autoconf does this for
66579         us now.  All uses removed.
66580         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
66581         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
66582         (gl_CHECK_TYPE_SAME):
66583         Remove; no longer needed.
66584         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
66585         exists, since we'll return 0 anyway in that case.
66586         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
66587
66588 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66589
66590         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
66591         possible collision with system files.
66592         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
66593         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
66594         WCHAR_MIN and WCHAR_MAX in this case.
66595         (<stddef.h>): Do not include; no longer needed.
66596         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
66597         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
66598         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
66599         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
66600         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
66601         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
66602         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
66603         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
66604         !defined(__c99))]: Include in this case too, since it's harmless
66605         now.
66606         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
66607         dangerous to do so.
66608         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
66609         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
66610         (_STDINT_MIN, _STDINT_MAX): New macros.
66611         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
66612         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
66613         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
66614         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
66615         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
66616         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
66617         macros, not typedefs; this simplifies things quite a bit.
66618         Use long int for all types narrower than int64_t.
66619         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
66620         Define in terms of long long int or int64_t or long int,
66621         not int64_t or int32_t.  This saves some compile-time testing.
66622         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
66623         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
66624         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
66625         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
66626         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
66627         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
66628         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
66629         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
66630         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
66631         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
66632         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
66633         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
66634         undef any previous version and define our own version, for
66635         simplicity and consistency with the new macros for types.
66636         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
66637         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
66638         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
66639         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
66640         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
66641         @WINT_T_SUFFIX@ to keep things simple here.
66642         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
66643         Simplify by assuming typical 8/16/32/64 host, since we're
66644         already doing that elsewhere anyway.
66645         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
66646         and assume long long int is 64 bits if available.  This
66647         speeds up 'configure'.
66648
66649 2006-07-01  Eric Blake  <ebb9@byu.net>
66650
66651         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
66652         Reported by Andreas Buening.
66653
66654 2006-07-01  Eric Blake  <ebb9@byu.net>
66655
66656         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
66657
66658 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
66659
66660         * lib/getaddrinfo.c: fixed typo
66661
66662 2006-06-29  Jim Meyering  <jim@meyering.net>
66663
66664         * modules/strftime (Maintainer): Add my name, since with the
66665         FPRINTFTIME changes strftime.c has forked from glibc.
66666
66667 2006-06-29  Eric Blake  <ebb9@byu.net>
66668
66669         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
66670
66671 2006-06-29  Eric Blake  <ebb9@byu.net>
66672
66673         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
66674
66675 2006-06-29  Eric Blake  <ebb9@byu.net>
66676
66677         * lib/stat_.h: New file.
66678
66679 2006-06-29  Eric Blake  <ebb9@byu.net>
66680
66681         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
66682         unused static function.
66683
66684 2006-06-29  Eric Blake  <ebb9@byu.net>
66685
66686         * doc/functions.texi (Function Portability): Document missing lstat
66687         on mingw.
66688
66689 2006-06-29  Eric Blake  <ebb9@byu.net>
66690
66691         * MODULES.html.sh: Add sys_stat.
66692         * modules/sys_stat: New module.
66693         * modules/mkstemp (Depends-on): Add sys_stat.
66694
66695 2006-06-29  Derek R. Price  <derek@ximbiot.com>
66696
66697         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
66698
66699 2006-06-29  Derek R. Price  <derek@ximbiot.com>
66700
66701         * m4/c-bs-a.m4: Removed.
66702
66703 2006-06-29  Derek R. Price  <derek@ximbiot.com>
66704
66705         * lib/strftime.c: Assume strftime() exists.
66706
66707 2006-06-29  Derek Price  <derek@ximbiot.com>
66708
66709         * modules/c-bs-a: Removed - \a is C89.
66710         * MODULES.html.sh: Remove c-bs-a.
66711
66712 2006-06-29  Bruno Haible  <bruno@clisp.org>
66713
66714         * modules/wcwidth (License): Change to LGPL.
66715
66716 2006-06-28  Simon Josefsson  <jas@extundo.com>
66717
66718         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
66719         on _WIN32.
66720
66721         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
66722         getnameinfo.
66723
66724 2006-06-28  Simon Josefsson  <jas@extundo.com>
66725
66726         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
66727
66728 2006-06-28  Simon Josefsson  <jas@extundo.com>
66729
66730         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
66731         functions there.  It will succeed on Windows XP, but on Windows
66732         2000 and (presumably) earlier, it will fail, and use the internal
66733         re-implementation.
66734         (use_win32_p): New function.
66735         (getaddrinfo): Use strtoul on servname, to support numeric ports.
66736         Support AI_NUMERICSERV to disable getservbyname.
66737         (getnameinfo): New function, only supports
66738         NI_NUMERICHOST|NI_NUMERICSERV for now.
66739
66740         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
66741         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
66742         getnameinfo.
66743
66744 2006-06-28  Eric Blake  <ebb9@byu.net>
66745
66746         * modules/wcwidth: New file.
66747         * modules/mbchar (Depends-on): Add wcwidth.
66748         * modules/mbswidth (Depends-on): Add wcwidth.
66749         * MODULES.html.sh: Add wcwidth.
66750
66751 2006-06-28  Eric Blake  <ebb9@byu.net>
66752
66753         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
66754         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
66755
66756 2006-06-28  Eric Blake  <ebb9@byu.net>
66757
66758         * lib/xvasprintf.h: Fix comments.
66759
66760 2006-06-28  Eric Blake  <ebb9@byu.net>
66761
66762         * lib/mbchar.h (wcwidth): Include wcwidth.h.
66763         * lib/mbswidth.c (wcwidth): Move from here...
66764         * lib/wcwidth.h: ...to this new file.
66765
66766 2006-06-28  Derek R. Price  <derek@ximbiot.com>
66767
66768         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
66769
66770         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
66771         it's obsolete.
66772         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
66773
66774 2006-06-28  Derek R. Price  <derek@ximbiot.com>
66775
66776         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
66777         Autoconf 2.60 says this stuff was obsolete.
66778
66779 2006-06-28  Bruno Haible  <bruno@clisp.org>
66780
66781         * modules/wcwidth (Files): Add m4/wchar_t.m4.
66782
66783 2006-06-28  Bruno Haible  <bruno@clisp.org>
66784
66785         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
66786         gt_TYPE_WCHAR_T.
66787
66788 2006-06-28  Bruno Haible  <bruno@clisp.org>
66789
66790         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
66791         declaration for wcwidth.
66792         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
66793
66794 2006-06-28  Bruno Haible  <bruno@clisp.org>
66795
66796         * lib/mkdtemp.c [MINGW]: Include <io.h>.
66797         (mkdir): Define using _mkdir.
66798
66799 2006-06-28  Bruno Haible  <bruno@clisp.org>
66800
66801         * lib/getaddrinfo.h: Fix POSIX URL.
66802         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
66803         _WIN32.
66804         (use_win32_p): Make static.
66805         (getaddrinfo): Reject service name if it is empty or does not consist
66806         solely of decimal digits, or if its value is > 65535.
66807         (getnameinfo): Remove useless casts.
66808
66809 2006-06-27  Simon Josefsson  <jas@extundo.com>
66810
66811         * modules/sys_select: New file, suggested by Bruno Haible, Paul
66812         Eggert and Martin Lambers.
66813
66814 2006-06-27  Simon Josefsson  <jas@extundo.com>
66815
66816         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
66817         Eggert and Martin Lambers.
66818
66819 2006-06-27  Bruno Haible  <bruno@clisp.org>
66820
66821         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
66822         result to 0, not to empty.
66823         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
66824
66825 2006-06-27  Bruno Haible  <bruno@clisp.org>
66826
66827         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
66828
66829 2006-06-26  Simon Josefsson  <jas@extundo.com>
66830
66831         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
66832         present.
66833
66834 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
66835
66836         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
66837         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
66838         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
66839
66840 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
66841
66842         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
66843
66844 2006-06-26  Bruno Haible  <bruno@clisp.org>
66845
66846         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
66847
66848 2006-06-26  Bruno Haible  <bruno@clisp.org>
66849
66850         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
66851
66852 2006-06-26  Bruno Haible  <bruno@clisp.org>
66853
66854         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
66855         SGI C compiler in pre-C99 mode.
66856         Suggested by Mark D. Baushke and Larry Jones.
66857
66858 2006-06-26  Bruno Haible  <bruno@clisp.org>
66859
66860         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
66861         WCHAR_MAX.
66862         Reported by Mark D. Baushke and Larry Jones.
66863
66864 2006-06-26  Bruno Haible  <bruno@clisp.org>
66865
66866         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
66867         in pre-C99 mode.
66868         Suggested by Mark D. Baushke and Larry Jones.
66869
66870 2006-06-23  Simon Josefsson  <jas@extundo.com>
66871             Bruno Haible  <bruno@clisp.org>
66872
66873         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
66874         Emit mostlyclean-local rule.
66875         (func_emit_tests_Makefile_am): Likewise.
66876         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
66877
66878 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
66879
66880         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
66881
66882 2006-06-23  Bruno Haible  <bruno@clisp.org>
66883
66884         * tests/test-stdint.c: Update to match ISO C 99 Technical
66885         Corrigendum 1.
66886
66887 2006-06-23  Bruno Haible  <bruno@clisp.org>
66888
66889         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
66890
66891 2006-06-23  Bruno Haible  <bruno@clisp.org>
66892
66893         * lib/stdint_.h: Treat IRIX like OpenBSD.
66894
66895 2006-06-23  Bruno Haible  <bruno@clisp.org>
66896
66897         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
66898         ISO C 99 Technical Corrigendum 1.
66899
66900 2006-06-22  Simon Josefsson  <jas@extundo.com>
66901
66902         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
66903         MinGW.
66904
66905 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
66906
66907         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
66908         needed.  Some compiler complained about some of them.  Problem reported
66909         by Larry Jones in
66910         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
66911
66912 2006-06-21  Simon Josefsson  <jas@extundo.com>
66913
66914         * tests/test-getaddrinfo.c: New file.
66915
66916         * modules/getaddrinfo-tests: New file.
66917
66918         * MODULES.html.sh: Add inet_pton.
66919
66920         * modules/inet_pton: New file.
66921
66922 2006-06-21  Simon Josefsson  <jas@extundo.com>
66923
66924         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
66925         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
66926         of using the (limited) gnulib implementation on Windows XP.
66927
66928         * m4/inet_pton.m4: New file.
66929
66930 2006-06-21  Simon Josefsson  <jas@extundo.com>
66931
66932         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
66933         variable.
66934
66935         * lib/socket_.h: Don't define WINVER.
66936
66937         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
66938         slightly modified to work in gnulib.
66939
66940 2006-06-21  Simon Josefsson  <jas@extundo.com>
66941
66942         * doc/gnulib.texi (Windows sockets): Add.
66943
66944 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
66945
66946         * lib/read-file.c (fread_file): Start with buffer allocation of
66947         0 bytes rather than 1 byte; this simplifies the code.
66948         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
66949         code to free buffer and save/restore errno.
66950         (internal_read_file): Remove unused local.
66951
66952 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
66953
66954         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
66955         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
66956         Problem reported by Denis Excoffier in
66957         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
66958
66959 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66960
66961         * modules/sys_socket, modules/socklen: Include sys/types since
66962         FreeBSD 4.x's sys/socket.h needs it.
66963
66964 2006-06-19  Simon Josefsson  <jas@extundo.com>
66965
66966         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
66967
66968 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
66969
66970         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
66971
66972 2006-06-19  Bruno Haible  <bruno@clisp.org>
66973
66974         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
66975         and FULL_PATH_INTTYPES_H in angle brackets.
66976         Reported by Mark D. Baushke <mdb@gnu.org>.
66977
66978 2006-06-17  Eric Blake  <ebb9@byu.net>
66979
66980         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
66981         errno.
66982
66983 2006-06-17  Bruno Haible  <bruno@clisp.org>
66984
66985         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
66986         <sys/inttypes.h>.
66987
66988 2006-06-17  Bruno Haible  <bruno@clisp.org>
66989
66990         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
66991         whether errno is declared. Assume <errno.h> declares errno.
66992
66993 2006-06-17  Bruno Haible  <bruno@clisp.org>
66994
66995         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
66996
66997 2006-06-17  Bruno Haible  <bruno@clisp.org>
66998
66999         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
67000         problem on Solaris 2.5.1.
67001
67002 2006-06-16  Eric Blake  <ebb9@byu.net>
67003
67004         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
67005         * lib/unicodeio.c [!defined errno]: Likewise.
67006         * lib/strtol.c [!defined errno]: Likewise.
67007         * lib/strtod.c [!defined errno]: Likewise.
67008
67009 2006-06-15  Eric Blake  <ebb9@byu.net>
67010
67011         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
67012
67013 2006-06-15  Eric Blake  <ebb9@byu.net>
67014
67015         * config/srclist.txt (ssize_t.m4): Lose sync.
67016
67017 2006-06-15  Bruno Haible  <bruno@clisp.org>
67018
67019         * modules/stdint (Files): Include m4/full-header-path.m4,
67020         m4/size_max.m4, m4/wchar_t.m4.
67021         (Makefile.am): Many more substitutions.
67022         * modules/stdint-tests: New file.
67023         * tests/test-stdint.c: New file.
67024
67025 2006-06-15  Bruno Haible  <bruno@clisp.org>
67026
67027         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
67028         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
67029         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
67030         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
67031         gl_CHECK_TYPE_SAME): New macros.
67032
67033 2006-06-15  Bruno Haible  <bruno@clisp.org>
67034
67035         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
67036
67037 2006-06-15  Bruno Haible  <bruno@clisp.org>
67038
67039         * lib/stdint_.h: Rewritten to be fully auto-configured.
67040         Fixes bug on HP-UX/IA64.
67041
67042 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
67043
67044         * lib/getdate.y (__attribute__): Don't define if already defined.
67045         Problem reported by Larry Jones.
67046         * lib/utimens.c (__attribute__): Likewise.
67047
67048 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
67049
67050         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
67051         reported by Andreas Schwab.
67052
67053 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67054             Bruno Haible  <bruno@clisp.org>
67055
67056         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
67057         check for the declaration of strnlen and a run test that exposes the
67058         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
67059         rpl_strndup.
67060
67061 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67062             Bruno Haible  <bruno@clisp.org>
67063
67064         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
67065
67066 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67067
67068         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
67069         compile test, for Tru64 4.0D.
67070
67071 2006-05-28  Karl Berry  <karl@gnu.org>
67072
67073         * config/srclist.txt (printf-args.c): lose sync.
67074
67075 2006-05-26  Martin Lambers  <marlam@marlam.de>
67076
67077         * lib/getpass.c: Updates the test for the native W32 API, and adds
67078         missing includes, thus fixing compilation warnings.
67079
67080 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
67081
67082         * lib/exclude.c (exclude_fnmatch): New function.
67083         (excluded_file_name): Call exclude_fnmatch.
67084         * lib/exclude.h (excluded_file_name): New prototype
67085
67086 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
67087
67088         * lib/tempname.c (small_open, large_open): New macros.
67089         (__open, __open64) [!_LIBC]: Remove.
67090         (__gen_tempname): Use small_open and large_open instead of __open
67091         and __open64.  This fixes a portability bug on HP-UX 11.11i
67092         reported by Simon Wing-Tang in
67093         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
67094
67095 2006-05-24  Bruno Haible  <bruno@clisp.org>
67096
67097         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
67098         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
67099         Reported by Thorsten Maerz <torte@netztorte.de> via
67100         Aaron Stone <aaron@serendipity.cx>.
67101
67102 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
67103
67104         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
67105         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
67106         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
67107         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
67108         not really conditional on the cache.
67109         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
67110
67111 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
67112
67113         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
67114         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
67115         (my_usleep): Don't mishandle maximum value.
67116
67117 2006-05-19  Jim Meyering  <jim@meyering.net>
67118
67119         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
67120
67121 2006-05-17  Bruno Haible  <bruno@clisp.org>
67122
67123         Cygwin portability.
67124         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
67125
67126 2006-05-17  Bruno Haible  <bruno@clisp.org>
67127
67128         * lib/stdint_.h: Fix recognition of Cygwin.
67129
67130 2006-05-15  Bruno Haible  <bruno@clisp.org>
67131
67132         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
67133         on libtool patch by Ralf Wildenhues.
67134
67135 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67136
67137         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
67138         test for C99 conformance; (bool) 0.5 is an integer constant
67139         expression, but (bool) -0.5 is not.  Problem reported by Fedor
67140         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
67141
67142 2006-05-11  Simon Josefsson  <jas@extundo.com>
67143
67144         * m4/xvasprintf.m4: Fix obvious typo.
67145
67146 2006-05-11  Jim Meyering  <jim@meyering.net>
67147
67148         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
67149         James Lemley.
67150
67151 2006-05-10  Simon Josefsson  <jas@extundo.com>
67152
67153         * lib/md4.c: Typo fix, update copyright years.
67154         (K1, K2): Don't use L because it turn computations into 64-bit on
67155         64-bit platforms.
67156
67157 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
67158
67159         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
67160         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
67161         unwanted sign propagation, e.g., on hosts with 64-bit int.
67162         There still are some problems with reeelly weird theoretical hosts
67163         (e.g., 33-bit int) but it's not worth worrying about now.
67164         * lib/sha1.c (rol): Likewise.
67165         (K1, K2, K3, K4): Remove unnecessary L suffix.
67166
67167 2006-05-10  Bruno Haible  <bruno@clisp.org>
67168
67169         * lib/des.c: Cast to avoid warnings.
67170
67171 2006-05-09  Bruno Haible  <bruno@clisp.org>
67172
67173         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
67174         (Depends-on): Depend also on xsize, stdarg.
67175         (configure.ac): Add gl_XVASPRINTF.
67176
67177 2006-05-09  Bruno Haible  <bruno@clisp.org>
67178
67179         * m4/xvasprintf.m4: New file.
67180
67181 2006-05-09  Bruno Haible  <bruno@clisp.org>
67182
67183         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
67184         (EOVERFLOW): Define fallback value.
67185         (xstrcat): New function.
67186         (xvasprintf): Recognize the special case of a string concatenation.
67187
67188 2006-05-08  Eric Blake  <ebb9@byu.net>
67189
67190         * gnulib-tool (func_version): Base copyright year on CVS date.
67191         (func_emit_copyright_notice): New function.
67192         (func_emit_lib_Makefile_am): Use it.
67193         (func_emit_tests_Makefile_am): Likewise.
67194         (func_import): Likewise.
67195
67196 2006-05-08  Bruno Haible  <bruno@clisp.org>
67197
67198         * modules/stdarg: New file.
67199         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
67200
67201 2006-05-08  Bruno Haible  <bruno@clisp.org>
67202
67203         * m4/stdarg.m4: New file, from GNU gettext.
67204
67205 2006-05-08  Bruno Haible  <bruno@clisp.org>
67206
67207         * config/srclist.txt (build-aux/config.rpath): different from latest
67208         release.
67209
67210 2006-05-08  Bruno Haible  <bruno@clisp.org>
67211
67212         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
67213
67214 2006-05-05  Jim Meyering  <jim@meyering.net>
67215
67216         * m4/warning.m4: New file, derived from bison's file by the same name.
67217
67218 2006-05-03  Bruno Haible  <bruno@clisp.org>
67219
67220         * lib/stdint_.h: Shorter URL.
67221         * lib/inttypes.h: Likewise.
67222
67223 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67224
67225         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
67226
67227 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67228
67229         * lib/verify.h: Document the internals better.  Most of this change
67230         was written by Bruno Haible.
67231
67232 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67233
67234         * doc/verify.texi: New file, partly based on a proposal by
67235         Bruno Haible.
67236
67237 2006-05-02  Bruno Haible  <bruno@clisp.org>
67238
67239         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
67240         test from here...
67241         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
67242
67243 2006-04-29  Bruno Haible  <bruno@clisp.org>
67244
67245         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
67246         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
67247
67248 2006-04-29  Bruno Haible  <bruno@clisp.org>
67249
67250         * gnulib-tool: Make --update option actually work.
67251
67252 2006-04-29  Bruno Haible  <bruno@clisp.org>
67253
67254         * doc/gcd.texi: New file.
67255         * doc/gnulib.texi: Include it.
67256
67257 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
67258
67259         * lib/getdate.y (get_date): When adding relative date, start with the
67260         initial time, not with the result of the first mktime call.
67261
67262 2006-04-25  Bruno Haible  <bruno@clisp.org>
67263
67264         * gnulib-tool (func_import): Output the include directives in three
67265         blocks, sorted separately.
67266         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67267
67268 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
67269
67270         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
67271         to define main with arguments, for C++.  Reported by Eric Blake.
67272         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
67273         Prefer 'int main ()' to 'int main (void)', for C++.
67274         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
67275         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
67276         for 'main', for C99 and C++.
67277
67278 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
67279
67280         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
67281         Don't assume that exit status -1 is valid.
67282         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
67283         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
67284         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
67285         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
67286         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
67287         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
67288         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
67289         functions can be used without declaring them, or that you can
67290         exit with status -1.
67291         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
67292
67293 2006-04-24  Karl Berry  <karl@gnu.org>
67294
67295         * config/srclist.txt (longdouble.m4): sync lost.
67296
67297 2006-04-24  Eric Blake  <ebb9@byu.net>
67298
67299         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
67300
67301 2006-04-24  Bruno Haible  <bruno@clisp.org>
67302
67303         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
67304         poll() implementation in AIX.
67305         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67306
67307 2006-04-24  Bruno Haible  <bruno@clisp.org>
67308
67309         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
67310         assigned exactly once.
67311
67312 2006-04-23  Claudio Fontana  <claudio@gnu.org>
67313             Bruno Haible  <bruno@clisp.org>
67314
67315         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
67316         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
67317         for AM_CPPFLAGS.
67318
67319 2006-04-23  Bruno Haible  <bruno@clisp.org>
67320
67321         * modules/copy-file: Depend on unistd.
67322         * modules/execute: Likewise.
67323         * modules/fatal-signal: Likewise.
67324         * modules/findprog: Likewise.
67325         * modules/mkdtemp : Likewise.
67326         * modules/pipe: Likewise.
67327         * modules/wait-process: Likewise.
67328
67329 2006-04-23  Bruno Haible  <bruno@clisp.org>
67330
67331         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
67332         condition was already detected.
67333         Reported by Ben Pfaff <blp@cs.stanford.edu>.
67334
67335 2006-04-23  Bruno Haible  <bruno@clisp.org>
67336
67337         * lib/copy-file.c: Include <unistd.h> unconditionally.
67338         * lib/execute.c: Likewise.
67339         * lib/fatal-signal.c: Likewise.
67340         * lib/findprog.c: Likewise.
67341         * lib/mkdtemp.c: Likewise.
67342         * lib/pipe.h: Likewise.
67343         * lib/pipe.c: Likewise.
67344         * lib/wait-process.h: Likewise.
67345
67346 2006-04-23  Bruno Haible  <bruno@clisp.org>
67347
67348         * gnulib-tool (func_usage): Fix --import description. Document
67349         --update.
67350         (func_import): Create temporary file in a temporary directory, if
67351         --dry-run is specified. Silence errors from 'grep' when there are no
67352         m4 files in $m4dir.
67353         (func_create_testdir): Silence errors from 'grep' when there are no
67354         m4 files in $m4dir.
67355         Reported by Karl Berry <karl@freefriends.org>.
67356
67357 2006-04-20  Bruno Haible  <bruno@clisp.org>
67358
67359         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
67360         one argument, so that the code will be portable to Autoconf 2.60.
67361         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
67362         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
67363         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
67364
67365 2006-04-19  Derek Price  <derek@ximbiot.com>
67366             Eric Blake  <ebb9@byu.net>
67367
67368         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
67369         rather than "/full/path.h".  Update comment to match.  Shorten &
67370         generalize m4_translit call via AS_TR_CPP.
67371
67372 2006-04-19  Derek Price  <derek@ximbiot.com>
67373             Eric Blake  <ebb9@byu.net>
67374
67375         * lib/inttypes.h: Correct grammar in comment.
67376
67377 2006-04-18  Derek Price  <derek@ximbiot.com>
67378             Paul Eggert  <eggert@cs.ucla.edu>
67379
67380         * modules/inttypes: New file.
67381         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
67382
67383 2006-04-18  Derek Price  <derek@ximbiot.com>
67384             Paul Eggert  <eggert@cs.ucla.edu>
67385
67386         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
67387         New files.
67388
67389 2006-04-18  Derek Price  <derek@ximbiot.com>
67390             Paul Eggert  <eggert@cs.ucla.edu>
67391
67392         * lib/inttypes.h: New file.
67393         * lib/strtoimax.c: Assume <inttypes.h>.
67394
67395 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
67396
67397         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
67398         isn't mounted.  Problem reported by Kir Kolyshkin.
67399
67400 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67401
67402         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
67403         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
67404         Derek R. Price.
67405         * lib/regex.h (RE_DUP_MAX): Update comment to match current
67406         implementation.
67407
67408 2006-04-12  Eric Blake  <ebb9@byu.net>
67409
67410         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
67411         is now done automatically by the corresponding Autoconf macro.
67412
67413 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
67414
67415         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
67416         time_r.h.
67417
67418 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67419
67420         Merge regex changes from libc, removing some of our
67421         POSIX-conformance changes that were rejected and redoing them in a
67422         less-intrusive way.
67423
67424         * lib/regcomp.c (re_compile_internal, init_dfa):
67425         Length arg is now size_t, not Idx.  All uses changed.
67426         (peek_token): Forward decl now says internal_function.
67427         (__re_error_msgid, __re_error_msgid_idx):
67428         Now static rather than extern with attribute_hidden.
67429         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
67430         For some reason libc prefers K&R style defns for external functions.
67431         (regerror) [!defined _LIBC]: Likewise.
67432         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
67433         (seek_collating_symbol_entry, lookup_collation_sequence_value):
67434         (build_range_exp, build_collating_symbol):
67435         Use K&R-style defn.
67436         (re_compile_fastmap): Use '\0' to memset, not 0.
67437         (utf8_sb_map): Make the calculations more obvious.
67438         (init_dfa, parse_bracket_exp, build_charclass_op):
67439         Call calloc and cast result, as glibc does.
67440         (init_word_char, fetch_token, peek_token, peek_token_bracket):
67441         (build_range_exp, build_collating_symbol):
67442         Now internal functions.
67443
67444         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
67445
67446         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
67447         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
67448         Don't depend on VMS; depend on __VMS instead, for POSIX
67449         namespace cleanness.
67450         (regoff_t): Define to ssize_t, not long int.
67451
67452         Remove the REG_ macros named below.  Instead, make the old names
67453         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
67454         __USE_GNU_REGEX.
67455         (REG_BACKSLASH_ESCAPE_IN_LISTS):
67456         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
67457         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
67458         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
67459         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
67460         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
67461         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
67462         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
67463         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
67464         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
67465         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
67466         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
67467         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
67468         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
67469         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
67470         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
67471         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
67472         (REG_NREGS):
67473         Remove.  All uses replaced by the old RE_* names.
67474         (RE_BACKSLASH_ESCAPE_IN_LISTS):
67475         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
67476         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
67477         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
67478         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
67479         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
67480         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
67481         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
67482         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
67483         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
67484         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
67485         Don't bother having these macros be independent of each others'
67486         values, since they no longer exist in the POSIX name space.
67487
67488         Rename the following member names back to their old names,
67489         unless !__USE_GNU_REGEX.  All uses changed back.
67490         (buffer): Renamed from re_buffer.
67491         (allocated): Renamed from re_allocated.
67492         (used): Renamed from re_used.
67493         (syntax): Renamed from re_syntax.
67494         (fastmap): Renamed from re_fastmap.
67495         (translate): Renamed from re_translate.
67496         (can_be_null): Renamed from re_can_be_null.
67497         (regs_allocated): Renamed from re_regs_allocated.
67498         (fastmap_accurate): Renamed from re_fastmap_accurate.
67499         (no_sub): Renamed from re_no_sub.
67500         (not_bol): Renamed from re_not_bol.
67501         (not_eol): Renamed from re_not_eol.
67502         (newline_anchor): Renamed from re_newline_anchor.
67503         (num_regs): Renamed from rm_num_regs.
67504         (start): Renamed from rm_start.
67505         (end): Renamed from rm_end.
67506
67507         (free_state): Move up a bit.
67508
67509         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
67510         #define to be empty.
67511         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
67512         when that is what is intended.
67513         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
67514         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
67515         (MAX): New macro.
67516         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
67517         All uses changed back to re_malloc, etc.  It's now the caller's
67518         responsibility to check for overflow; all callers changed.
67519         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
67520         (re_x2nrealloc): Remove.
67521         (free_state): Remove decl.
67522
67523         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
67524         (re_set_registers, re_exec):
67525         Use K&R-style defn.
67526
67527         2006-01-31  Roland McGrath  <roland@redhat.com>
67528
67529         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
67530         Reported by Mike Frysinger <vapier@gentoo.org>.
67531
67532         2006-01-15  Andreas Jaeger  <aj@suse.de>
67533
67534         [BZ #1950]
67535         * lib/regex_internal.c (re_string_reconstruct): Adjust for
67536         build_wcs_upper_buffer change.
67537         (build_wcs_upper_buffer): Change return type.
67538
67539         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
67540
67541         * lib/regex_internal.h: Include <stdint.h> if available.
67542
67543         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
67544
67545         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
67546
67547         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
67548
67549         * lib/regcomp.c: Adjust for changed secondary hash function.
67550
67551         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
67552
67553         * lib/regex.h: Pretty printing.
67554         Clean up namespace a bit.
67555
67556         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
67557
67558         * lib/regexec.c (update_cur_sifted_state, check_arrival,
67559         check_arrival_add_next_nodes): Avoid using uninitialized variable.
67560
67561         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67562                     Ulrich Drepper  <drepper@redhat.com>
67563
67564         [BZ #1302]
67565         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
67566         changed.
67567         (bitset_word_t): Renamed from bitset_word.  All uses changed.
67568
67569         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
67570
67571         [BZ #281]
67572         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
67573         * lib/regcomp.c: Remove unnecessary uses of
67574         unsigned RE_TRANSLATE_TYPE.
67575         * lib/regex_internal.h: Likewise.
67576         * lib/regex_internal.c: Likewise.
67577         * lib/regexec.c: Likewise.
67578         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
67579
67580         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
67581
67582         * lib/regexec.c (find_recover_state): Remove unnecessary
67583         initialization.
67584         (transit_state_bkref): Make DFA a const pointer.
67585         (get_subexp): Likewise.
67586         (check_arrival): Likewise.
67587         (update_cur_sifted_state): Likewise.
67588         (re_search_internal): Likewise.
67589         (prune_impossible_nodes): Likewise.
67590         (acquire_init_state_context): Likewise.
67591         (proceed_next_node): Likewise.
67592         (set_regs): Likewise.
67593         (free_fail_stack_return): Likewise.
67594         (check_arrival_expand_ecl): Mark DFA parameter as const.
67595         (check_arrival_expand_ecl_sub): Likewise.
67596         (check_subexp_limits): Likewise.
67597         (sub_epsilon_src_nodes):  Likewise.
67598         (add_epsilon_src_nodes):  Likewise.
67599         (merge_state_array): Likewise.
67600         (update_regs): Likewise.
67601         (build_trtable): Likewise.
67602         (sift_states_backward): Mark MCTX parameter as const.
67603         (build_sifted_states): Likewise.
67604         (update_cur_sifted_state): Likewise.
67605         (sift_states_mkref): Likewise.
67606         (check_arrival_expand_ecl): Mark eclosure as const.
67607         (check_dst_limits_calc_pos_1): Likewise.
67608         * lib/regex_internal.h (re_match_context_t): Make dfa a const
67609         pointer.
67610
67611         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
67612
67613         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
67614         (transit_state_sb): Likewise.
67615         (transit_state_mb): Likewise.
67616         (sift_states_iter_mb): Likewise.
67617         (check_arrival_add_next_nodes): Likewise.
67618         (check_node_accept_bytes): Change first parameter to pointer-to-const.
67619         [_LIBC] (re_search_2_stub): Use mempcpy.
67620
67621         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
67622         mbrtowc for very simple UTF-8 case.
67623
67624         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
67625         a pointer-to-const.
67626         (re_acquire_state_context): Likewise.
67627         * lib/regex_internal.h: Adjust prototypes.
67628
67629         * lib/regex.c: Prevent using C++ compilers.
67630
67631         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
67632         (re_acquire_state_context): Likewise.
67633
67634 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67635
67636         * modules/regex (Depends-on): Add ssize_t.
67637
67638 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67639
67640         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
67641         translation table.
67642
67643 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
67644
67645         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
67646
67647 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
67648             Bruno Haible  <bruno@clisp.org>
67649
67650         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
67651         <sys/types.h> and <inttypes.h>.
67652
67653 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67654
67655         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
67656         `__error_t_defined', so argp.h will not typedef the former.
67657
67658 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
67659
67660         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
67661         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
67662         glibc names.  Even if glibc is changed to conform to POSIX, the
67663         traditional names will be available anyway, since regex depends on
67664         the extensions module.  Also, fix a longstanding typo in the
67665         implementation of Spencer ERE test #75 from grep 2.3.  Problems
67666         reported by Emanuele Giaquinta.  Also, change sense of cached
67667         variable, so that the message makes sense.
67668
67669 2006-03-24  Simon Josefsson  <jas@extundo.com>
67670
67671         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
67672         including some doc fixes.
67673         (base64_encode_alloc): Fix +1 bug on allocation failures.
67674
67675 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67676
67677         * lib/base64.c (base64_encode): Do not read past end of array with
67678         unsanitized input on systems with CHAR_BIT > 8.
67679
67680 2006-03-24  Eric Blake  <ebb9@byu.net>
67681
67682         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
67683
67684 2006-03-22  Karl Berry  <karl@gnu.org>
67685
67686         * config/srclist.txt (*setenv.[ch]): get from coreutils.
67687         * config/srclistvars.sh (COREUTILS): new var.
67688
67689 2006-03-17  Jim Meyering  <jim@meyering.net>
67690
67691         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
67692         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
67693
67694 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
67695
67696         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
67697         no longer needs it.  Instead, check that regoff_t is as least
67698         as wide as ptrdiff_t.
67699
67700         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
67701         so that our regex.h stays compatible with the installed regex.
67702         This is helpful for installers who configure --without-included-regex.
67703         Problem reported by Emanuele Giaquinta.
67704
67705 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
67706
67707         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
67708         Typedef to long int, not to off_, as POSIX will likely change
67709         in that direction.
67710
67711 2006-03-15  Eric Blake  <ebb9@byu.net>
67712
67713         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
67714
67715 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
67716
67717         * lib/argp-help.c (validate_uparams): Fix typo
67718         * lib/argp-parse.c (argp_default_options): Consistently begin help
67719         messages with a lowercase letter.
67720
67721 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
67722
67723         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
67724         overrun buffers and shouldn't be used (much as gets shouldn't be
67725         used).
67726         * lib/time_r.c (asctime_r, ctime_r): Likewise.
67727
67728 2006-03-08  Simon Josefsson  <jas@extundo.com>
67729
67730         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
67731         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67732
67733 2006-03-08  Simon Josefsson  <jas@extundo.com>
67734
67735         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
67736         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67737
67738 2006-03-08  Simon Josefsson  <jas@extundo.com>
67739
67740         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
67741         signal that configure disabled the device.
67742
67743 2006-03-08  Simon Josefsson  <jas@extundo.com>
67744
67745         * build-aux/maint.mk: Fix refresh-po, to handle no translated
67746         languages.
67747
67748 2006-03-07  Simon Josefsson  <jas@extundo.com>
67749
67750         * modules/getopt (Depends-on): Add unistd.
67751
67752         * modules/unistd: New file.
67753
67754 2006-03-07  Simon Josefsson  <jas@extundo.com>
67755
67756         * modules/gc-random: New file.
67757
67758 2006-03-07  Simon Josefsson  <jas@extundo.com>
67759
67760         * m4/unistd_h.m4: New file.
67761
67762 2006-03-07  Simon Josefsson  <jas@extundo.com>
67763
67764         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
67765         test to be side-effect free by storing the result in the cache
67766         variable gl_cv_lib_readline, and moving the assignment of
67767         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
67768         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67769
67770 2006-03-07  Simon Josefsson  <jas@extundo.com>
67771
67772         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
67773         error on missing devices (the functions will return an error).
67774
67775         * m4/gc.m4: Move random stuff to gc-random.m4
67776
67777 2006-03-07  Simon Josefsson  <jas@extundo.com>
67778
67779         * lib/unistd_.h: New file.
67780
67781 2006-03-07  Simon Josefsson  <jas@extundo.com>
67782
67783         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
67784
67785 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67786
67787         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
67788         Problem reported by Juan Manuel Guerrero.
67789
67790 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67791
67792         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
67793         the unistd module.
67794         * lib/getlogin_r.c: Likewise.
67795         * lib/getlogin_r.h: Likewise.
67796         * lib/glob.c: Likewise.
67797         * lib/pagealign_alloc.c: Likewise.
67798         * lib/unistd_.h: Remove; no longer needed.
67799
67800 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
67801
67802         * MODULES.html.sh (Support for systems lacking POSIX:2001):
67803         Add unistd.
67804         * modules/c-stack (Depends-on): Add unistd.
67805         * modules/getlogin_r: Likewise.
67806         * modules/glob: Likewise.
67807         * modules/pagealign_alloc: Likewise.
67808         * modules/unistd (Files): Remove lib/unistd_.h.
67809         (EXTRA_DIST): Remove.
67810         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
67811         need unistd_.h.
67812         (MOSTLYCLEANFILES): Remove unistd.h-t.
67813
67814 2006-03-03  Simon Josefsson  <jas@extundo.com>
67815
67816         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
67817
67818 2006-03-03  Simon Josefsson  <jas@extundo.com>
67819
67820         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
67821         libidn and bison.
67822
67823 2006-03-03  Simon Josefsson  <jas@extundo.com>
67824
67825         * build-aux/maint.mk: Add indent target.
67826
67827 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
67828
67829         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
67830         our replacement poll.h in any case, to avoid a differing
67831         declaration from a system header.  Seen on AIX.
67832
67833 2006-03-01  Simon Josefsson  <jas@extundo.com>
67834
67835         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
67836         <kasal@ucw.cz>.
67837
67838 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67839
67840         * modules/gettime (Depends-on): Add extensions module.
67841         * modules/nanosleep (Depends-on): Likewise.
67842         * modules/settime (Depends-on): Likewise.
67843
67844 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67845
67846         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
67847         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
67848         pedantically.
67849         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
67850         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
67851
67852         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
67853         not "==".  Reported by Ralf Wildenhues.
67854
67855 2006-03-01  Karl Berry  <karl@gnu.org>
67856
67857         * doc/Copyright/request-*: new files, synced from gnuorg.
67858
67859 2006-03-01  Karl Berry  <karl@gnu.org>
67860
67861         * config/srclist.txt (Copyright/*): new entries.
67862
67863 2006-02-28  Simon Josefsson  <jas@extundo.com>
67864
67865         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
67866
67867 2006-02-27  Simon Josefsson  <jas@extundo.com>
67868
67869         * lib/base64.h: Indent #define's.  From Jim Meyering
67870         <jim@meyering.net>.
67871
67872 2006-02-27  Jim Meyering  <jim@meyering.net>
67873
67874         Revert the change of 2006-02-24, so these files can continue
67875         to be sync'd from gettext.
67876         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
67877         of `config.h'.
67878
67879 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
67880
67881         * modules/intprops: New file.
67882         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
67883         Add intprops.
67884         * modules/getloadavg (Files): Remove lib/intprops.h.
67885         (Depends-on): Add intprops.
67886         * modules/human: Likewise.
67887         * modules/inttostr: Likewise.
67888         * modules/openat: Likewise.
67889         * modules/sig2str: Likewise.
67890         * modules/userspec: Likewise.
67891         * modules/utimecmp: Likewise.
67892         * modules/xnanosleep: Likewise.
67893         * modules/xstrtol: Likewise.
67894
67895 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
67896
67897         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
67898         * modules/lock-tests (TESTS): Use $(EXEEXT).
67899         * modules/tls-tests: Likewise.
67900         * modules/argp-tests: Likewise.
67901         (check_PROGRAMS): New var, replacing...
67902         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
67903
67904 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67905
67906         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
67907         `config.h'.
67908
67909 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
67910
67911         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
67912
67913 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67914
67915         Sync from coreutils.
67916         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
67917         gl_CHDIR_SAFER.
67918
67919 2006-02-22  Jim Meyering  <jim@meyering.net>
67920
67921         Sync from coreutils.
67922         * m4/chdir-safer.m4: New file.
67923
67924 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
67925
67926         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
67927         AT_FDCWD exceeds INT_MAX.
67928         * lib/openat.h (AT_FDCWD): Likewise.
67929
67930 2006-02-17  Eric Blake  <address@hidden>
67931
67932         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
67933
67934 2006-02-16  Simon Josefsson  <jas@extundo.com>
67935
67936         * modules/getaddrinfo (Depends-on): Add sys_socket.
67937
67938 2006-02-15  Simon Josefsson  <jas@extundo.com>
67939
67940         * build-aux/maint.mk: Add dsyntax-check rule.
67941
67942 2006-02-15  Eric Blake  <ebb9@byu.net>
67943
67944         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
67945         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
67946         'present but cannot compile' warnings on cygwin.
67947         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
67948         use ws2tcpip.h if sys/socket.h works.
67949         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
67950         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
67951
67952 2006-02-14  Simon Josefsson  <jas@extundo.com>
67953
67954         * modules/maintainer-makefile (Files): Rename.
67955
67956         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
67957         and (the local) Makefile.cfg to maint-cfg.mk.
67958
67959         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
67960         to the latter.
67961
67962         * modules/maintainer-makefile: New module.
67963
67964         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
67965         severaly stripped to make it possible to build it up from scratch
67966         with reliable tests.
67967
67968         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
67969         fixes to permit overriding the default actions when configure and
67970         makefile are not available.
67971
67972 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67973
67974         Sync from coreutils.
67975         * modules/lstat (Depends-on): Don't depend on xalloc.
67976         (License): Change from GPL to LGPL, since this is now simply a
67977         replacement for a libc function.
67978
67979 2006-02-14  Jim Meyering  <jim@meyering.net>
67980
67981         Sync from coreutils.
67982
67983         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
67984         failure on deficient systems, and simplify gnulib lgpl dependencies.
67985         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
67986         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
67987
67988         * lib/xalloc-die.c: Remove unused definition of N_.
67989
67990 2006-02-14  Jim Meyering  <jim@meyering.net>
67991
67992         Sync from coreutils.
67993         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
67994         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
67995         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
67996         double-quote uses of that variable, to accommodate the rare case in
67997         which getmntent is available in none of the libraries checked.  This
67998         happens at least on FreeBSD 5.0.
67999
68000 2006-02-13  Simon Josefsson  <jas@extundo.com>
68001
68002         * gnulib-tool (Usage): Fix --import, from
68003         karl@freefriends.org (Karl Berry).
68004
68005 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
68006
68007         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
68008
68009 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
68010
68011         * lib/argp-namefrob.h: Restore changes accidentally lost during the
68012         "autoupdate" on 2005-12-12.
68013
68014 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
68015
68016         * modules/closeout (Depends-on): Remove atexit.
68017
68018 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
68019
68020         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
68021         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
68022
68023 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
68024
68025         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
68026         __EXTENSIONS__ if this causes compilation to fail.  Problem
68027         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
68028         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
68029
68030 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
68031
68032         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
68033         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
68034         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
68035         All uses changed.
68036
68037 2006-01-26  Simon Josefsson  <jas@extundo.com>
68038
68039         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
68040         prototype is visible on mingw32.
68041
68042         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
68043         for mingw32.
68044
68045         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
68046         mingw32).
68047
68048 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
68049
68050         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
68051         attempt to open for write; this always fails, at least on POSIX
68052         hosts.  This reinstates the 2006-01-09 change, which was
68053         inadvertently removed.
68054
68055 2006-01-26  Bruno Haible  <bruno@clisp.org>
68056
68057         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
68058         Reported by Paul Eggert.
68059
68060 2006-01-26  Bruno Haible  <bruno@clisp.org>
68061             Paul Eggert  <eggert@cs.ucla.edu>
68062
68063         * lib/stdbool_.h (_Bool)
68064         [(! (defined __cplusplus || defined __BEOS__)
68065           && !defined __GNUC__
68066           && !(defined __HP_cc || defined __xlc__
68067                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
68068                || defined __sgi))]:
68069         #define to signed char in these cases too; this simplifies
68070         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
68071         etc., separately) and makes it more conservative.
68072
68073 2006-01-25  Simon Josefsson  <jas@extundo.com>
68074
68075         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
68076         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
68077         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
68078
68079 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
68080
68081         * lib/argp-namefrob.h: Bugfix. Remove stray #
68082
68083 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
68084
68085         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
68086         so that we test the test.
68087         Check for yet another HP-UX cc bug involving *bool |= bool.
68088
68089 2006-01-25  Karl Berry  <karl@gnu.org>
68090
68091         * config/srclist.txt (vasnprintf.c): sync lost.
68092
68093 2006-01-25  Jim Meyering  <jim@meyering.net>
68094
68095         Sync from the stable (b5) branch of coreutils:
68096
68097         * lib/fts.c (fts_children): Don't let close() clobber errno from
68098         failed fchdir().
68099
68100         * lib/fts.c (fts_stat): When following a symlink-to-directory,
68101         don't necessarily interpret stat-fails+lstat-succeeds as indicating
68102         a dangling symlink.  That can also happen at least for ELOOP.
68103         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
68104         FYI, this bug predates the inclusion of fts.c in coreutils.
68105
68106         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
68107         in their own block, so pre-c99 compilers don't object.
68108
68109         Avoid the double-free (first in fts_read, second in fts_close) that
68110         would occur when an `active' directory is made inaccessible (e.g.,
68111         via chmod a-x) during a traversal.
68112         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
68113         before returning.  Reproduce this failure by
68114         mkdir -p a/b; cd a; chmod a-x . b
68115         Reported by Stavros Passas.
68116
68117 2006-01-25  Jim Meyering  <jim@meyering.net>
68118
68119         * lib/fileblocks.c: Remove more useless parentheses.
68120         * lib/readutmp.h: Likewise.
68121
68122 2006-01-25  Bruno Haible  <bruno@clisp.org>
68123
68124         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
68125         warnings.
68126         Reported by Paul Eggert.
68127
68128 2006-01-25  Bruno Haible  <bruno@clisp.org>
68129
68130         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
68131         rid of a trap command. For Solaris sh.
68132         Reported by Mark D. Baushke <mdb@gnu.org>.
68133
68134 2006-01-24  Simon Josefsson  <jas@extundo.com>
68135
68136         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
68137         Bruno.
68138
68139 2006-01-24  Karl Berry  <karl@gnu.org>
68140
68141         * config/srclist.txt (argp-namefrob.h): sync lost.
68142
68143 2006-01-24  Jim Meyering  <jim@meyering.net>
68144
68145         * modules/openat (Files): Add lib/intprops.h.
68146         From Mark D. Baushke.
68147
68148 2006-01-24  Jim Meyering  <jim@meyering.net>
68149
68150         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
68151         Reported by Mark D. Baushke.
68152
68153 2006-01-24  Jim Meyering  <jim@meyering.net>
68154
68155         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
68156
68157 2006-01-24  Bruno Haible  <bruno@clisp.org>
68158
68159         * modules/strnlen (Maintainer): Change from glibc to all.
68160
68161 2006-01-24  Bruno Haible  <bruno@clisp.org>
68162
68163         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
68164         Patch by Paul Eggert.
68165
68166 2006-01-24  Bruno Haible  <bruno@clisp.org>
68167
68168         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
68169         already has it.
68170         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
68171         2005-11-26.
68172
68173         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
68174         'signed char' to avoid problems with the built-in _Bool type.
68175         Reported by Paul Eggert on 2005-11-26.
68176
68177 2006-01-24  Bruno Haible  <bruno@clisp.org>
68178
68179         * gnulib-tool (func_import): Avoid constructing complicated sed
68180         expressions inside backquote.
68181         Report and solution by Mark D. Baushke <mdb@gnu.org>.
68182
68183 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
68184
68185         These changes imported from libc.
68186         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
68187         test and two separate function calls.
68188         * lib/strndup.c (__strndup): Add libc_hidden_def.
68189
68190 2006-01-23  Simon Josefsson  <jas@extundo.com>
68191
68192         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
68193         Remove the test_*_SOURCES variable: automake infers it by default.
68194         * modules/tls-tests: Likewise.
68195
68196 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68197
68198         Work around porting bugs reported by Dieter in
68199         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
68200         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
68201         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
68202         Include "getopt.h" first, to check interface.
68203         (getenv): Declare only if defined HAVE_DECL_GETENV &&
68204         !HAVE_DECL_GETENV.
68205         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
68206         (__strndup): Revert to K&R-style function dfns, the glibc style.
68207         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
68208         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
68209         Include strnlen.h first, to get prototype properly.
68210         (strnlen): Renamed from __strnlen.
68211         Remove weak alias.
68212
68213 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68214
68215         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
68216
68217 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68218
68219         * config/srclist.txt: Adjust to reflect glibc reorganization.
68220         This affects only comments.
68221
68222 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
68223
68224          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
68225          Reported by Bruce Korb <bkorb@gnu.org>.
68226
68227 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68228
68229         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
68230         to pacify gcc -Wswitch-default.
68231
68232 2006-01-22  Bruno Haible  <bruno@clisp.org>
68233
68234         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
68235         temporary buffer for sprintf, take into account the precision also
68236         for 'd', 'i', 'u', 'o', 'x', 'X'.
68237
68238 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
68239
68240         * modules/argp-tests: New module
68241         * tests/test-argp.c: New file
68242         * tests/test-argp-2.sh: New file
68243
68244 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
68245
68246         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
68247         (__argp_base_name): Removed
68248         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
68249         typo.
68250         (__argp_base_name): Provide macro definition or extern declaration
68251         depending on the configuration
68252
68253 2006-01-20  Simon Josefsson  <jas@extundo.com>
68254
68255         * modules/inet_ntop (Depends-on): Depend on sys_socket.
68256
68257 2006-01-20  Simon Josefsson  <jas@extundo.com>
68258
68259         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
68260
68261 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
68262
68263         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
68264         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
68265         Suggested by Bruno Haible.
68266
68267 2006-01-20  Karl Berry  <karl@gnu.org>
68268
68269         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
68270         until changes propagate, I guess.
68271
68272 2006-01-19  Simon Josefsson  <jas@extundo.com>
68273
68274         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
68275
68276 2006-01-19  Simon Josefsson  <jas@extundo.com>
68277
68278         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
68279
68280 2006-01-19  Simon Josefsson  <jas@extundo.com>
68281
68282         * gnulib-tool: Set check_PROGRAMS.
68283
68284         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
68285         modules/des-tests, modules/gc-arcfour-tests,
68286         modules/gc-arctwo-tests, modules/gc-des-tests,
68287         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
68288         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
68289         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
68290         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
68291         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
68292         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
68293         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
68294         test_*_SOURCES.
68295
68296 2006-01-18  Simon Josefsson  <jas@extundo.com>
68297
68298         * modules/socklen (Depends-on): Depend on sys_socket.
68299
68300 2006-01-18  Simon Josefsson  <jas@extundo.com>
68301
68302         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
68303         modules/des-tests, modules/gc-arcfour-tests,
68304         modules/gc-arctwo-tests, modules/gc-des-tests,
68305         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
68306         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
68307         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
68308         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
68309         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
68310         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
68311         $(EXEEXT) to automake TESTS variable, for mingw32.
68312
68313 2006-01-17  Simon Josefsson  <jas@extundo.com>
68314
68315         * modules/socklen (Include): Need sys/socket.h.
68316
68317 2006-01-17  Bruno Haible  <bruno@clisp.org>
68318
68319         * modules/ssize_t (Include): Add <sys/types.h>.
68320
68321 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
68322
68323         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
68324         it's not portable and it doesn't work with cross-compiles.
68325         Problem reported by Bruno Haible.  Fix missing-$ typo in
68326         'test "gl_cv_ignore_unused_libraries" ...' that prevented
68327         -zignore from being used with Sun's C compiler.
68328
68329 2006-01-12  Simon Josefsson  <jas@extundo.com>
68330
68331         * lib/base64.c: Fix warning, reported by Bruno Haible
68332         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
68333
68334 2006-01-12  Bruno Haible  <bruno@clisp.org>
68335
68336         * modules/ldd: New file.
68337         * build-aux/ldd.sh.in: New file.
68338         * MODULES.html.sh (Support for building libraries and executables): Add
68339         ldd.
68340
68341 2006-01-12  Bruno Haible  <bruno@clisp.org>
68342
68343         * m4/ldd.m4: New file.
68344
68345 2006-01-12  Bruno Haible  <bruno@clisp.org>
68346
68347         * gnulib-tool (func_import, func_create_testdir): Don't go into an
68348         endless loop while replacing $auxdir with build-aux.
68349
68350 2006-01-11  Simon Josefsson  <jas@extundo.com>
68351
68352         * lib/stdint_.h (SIZE_MAX): Add missing (.
68353
68354 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
68355
68356         Sync from coreutils.
68357         * lib/md5.c: Fix commentary typos.
68358         (alignof, UNALIGNED_P): No need for a GCC-specific version.
68359         * lib/md5.h (__attribute__): Remove; unused.
68360         * lib/sha1.c: Fix commentary to match md5 better.
68361         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
68362         so that we don't need to worry about alignment.  All uses changed.
68363         This merges the 2005-10-28 md5 change into sha1.
68364
68365 2006-01-11  Jim Meyering  <jim@meyering.net>
68366
68367         Sync from coreutils.
68368         * lib/md5.c (OP): Fix spacing.
68369
68370 2006-01-11  Bruno Haible  <bruno@clisp.org>
68371
68372         Ensure automatic ordering between gl_LOCK and gl_ARGP.
68373         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
68374         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
68375
68376 2006-01-11  Bruno Haible  <bruno@clisp.org>
68377
68378         Ensure automatic ordering between gl_LOCK and gl_ARGP.
68379         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
68380         the "early" section as well.
68381
68382 2006-01-11  Bruno Haible  <bruno@clisp.org>
68383
68384         Avoid "ar: no archive members specified" error on MacOS X.
68385         * gnulib-tool (func_modules_add_dummy): New function.
68386         (func_import, func_create_testdir): Invoke it.
68387
68388 2006-01-11  Bruno Haible  <bruno@clisp.org>
68389
68390         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
68391         with $auxdir in AC_CONFIG_FILES statements.
68392
68393 2006-01-11  Bruno Haible  <bruno@clisp.org>
68394
68395         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68396         Initialize also noinst_HEADERS to empty.
68397
68398 2006-01-11  Bruno Haible  <bruno@clisp.org>
68399
68400         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
68401         variables.
68402         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
68403         autoreconf.
68404
68405 2006-01-11  Bruno Haible  <bruno@clisp.org>
68406
68407         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
68408         overridable by the user.
68409         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
68410
68411 2006-01-10  Simon Josefsson  <jas@extundo.com>
68412
68413         * modules/sys_socket: New file.
68414
68415 2006-01-10  Simon Josefsson  <jas@extundo.com>
68416
68417         * m4/sys_socket_h.m4: New file.
68418
68419 2006-01-10  Simon Josefsson  <jas@extundo.com>
68420
68421         * lib/socket_.h: New file.
68422
68423 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68424
68425         * modules/readutmp (Maintainer): Add myself.
68426
68427 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68428
68429         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
68430         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
68431         People who are still concerned with buggy memcmp implementations
68432         can invoke gl_FUNC_MEMCMP themselves.
68433
68434 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68435
68436         * lib/regex_internal.h (BITSET_WORD_BITS):
68437         Work around a bug in 64-bit PGC (before version 6.1-2), where the
68438         preprocessor mishandles large unsigned values as if they were signed.
68439         Problem reported by Claudio Fontana in
68440         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
68441
68442 2006-01-10  Jim Meyering  <jim@meyering.net>
68443
68444         Avoid the double-free (first in fts_read, second in fts_close) that
68445         would occur when an `active' directory is made inaccessible (e.g.,
68446         via chmod a-x) during a traversal.
68447         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
68448         before returning.  Reproduce this failure by
68449         mkdir -p a/b; cd a; chmod a-x . b
68450         Reported by Stavros Passas.
68451
68452         Sync from coreutils.
68453         * lib/sha1.c: Tweak grammar in a comment.
68454
68455 2006-01-10  Jim Meyering  <jim@meyering.net>
68456
68457         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
68458         Patch by Joerg Sonnenberger.
68459
68460 2006-01-10  Bruno Haible  <bruno@clisp.org>
68461
68462         * modules/readutmp: Depend on module free.
68463         * modules/strtok_r: Depend on module restrict.
68464
68465 2006-01-10  Bruno Haible  <bruno@clisp.org>
68466
68467         * modules/gettext (configure.ac): Add an invocation of
68468         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
68469
68470 2006-01-10  Bruno Haible  <bruno@clisp.org>
68471
68472         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
68473         Reported by Werner Lemberg <wl@gnu.org>.
68474
68475 2006-01-10  Bruno Haible  <bruno@clisp.org>
68476
68477         * lib/localcharset.c: Update from GNU gettext.
68478
68479 2006-01-10  Bruno Haible  <bruno@clisp.org>
68480
68481         * lib/argp.h (__const): Remove macro. Use const instead.
68482         * lib/argp-fmtstream.h (__const): Likewise.
68483         * lib/glob_.h (__const): Remove macro.
68484         * lib/glob-libc.h: Use const instead of __const.
68485
68486 2006-01-10  Bruno Haible  <bruno@clisp.org>
68487
68488         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
68489         variable.
68490         Needed to avoid an automake error regarding the 'gettext' module.
68491
68492 2006-01-09  Simon Josefsson  <jas@extundo.com>
68493
68494         * modules/inet_ntop (Depends-on): Add restrict.
68495
68496 2006-01-09  Simon Josefsson  <jas@extundo.com>
68497
68498         * modules/gc-rijndael-tests (License): Put under LGPL.
68499
68500         * modules/gc-des-tests (License): Likewise.
68501
68502         * modules/gc-arcfour-tests (License): Likewise.
68503
68504         * modules/gc-arctwo-tests (License): Likewise.
68505
68506         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
68507
68508         * modules/gc-hmac-sha1-tests (Files): Likewise.
68509
68510         * modules/gc-hmac-md5-tests (License): Likewise.
68511
68512         * modules/gc-sha1-tests (License): Likewise.
68513
68514         * modules/gc-md5-tests (License): Likewise.
68515
68516         * modules/gc-md4-tests (License): Likewise.
68517
68518         * modules/gc-md2-tests (License): Likewise.
68519
68520         * modules/gc-tests (License): Likewise.
68521
68522         * modules/des-tests (License): Likewise.
68523
68524         * modules/md4-tests (License): Likewise.
68525
68526         * modules/md2-tests (License): Likewise.
68527
68528 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68529
68530         Sync from coreutils:
68531
68532         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
68533         * modules/lib-ignore: New file.
68534         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
68535         chdir-safer.m4, lchmod.m4.
68536         * modules/openat: Add mkdirat.c, openat-priv.h.
68537
68538 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68539
68540         Sync from coreutils.
68541         * m4/lib-ignore.m4: New file.
68542         * m4/lchmod.m4: New file.
68543
68544 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68545
68546         Sync from coreutils.
68547         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
68548         for write access: POSIX says that must fail.
68549         * lib/fts.c (diropen): Likewise.
68550         * lib/save-cwd.c (save_cwd): Likewise.
68551         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
68552         well, for minor improvements on hosts that lack O_DIRECTORY.
68553         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
68554         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
68555         Fall back on chown if open failed with EACCES.
68556
68557         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
68558         Report an error at compile-time if only a 1-second nominal clock
68559         resolution is found.
68560
68561         * lib/lchmod.h: New file.
68562         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
68563         (make_dir_parents): Use lchown rather than chown, and
68564         lchmod rather than chmod.
68565
68566         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
68567         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
68568         "proc" reported by n0dalus.
68569
68570         * lib/mountlist.c: Include <limits.h>.
68571         (dev_from_mount_options)
68572         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
68573         New function.  It no longer assumes "dev=" has the System V meaning
68574         on Linux (since it doesn't).  It also parses "dev=" more carefully.
68575         (read_file_system_list)
68576         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
68577         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
68578         dev= in that case.
68579
68580         * lib/posixtm.h (PDS_PRE_2000): New macro.
68581         * lib/posixtm.c (year): Arg is now syntax_bits rather than
68582         allow_century.  All usages changed.  Reject dates outside the range
68583         1969-1999 if PDS_PRE_2000 is used.
68584
68585 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
68586
68587         Sync from coreutils.
68588         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
68589         (Time of day items): Mention the possibility of leap seconds.
68590         Problem reported by Dr. David Alan Gilbert.
68591
68592 2006-01-09  Jim Meyering  <jim@meyering.net>
68593
68594         Sync from coreutils.
68595
68596         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
68597
68598         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
68599
68600         * lib/modechange.c (mode_compile): Reject an invalid mode string
68601         that starts with an octal digit.  From Andreas Gruenbacher.
68602
68603         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
68604         and dup to open_safer and dup_safer, respectively.
68605         (openat_permissive): Fix typo in comment.
68606
68607         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
68608         "gettext.h"; either no longer needed or are guaranteed by openat.h.
68609         (_): Remove; no longer needed.
68610         (openat): Renamed from rpl_openat; no need for rpl_openat
68611         since openat.h renames openat for us.
68612         Replace most of the body with a call to openat_permissive,
68613         to avoid duplicate code.
68614         Port to (probably hypothetical) environments were mode_t is
68615         wider than int.
68616         (openat_permissive): Require mode arg, so that we can check
68617         types better.  Put it just after flags.  Change cwd failure
68618         indicator from pointer-to-bool to pointer-to-errno-value.
68619         All callers changed.
68620         Invoke openat_save_fail and/or openat_restore_fail if
68621         cwd_errno is null, so that openat can call us.
68622         (openat_permissive, fdopendir, fstatat, unlinkat):
68623         Simplify errno handling to avoid some duplicate code,
68624         as it's OK to set errno on success.
68625         * lib/openat.h: Revamp code so that function macros depend on
68626         __OPENAT_PREFIX only, not also on AT_FDCWD.
68627         (openat_ro): Remove.  Caller changed to use openat_permissive.
68628         (openat_permissive): Now a macro, if not a function.
68629         (openat_restore_fail, openat_save_fail): Now always functions,
68630         since mkdirat needs them even if __OPENAT_PREFIX is defined.
68631
68632         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
68633         and openat.c.
68634         * lib/mkdirat.c: Include openat-priv.h.
68635         Remove definitions of macros defined therein.
68636         * lib/openat.c: Likewise.
68637
68638         * lib/mkdirat.c (mkdirat): New file and function.
68639         * lib/openat.h (mkdirat): Declare.
68640
68641         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
68642
68643         * lib/openat.h (openat_permissive): Declare.
68644         (openat_ro): Define.
68645
68646         * lib/openat.c (EXPECTED_ERRNO): New macro.
68647         (openat_permissive): New function -- used in remove.c rewrite.
68648         (all functions): Set errno just before returning, only if there
68649         was an actual failure.
68650         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
68651
68652         Emulate openat-family functions using Linux's procfs, if possible.
68653         Idea and some code based on Ulrich Drepper's glibc changes.
68654
68655         * lib/openat.c: (BUILD_PROC_NAME): New macro.
68656         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
68657         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
68658         before falling back on save_cwd and restore_cwd.
68659         (fdopendir, fstatat, unlinkat): Likewise.
68660
68661         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
68662         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
68663
68664         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
68665         as second argument to va_arg.  Otherwise, some versions of gcc
68666         warn that `if this code is reached, the program will abort'.
68667
68668 2006-01-09  Jim Meyering  <jim@meyering.net>
68669
68670         Sync from coreutils.
68671         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
68672         Require openat-priv.h.
68673
68674 2006-01-09  Bruno Haible  <bruno@clisp.org>
68675
68676         * modules/strnlen (Include): Use strnlen.h.
68677
68678 2006-01-09  Bruno Haible  <bruno@clisp.org>
68679
68680         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
68681
68682 2006-01-09  Bruno Haible  <bruno@clisp.org>
68683
68684         * lib/sysexit_.h (EX_OK): New macro.
68685         Suggested by Martin Lambers <marlam@marlam.de>.
68686
68687 2006-01-09  Bruno Haible  <bruno@clisp.org>
68688
68689         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
68690         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
68691
68692 2006-01-09  Bruno Haible  <bruno@clisp.org>
68693
68694         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
68695         numbers.
68696
68697 2006-01-09  Bruno Haible  <bruno@clisp.org>
68698
68699         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
68700         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
68701         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
68702         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
68703
68704 2006-01-09  Bruno Haible  <bruno@clisp.org>
68705
68706         * build-aux/javacomp.sh.in: New file, moved from lib/.
68707         * modules/javacomp-script (Files): Update.
68708         (configure.ac): Add AC_CONFIG_FILES invocation.
68709         (EXTRA_DIST): Remove variable.
68710
68711         * build-aux/javaexec.sh.in: New file, moved from lib/.
68712         * modules/javaexec (Files): Update.
68713         (configure.ac): Add AC_CONFIG_FILES invocation.
68714         (EXTRA_DIST): Remove javaexec.sh.in.
68715
68716         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
68717         * modules/csharpcomp-script (Files): Update.
68718         (configure.ac): Add AC_CONFIG_FILES invocation.
68719         (EXTRA_DIST): Remove variable.
68720
68721         * build-aux/csharpexec.sh.in: New file, moved from lib/.
68722         * modules/csharpexec (Files): Update.
68723         (configure.ac): Add AC_CONFIG_FILES invocation.
68724         (EXTRA_DIST): Remove csharpexec.sh.in.
68725
68726 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
68727
68728         Sync from coreutils.
68729
68730         Add POSIX ACL support
68731         * lib/acl.h (copy_acl, set_acl): Add declarations.
68732         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
68733         systems other than Linux.
68734         (chmod_or_fchmod): New function: use fchmod when possible,
68735         and chmod otherwise.
68736         (file_has_acl): Add a POSIX ACL implementation, with a
68737         Linux-specific subcase.
68738         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
68739         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
68740         acls are unsupported.
68741         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
68742         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
68743         are unsupported.
68744
68745 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
68746
68747         Sync from coreutils.
68748         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
68749
68750 2006-01-07  Bruno Haible  <bruno@clisp.org>
68751
68752         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
68753         gl_EARLY.
68754
68755 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68756
68757         * lib/strftime.c (tzname): Don't declare if it is already #defined.
68758         Problem reported for Mingw by Mark Junker.
68759
68760 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68761
68762         * README: Gnulib normally doesn't generate a tarball.
68763
68764 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
68765
68766         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
68767         long int, not int, for nanosecond counts, so that people who are
68768         used to POSIX struct timespec won't be surprised.  Reported by Jim
68769         Meyering.
68770
68771 2005-12-28  Bruno Haible  <bruno@clisp.org>
68772
68773         * build-aux/config.rpath: Update from GNU gettext.
68774
68775 2005-12-16  Jim Meyering  <jim@meyering.net>
68776
68777         * modules/fprintftime: New module.
68778         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
68779
68780 2005-12-16  Jim Meyering  <jim@meyering.net>
68781
68782         * m4/fprintftime.m4: New file.
68783
68784 2005-12-16  Jim Meyering  <jim@meyering.net>
68785
68786         * lib/fprintftime.c, lib/fprintftime.h: New files.
68787
68788 2005-12-15  Simon Josefsson  <jas@extundo.com>
68789
68790         * modules/socklen (configure.ac): Fix M4 macro name, to align with
68791         new m4/socklen.m4.
68792
68793 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68794
68795         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
68796         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
68797
68798 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68799
68800         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
68801         * lib/argp-help.c (fill_in_uparams): Check if the constructed
68802         struct uparams is valid. Fall back to the default values if it is
68803         not.
68804
68805 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68806
68807         * modules/argp (Files): Add argp-pin.c
68808         (Depends-on): dirname
68809         (lib_SOURCES): Add argp-pin.c
68810
68811 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68812
68813         * m4/argp.m4:  Check if program_invocation_name and
68814         program_invocation_short_name are declared and define appropriate
68815         macros if they are not.
68816
68817 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
68818
68819         * lib/argp-help.c (__argp_base_name): New function
68820         (__argp_short_program_name): Rewrite using __argp_base_name
68821         * lib/argp-namefrob.h: Define program_invocation_name and
68822         program_invocation_short_name if requested
68823         (__argp_base_name): Add prototype
68824         * lib/argp-parse.c (argp_def): Use gettext wrappers
68825         (argp_default_parser): Use __argp_base_name
68826         * lib/argp-pin.c: New file. Defines program_invocation_name and
68827         program_invocation_short_name on systems that lack them.
68828
68829 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
68830
68831         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
68832         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
68833         porting problem reported by Georg Schwarz in
68834         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
68835
68836 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
68837
68838         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
68839         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
68840         porting problem reported by Georg Schwarz in
68841         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
68842
68843 2005-12-05  Bruno Haible  <bruno@clisp.org>
68844
68845         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
68846         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
68847         Reported by Mark Junker <mjscod@gmx.de>.
68848
68849 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
68850
68851         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
68852         Use implementation from Albert Chin, with some
68853         comments/corrections by Stepan Kasal and myself.
68854
68855 2005-12-02  Bruno Haible  <bruno@clisp.org>
68856
68857         * gnulib-tool (func_import): Accept GPLed build tool modules when
68858         --lgpl is given.
68859         * modules/csharpcomp-script: New file.
68860         * modules/csharpcomp: Depend on it.
68861         * modules/javacomp-script: New file.
68862         * modules/javacomp: Depend on it.
68863         Suggested by Simon Josefsson.
68864
68865 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
68866
68867         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
68868         statement, to work around an HP-UX 10.20 compiler bug reported by
68869         Peter O'Gorman.
68870
68871 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
68872
68873         * modules/savedir (Depends-on): Add openat.
68874
68875 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
68876
68877         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
68878         (uintmax_t) [defined uintmax_t]: Do not declare.
68879         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
68880         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
68881         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
68882         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
68883         sake of portability to weird hosts that C allows (though we don't
68884         know of any practical examples).
68885
68886         * lib/savedir.h (fdsavedir): New decl.
68887         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
68888         contains most of the former guts of savedir.
68889         (savedir): Use savedirstream.
68890         Include "openat.h".
68891
68892 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68893
68894         * modules/obstack (Files): Add m4/ulonglong.m4.
68895         Problem reported by Davide Angelocola.
68896
68897 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
68898
68899         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
68900         coreutils no longer futzes with rounding modes.
68901
68902 2005-11-14  Jim Meyering  <jim@meyering.net>
68903
68904         * lib/mkstemp-safer.c: Include <config.h>, required for possible
68905         replacement of mkstemp.
68906
68907 2005-11-10  Simon Josefsson  <jas@extundo.com>
68908
68909         * lib/readline.c: Remove EOL.
68910
68911 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68912
68913         * modules/gethrxtime (Depends-on): Add gettime.
68914
68915 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68916
68917         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
68918         or gettimeofday; no longer needed.
68919
68920 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68921
68922         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
68923         time business.
68924         (gethrxtime) [! (HAVE_NANOUPTIME
68925         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
68926         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
68927         our own approximation.
68928
68929 2005-11-08  Eric Blake  <ebb9@byu.net>
68930
68931         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
68932
68933 2005-11-08  Eric Blake  <ebb9@byu.net>
68934
68935         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
68936
68937 2005-11-04  Bruno Haible  <bruno@clisp.org>
68938
68939         * gnulib-tool: Implement --update mode.
68940
68941 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
68942
68943         Fix porting problem reported by Theodoros V. Kalamatianos.
68944         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
68945         Don't assume that futimes failing means we must fail.
68946
68947 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
68948
68949         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
68950         variables to suggest the intended function of the PATH_MAX check.
68951
68952 2005-10-30  Kean Johnston  <jkj@sco.com>
68953
68954         Trivial changes to support SCO systems.
68955         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
68956         as PATH_MAX.
68957         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
68958         where __ptr is null when no I/O is pending.
68959
68960 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68961
68962         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
68963         leave errno alone.  Problem reported by Dmitry V. Levin.
68964
68965 2005-10-28  Simon Josefsson  <jas@extundo.com>
68966
68967         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
68968         Test more.
68969
68970         * tests/test-gc-md2.c, tests/test-md2.c: New files.
68971
68972         * modules/md2, modules/md2-tests: New files.
68973
68974 2005-10-28  Simon Josefsson  <jas@extundo.com>
68975
68976         * m4/inet_ntop.m4: More tests.
68977
68978         * m4/gc-md2.m4, md2.m4: New file.
68979
68980 2005-10-28  Simon Josefsson  <jas@extundo.com>
68981
68982         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
68983         "restrict" keywords, as per POSIX.  Protect the function
68984         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
68985         Don't use K&R prototypes.  Check the sprintf return values.
68986         Re-define EAFNOSUPPORT if not present.  Indent.
68987
68988         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
68989         suggested by Bruno Haible <bruno@clisp.org>.
68990
68991         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
68992
68993         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
68994
68995         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
68996         libgcrypt).
68997
68998         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
68999
69000         * lib/md2.h, lib/md2.c: New files.
69001
69002 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
69003
69004         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
69005         errno alone.  Problem reported by Frederic Jolliton.
69006
69007 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
69008
69009         * modules/verify (License): Change from GPL to LGPL.  This is a
69010         tiny module and there are apparently near-equivalents that are
69011         under the BSD license.
69012
69013 2005-10-24  Simon Josefsson  <jas@extundo.com>
69014
69015         * modules/sha1: Relicense to LGPL.
69016
69017 2005-10-24  Simon Josefsson  <jas@extundo.com>
69018
69019         * lib/md4.h: Shrink buffer size, now that we changed the type.
69020
69021 2005-10-23  Simon Josefsson  <jas@extundo.com>
69022
69023         * gnulib-tool (func_import): Fix --tests-base.
69024
69025 2005-10-22  Simon Josefsson  <jas@extundo.com>
69026
69027         * modules/arcfour (Depends-on): Need stdint.
69028
69029 2005-10-22  Simon Josefsson  <jas@extundo.com>
69030
69031         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
69032         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
69033
69034 2005-10-22  Simon Josefsson  <jas@extundo.com>
69035
69036         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
69037         suggested by Bruno Haible <bruno@clisp.org>.
69038
69039 2005-10-22  Simon Josefsson  <jas@extundo.com>
69040
69041         * lib/crc.h: Include stddef.h, for size_t.
69042
69043 2005-10-22  Simon Josefsson  <jas@extundo.com>
69044
69045         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
69046         arcfour_context struct (simplify test vector testing in GNU
69047         Shishi).
69048
69049 2005-10-21  Simon Josefsson  <jas@extundo.com>
69050
69051         * modules/des, modules/des-tests: New files.
69052
69053         * modules/gc-des, modules/gc-des-tests: New files.
69054
69055         * tests/test-des.c, tests/test-gc-des.c: New file.
69056
69057 2005-10-21  Simon Josefsson  <jas@extundo.com>
69058
69059         * modules/arctwo, modules/arctwo-tests: New files.
69060
69061         * tests/test-arctwo.c: New file.
69062
69063         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
69064
69065         * tests/test-gc-arctwo.c: New file.
69066
69067 2005-10-21  Simon Josefsson  <jas@extundo.com>
69068
69069         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
69070         Bruno Haible <bruno@clisp.org>.
69071
69072         * m4/gc-des.m4: New file.
69073
69074 2005-10-21  Simon Josefsson  <jas@extundo.com>
69075
69076         * m4/arctwo.m4: New file.
69077
69078         * m4/gc-arctwo.m4: New file.
69079
69080 2005-10-21  Simon Josefsson  <jas@extundo.com>
69081
69082         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
69083         block.
69084
69085 2005-10-21  Simon Josefsson  <jas@extundo.com>
69086
69087         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
69088         <bruno@clisp.org>.
69089
69090         * lib/hmac-sha1.c (hmac_sha1): Likewise.
69091
69092         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
69093         Bruno Haible <bruno@clisp.org>.
69094
69095         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
69096         <bruno@clisp.org>.
69097
69098 2005-10-21  Simon Josefsson  <jas@extundo.com>
69099
69100         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
69101
69102 2005-10-21  Simon Josefsson  <jas@extundo.com>
69103
69104         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
69105
69106 2005-10-21  Simon Josefsson  <jas@extundo.com>
69107
69108         * lib/des.h, lib/des.c: New files.
69109
69110         * lib/gc-gnulib.c: Support DES.c
69111
69112 2005-10-21  Simon Josefsson  <jas@extundo.com>
69113
69114         * lib/arctwo.h, lib/arctwo.c: New files.
69115
69116         * lib/gc-gnulib.c: Support ARCTWO.
69117
69118 2005-10-21  Simon Josefsson  <jas@extundo.com>
69119
69120         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
69121         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69122
69123 2005-10-21  Simon Josefsson  <jas@extundo.com>
69124
69125         * gnulib-tool (func_import, func_create_testdir): Define automake
69126         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
69127         Makefile.am snippet),
69128         suggested by Bruno Haible <bruno@clisp.org>.
69129
69130         * modules/gc (Makefile.am): Use it.
69131
69132 2005-10-21  Bruno Haible  <bruno@clisp.org>
69133
69134         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
69135         patch.
69136
69137 2005-10-19  Simon Josefsson  <jas@extundo.com>
69138
69139         * tests/test-gc-rijndael.c: New file.
69140
69141         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
69142
69143 2005-10-19  Simon Josefsson  <jas@extundo.com>
69144
69145         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
69146         interface too.
69147
69148 2005-10-19  Simon Josefsson  <jas@extundo.com>
69149
69150         * tests/test-gc-arcfour.c: New file.
69151
69152         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
69153
69154 2005-10-19  Simon Josefsson  <jas@extundo.com>
69155
69156         * modules/gc-md4, modules/gc-md4-tests: New file.
69157
69158         * tests/test-gc-md4.c: New file.
69159
69160 2005-10-19  Simon Josefsson  <jas@extundo.com>
69161
69162         * m4/gc-md4.m4: New file.
69163
69164 2005-10-19  Simon Josefsson  <jas@extundo.com>
69165
69166         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
69167         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
69168         <kasal@ucw.cz>.
69169
69170 2005-10-19  Simon Josefsson  <jas@extundo.com>
69171
69172         * m4/gc-arcfour.m4: New file.
69173
69174         * m4/gc-rijndael.m4: New file.
69175
69176 2005-10-19  Simon Josefsson  <jas@extundo.com>
69177
69178         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
69179
69180 2005-10-19  Simon Josefsson  <jas@extundo.com>
69181
69182         * lib/gc-gnulib.c: Support ARCFOUR.
69183
69184 2005-10-19  Simon Josefsson  <jas@extundo.com>
69185
69186         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
69187         support.
69188
69189         * lib/gc.h: Add ECB enum type.
69190
69191         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
69192
69193 2005-10-18  Simon Josefsson  <jas@extundo.com>
69194
69195         * tests/test-md5.c: New file.
69196
69197         * modules/md5-tests: New file.
69198
69199 2005-10-18  Simon Josefsson  <jas@extundo.com>
69200
69201         * tests/test-md4.c: New file.
69202
69203         * modules/md4, modules/md4-tests: New files.
69204
69205 2005-10-18  Simon Josefsson  <jas@extundo.com>
69206
69207         * m4/md4.m4: New file.
69208
69209 2005-10-18  Simon Josefsson  <jas@extundo.com>
69210
69211         * lib/md4.h, lib/md4.c: New files, based on md5.?.
69212
69213 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
69214
69215         * gnulib-tool (func_create_testdir): Omit the second check whether
69216         BUILT_SOURCES in nonempty.
69217
69218 2005-10-17  Simon Josefsson  <jas@extundo.com>
69219
69220         * tests/test-rijndael.c: New file.
69221
69222 2005-10-17  Simon Josefsson  <jas@extundo.com>
69223
69224         * modules/sha1: Depend on stdint instead of md5.
69225
69226         * modules/md5: Depend on stdint, remove uint32_t.
69227
69228 2005-10-17  Simon Josefsson  <jas@extundo.com>
69229
69230         * modules/gc-sha1-tests: New file.
69231
69232         * tests/test-gc-sha1.c: New file.
69233
69234 2005-10-17  Simon Josefsson  <jas@extundo.com>
69235
69236         * m4/md5.m4: Remove call to uint32_t.m4.
69237
69238 2005-10-17  Simon Josefsson  <jas@extundo.com>
69239
69240         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
69241
69242         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
69243         md5.h.
69244
69245         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
69246
69247         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
69248
69249 2005-10-17  Simon Josefsson  <jas@extundo.com>
69250
69251         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
69252
69253 2005-10-17  Simon Josefsson  <jas@extundo.com>
69254
69255         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
69256
69257 2005-10-17  Simon Josefsson  <jas@extundo.com>
69258
69259         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
69260
69261         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
69262
69263 2005-10-17  Bruno Haible  <bruno@clisp.org>
69264
69265         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
69266         that it can also be used in a test.
69267
69268 2005-10-16  Bruno Haible  <bruno@clisp.org>
69269
69270         * gnulib-tool (func_emit_tests_Makefile_am): Also define
69271         TESTS_ENVIRONMENT, so that individual tests can augment it.
69272
69273         * gnulib-tool (func_create_testdir): Use an intermediate target for
69274         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
69275         macros, like $(ALLOCA_H), which cannot be passed through the command
69276         line.
69277
69278 2005-10-15  Simon Josefsson  <jas@extundo.com>
69279
69280         * modules/rijndael-tests: New file.
69281
69282         * modules/rijndael: New file.
69283
69284 2005-10-15  Simon Josefsson  <jas@extundo.com>
69285
69286         * m4/rijndael.m4: New file.
69287
69288 2005-10-15  Simon Josefsson  <jas@extundo.com>
69289
69290         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
69291
69292         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
69293
69294 2005-10-14  Simon Josefsson  <jas@extundo.com>
69295
69296         * tests/test-arcfour.c: New file.
69297
69298         * modules/arcfour, modules/arcfour-tests: New files.
69299
69300 2005-10-14  Simon Josefsson  <jas@extundo.com>
69301
69302         * m4/arcfour.m4: New file.
69303
69304 2005-10-14  Simon Josefsson  <jas@extundo.com>
69305
69306         * lib/arcfour.h, lib/arcfour.c: New files.
69307
69308 2005-10-14  Roland McGrath  <roland@redhat.com>
69309
69310         Import from libc.  [BZ #1331]
69311         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
69312         macro argument.
69313         Reported by Matej Vela <vela@debian.org>.
69314
69315 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
69316
69317         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
69318         include <wchar.h>; no longer needed.
69319
69320 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
69321
69322         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
69323
69324 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
69325         and  Ulrich Drepper  <drepper@redhat.com>
69326
69327         Import from libc.
69328         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
69329         instead of inline stream orientation test and two separate
69330         function calls.  Pay no attention to USE_IN_LIBIO.
69331
69332 2005-10-13  Simon Josefsson  <jas@extundo.com>
69333
69334         * modules/gc-hmac-md5-tests: New file.
69335
69336         * tests/test-gc-hmac-sha1.c: New file.
69337
69338         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
69339
69340         * modules/gc-hmac-md5-tests: New file.
69341
69342         * tests/test-gc-md5.c: New file.
69343
69344         * modules/gc-md5-tests: New file.
69345
69346 2005-10-13  Simon Josefsson  <jas@extundo.com>
69347
69348         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
69349         Move memory allocation outside of loop.
69350
69351 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
69352
69353         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
69354         intermediate directory is in a read-only file system.  Problem
69355         reported by Eric Blake.
69356
69357 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
69358
69359         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
69360
69361 2005-10-12  Simon Josefsson  <jas@extundo.com>
69362
69363         * tests/test-hmac-sha1.c: New file.
69364
69365         * modules/hmac-sha1-tests: New file.
69366
69367         * modules/hmac-sha1: New file.
69368
69369 2005-10-12  Simon Josefsson  <jas@extundo.com>
69370
69371         * modules/gc-sha1: New file.
69372
69373 2005-10-12  Simon Josefsson  <jas@extundo.com>
69374
69375         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
69376
69377         * tests/test-gc-pbkdf2-sha1.c: New file.
69378
69379 2005-10-12  Simon Josefsson  <jas@extundo.com>
69380
69381         * modules/gc-md5, modules/gc-hmac-md5: New files.
69382
69383         * modules/gc (Files): Remove md5, memxor and hmac files.
69384
69385 2005-10-12  Simon Josefsson  <jas@extundo.com>
69386
69387         * m4/gc-pbkdf2-sha1.m4: New file.
69388
69389         * m4/gc-hmac-sha1.m4: New file.
69390
69391         * m4/gc-sha1: New file.
69392
69393         * m4/hmac-sha1.m4: New file.
69394
69395 2005-10-12  Simon Josefsson  <jas@extundo.com>
69396
69397         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
69398
69399         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
69400
69401 2005-10-12  Simon Josefsson  <jas@extundo.com>
69402
69403         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
69404         suggested by Bruno Haible <bruno@clisp.org>.
69405
69406 2005-10-12  Simon Josefsson  <jas@extundo.com>
69407
69408         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
69409
69410 2005-10-12  Simon Josefsson  <jas@extundo.com>
69411
69412         * lib/gc-pbkdf2-sha1.c: New file.
69413
69414         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
69415
69416 2005-10-12  Simon Josefsson  <jas@extundo.com>
69417
69418         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
69419
69420         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
69421
69422 2005-10-12  Simon Josefsson  <jas@extundo.com>
69423
69424         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
69425         GC_USE_HMAC_MD5, respectively.
69426
69427         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
69428         (gc_md5): Fix typo.
69429
69430         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
69431
69432         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
69433
69434         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
69435
69436 2005-10-12  Bruno Haible  <bruno@clisp.org>
69437
69438         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
69439         Reported by Stepan Kasal <kasal@ucw.cz>.
69440
69441 2005-10-11  Simon Josefsson  <jas@extundo.com>
69442
69443         * tests/test-crc.c: New file.
69444
69445         * modules/crc, modules/crc-tests: New files.
69446
69447 2005-10-11  Simon Josefsson  <jas@extundo.com>
69448
69449         * m4/crc.m4: New file.
69450
69451 2005-10-11  Simon Josefsson  <jas@extundo.com>
69452
69453         * lib/gc.h: Add gc_hash and gc_hash_buffer.
69454
69455         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
69456
69457         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
69458
69459 2005-10-11  Simon Josefsson  <jas@extundo.com>
69460
69461         * lib/crc.h, lib/crc.c: New files.
69462
69463         * lib/gc.h (gc_hash_buffer): Add doc.
69464
69465 2005-10-11  Bruno Haible  <bruno@clisp.org>
69466
69467         * modules/c-strcasestr: New file.
69468         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
69469
69470 2005-10-11  Bruno Haible  <bruno@clisp.org>
69471
69472         * modules/c-strcase: New file.
69473         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
69474
69475 2005-10-11  Bruno Haible  <bruno@clisp.org>
69476
69477         * lib/strcasecmp.c: Include limits.h.
69478         (strcasecmp): Avoid integer overflow on exotic platforms.
69479         * lib/strncasecmp.c: Include limits.h.
69480         (strncasecmp): Avoid integer overflow on exotic platforms.
69481         Reported by Paul Eggert.
69482
69483 2005-10-11  Bruno Haible  <bruno@clisp.org>
69484
69485         * lib/c-strcasestr.h: New file, from GNU gettext.
69486         * lib/c-strcasestr.c: New file, from GNU gettext.
69487
69488 2005-10-11  Bruno Haible  <bruno@clisp.org>
69489
69490         * lib/c-strcase.h: New file, from GNU gettext.
69491         * lib/c-strcasecmp.c: New file, from GNU gettext.
69492         * lib/c-strncasecmp.c: New file, from GNU gettext.
69493
69494 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69495
69496         * modules/mempcpy (License): GPL -> LGPL.
69497         * modules/strchrnul (License): Likewise.
69498         * modules/sysexits (License): Likewise.
69499
69500 2005-10-08  Simon Josefsson  <jas@extundo.com>
69501
69502         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
69503
69504 2005-10-07  Simon Josefsson  <jas@extundo.com>
69505
69506         * m4/memxor.m4: Remove gl_C_RESTRICT call.
69507
69508 2005-10-06  Simon Josefsson  <jas@extundo.com>
69509
69510         * tests/test-hmac-md5.c: New file.
69511
69512         * modules/hmac-md5-tests: New file.
69513
69514         * modules/hmac-md5: New file.
69515
69516 2005-10-06  Simon Josefsson  <jas@extundo.com>
69517
69518         * m4/hmac-md5.m4: New file.
69519
69520         * m4/memxor.m4: Require gl_C_RESTRICT.
69521
69522 2005-10-06  Simon Josefsson  <jas@extundo.com>
69523
69524         * lib/memxor.c (memxor): Avoid casts and warnings.
69525
69526 2005-10-06  Simon Josefsson  <jas@extundo.com>
69527
69528         * lib/hmac-md5.c: New file.
69529
69530         * lib/hmac.h: New file.
69531
69532 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
69533
69534         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
69535         promotes to int, not unsigned int, to catch the AIX 5.3
69536         compiler bug.
69537
69538 2005-10-05  Simon Josefsson  <jas@extundo.com>
69539
69540         * modules/memxor: New file.
69541
69542         * modules/iconv (Files): Move config.rpath to havelib, it is used
69543         there.
69544
69545         * modules/havelib (Files): Add config.rpath.
69546
69547 2005-10-05  Simon Josefsson  <jas@extundo.com>
69548
69549         * m4/memxor.m4: New file.
69550
69551 2005-10-05  Simon Josefsson  <jas@extundo.com>
69552
69553         * lib/memxor.c (memxor): Fix compiler error.
69554
69555         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
69556         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
69557
69558         * lib/memxor.h, lib/memxor.c: New files.
69559
69560         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
69561         we assume all systems have it, suggested by Jim Meyering
69562         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
69563         any systems lack sys/socket.h; mingw32 is known to lack it, but we
69564         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
69565         same reasons.
69566
69567 2005-10-05  Simon Josefsson  <jas@extundo.com>
69568
69569         * config/srclist.txt: Add glibc bug 1423 for md5.h.
69570
69571 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
69572
69573         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
69574         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
69575         needed, since the source code now assumes these .h files.
69576
69577 2005-10-05  Derek Price  <derek@ximbiot.com>
69578
69579         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
69580
69581 2005-10-05  Bruno Haible  <bruno@clisp.org>
69582
69583         * modules/stdint (License): Change to LGPL.
69584
69585 2005-10-04  Simon Josefsson  <jas@extundo.com>
69586
69587         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
69588         D. Baushke" <mdb@gnu.org>.
69589
69590 2005-10-04  Bruno Haible  <bruno@clisp.org>
69591
69592         * lib/verify.h (verify_true): Provide alternative definition for C++.
69593
69594 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
69595
69596         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
69597         (SSIZE_MAX): New macro, if not already defined.
69598         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
69599         than 2 GiB.
69600
69601 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
69602
69603         Sync from coreutils.
69604         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
69605         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
69606         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
69607         ULLONG_MAX doesn't work with 2.7.2.1.
69608
69609 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
69610
69611         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
69612         From Ben Pfaff.
69613
69614         * modules/exclude (Depends-on): Depend on verify.
69615         * modules/strtoimax (Depends-on): Likewise.
69616         * modules/utimecmp (Depends-on): Likewise.
69617
69618 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
69619
69620         * lib/exclude.c: Include verify.h.
69621         (verify): Remove.  All callers changed to use verify.h's version.
69622         * lib/strtoimax.c: Likewise.
69623         * lib/utimecmp.c: Likewis.e
69624
69625         Sync from coreutils.
69626         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
69627         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
69628         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
69629         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
69630         bother returning ENOSYS if settimeofday or stime fails; just let
69631         them return whatever errno they want to return.
69632         * lib/utimens.c: Include unistd.h, for dup2.
69633         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
69634         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
69635
69636 2005-10-02  Jim Meyering  <jim@meyering.net>
69637
69638         Sync from coreutils.
69639         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
69640         from glibc-2.2.5 that fails for read-only files.
69641
69642 2005-10-02  Jim Meyering  <jim@meyering.net>
69643
69644         Sync from coreutils.
69645         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
69646         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
69647         `#if HAVE_CONFIG_H'.
69648         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
69649         Remove AT_FDCWD test.
69650         Do not consume the fd unless successful.
69651         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
69652         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
69653         block, so that we don't even try to compile it if settimeofday is
69654         available.  This works around a compilation failure on OSF1 V5.1,
69655         due to stime requiring a `long int*' while tv_sec is `int'.
69656
69657 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
69658
69659         Sync from coreutils.
69660         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
69661         against `yes', rather than just testing for nonempty.
69662
69663 2005-10-01  Simon Josefsson  <jas@extundo.com>
69664
69665         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
69666         and Darwin.
69667
69668         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
69669         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
69670         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
69671         freeaddrinfo and gai_strerror are declared by the POSIX headers.
69672         Check if struct addrinfo is declared.
69673
69674 2005-10-01  Simon Josefsson  <jas@extundo.com>
69675
69676         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
69677         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
69678         AI_* and EAI_* definitions.  Protect function declarations.
69679
69680 2005-10-01  Jim Meyering  <jim@meyering.net>
69681
69682         Sync from coreutils.
69683
69684         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
69685         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
69686         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
69687         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
69688         in the inet and nsl libraries.  Required on Solaris 5.7.
69689
69690 2005-10-01  Jim Meyering  <jim@meyering.net>
69691
69692         Sync from coreutils.
69693         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
69694         in the inet and nsl libraries.  Required on Solaris 5.7.
69695
69696 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
69697
69698         * lib/getdelim.c (getdelim): Remove unused variables.
69699
69700 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
69701
69702         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
69703         so that the code works even with ancient cpp.  Portability problem
69704         with GCC 2.7.2.1 reported by Thomas M.Ott.
69705
69706 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
69707
69708         * modules/regex (Depends-on): Add strcase.
69709
69710         * modules/gethostname (Licence): Change from GPL to LGPL, since
69711         gethostname.c is a trivial implementation of a standard library
69712         function.
69713         * modules/poll (License): Change from GPL to LGPL, since it's
69714         derived from LGPL code.
69715
69716 2005-09-27  Jim Meyering  <jim@meyering.net>
69717
69718         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
69719         HAVE_CONFIG_H.
69720
69721         * lib/intprops.h (signed_type_or_expr__): Define.
69722         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
69723         for unsigned types.
69724
69725 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
69726
69727         * lib/verify.h (verify_expr): Remove, replacing with:
69728         (verify_true): New macro that returns true instead of void.
69729         (verify_type__): Remove.
69730         (verify): Use verify_true rather than verify_type__.
69731
69732 2005-09-26  Bruno Haible  <bruno@clisp.org>
69733
69734         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
69735         is necessary.
69736         (lib_SOURCES): Remove mbchar.c.
69737         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
69738         (Files): Add m4/mbrtowc.m4.
69739         * modules/mbiter: Likewise.
69740         * modules/mbuiter: Likewise.
69741
69742 2005-09-26  Bruno Haible  <bruno@clisp.org>
69743
69744         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
69745         compile mbchar.c if they are not both present.
69746         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
69747         * m4/mbiter.m4 (gl_MBITER): Likewise.
69748         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
69749         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
69750         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
69751
69752 2005-09-25  Jim Meyering  <jim@meyering.net>
69753
69754         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
69755         also uses socklen_t.
69756
69757 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
69758
69759         * lib/utimens.c (ENOSYS): Define if not already defined.
69760         (futimens): Support having a null PATH if the file descriptor
69761         is nonnegative.
69762
69763         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
69764         Remove.
69765         (__attribute): Define to empty unless GCC 3.1 or later.
69766         This works around a core dump on OpenBSD 3.4, which has GCC
69767         2.95.3, which dumps core when given __attribute__(()).  It also
69768         simplifies other tests, since we really don't want to bother with
69769         worrying about which ancient version of GCC supported what.
69770         Original problem reported by Yoann Vandoorselaere, with part of
69771         the fix suggested by Derek Price.
69772
69773 2005-09-24  Jim Meyering  <jim@meyering.net>
69774
69775         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
69776         so we can once again use a positive bitfield width of 1 -- now we
69777         don't have to explain why we were using a bitfield width of 2.
69778
69779 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
69780
69781         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
69782         and similarly for the other external symbols.  Problem reported
69783         by James Gallager.
69784
69785         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
69786         bug reported by Jim Meyering.
69787
69788         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
69789         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
69790         not needed, since socklen is a prerequisite module.
69791
69792 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
69793
69794         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
69795         Problem reported by Eric Blake.
69796         (getaddrinfo): Initialize se so that it's not garbage.
69797         Redo internal storage allocation so that it doesn't make unportable
69798         assumptions about alignment.
69799         Fix a memory leak.
69800
69801         * lib/utimens.c (futimens): Use futimesat if available.
69802         Prefer it to futimes since it doesn't have the futimes bug.
69803
69804         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
69805         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
69806         Instead, declare a function that returns a pointer to an array,
69807         and use verify_type__ to declare the size of the array.
69808         Problem and germ of a solution reported by Bruno Haible.
69809         (verify_type__): Use 2, not 1, for bitfield size, to avoid
69810         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
69811
69812 2005-09-23  Jim Meyering  <jim@meyering.net>
69813
69814         Sync from coreutils.
69815         Correct build failure (socklen_t not defined) on at least
69816         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
69817         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
69818
69819 2005-09-23  Jim Meyering  <jim@meyering.net>
69820
69821         * modules/getaddrinfo (Depends-on): Add socklen.
69822
69823 2005-09-23  Bruno Haible  <bruno@clisp.org>
69824
69825         * tests/test-verify.c: New file.
69826
69827 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69828
69829         Sync from coreutils.
69830
69831         * modules/argmatch (Depends-on): Add verify.
69832         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
69833         unistd-safer.
69834         * modules/save-cwd (Depends-on): Likewise.
69835
69836         * modules/openat (Files): Add lib/openat-die.c.
69837         (Depends-on): Remove error, exitfail.
69838         Add dirname.
69839
69840         * modules/verify: New file.
69841         * MODULES.html.sh (Diagnostics <assert.h>): New section,
69842         with "verify" module.
69843
69844 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69845
69846         Sync from coreutils.
69847
69848         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
69849         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
69850         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
69851         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
69852         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
69853         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
69854         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
69855         Don't bother checking for string.h, stdlib.h, unistd.h.
69856         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
69857         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
69858         module's job.
69859         * m4/jm-macros.m4 (gl_MACROS): Likewise.
69860         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
69861
69862         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
69863         (gl_GETDATE): Use it.
69864
69865         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
69866
69867 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69868
69869         Sync from coreutils.
69870
69871         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
69872         stat-time.h.
69873         * lib/argmatch.h: Include verify.h
69874         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
69875         (ARGMATCH_ASSERT): Remove; unused.
69876         * lib/canonicalize.c: Assume STDC_HEADERS.
69877         * lib/exclude.c: Include "strcase.h".
69878         * lib/regex_internal.h [!defined _LIBC]: Likewise.
69879         * lib/getusershell.c: Include stdio--.h rather than stdio.h
69880         and stdio-safer.h.
69881         (getusershell): Call fopen, not fopen_safer.
69882         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
69883         Do not include unistd-safer.h.
69884         (save_cwd): Don't call fd_safer; no longer needed
69885         now that we include fcntl--.h.
69886
69887         * lib/getdate.y (relative_time): New type.
69888         (RELATIVE_TIME_0): New constant.
69889         (parser_control): Use relative_time instead of doing it ourselves.
69890         (%union): Add new relative_time rel member.
69891         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
69892         Now typeless.
69893         (relunit, relunit_snumber): Now of type rel.
69894         (zone, rel, relunit, get_date): Adjust to above changes.
69895
69896         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
69897         Do not include unistd-safer.h.
69898         (getloadavg): Don't call fd_safer; no longer needed
69899         now that we include fcntl--.h.
69900
69901         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
69902         (make_dir_parents): Treat ENOSYS like EEXIST.
69903
69904         Improve quality of diagnostics on restore_cwd failure.
69905         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
69906         (make_dir_parents): Last arg is now int * (for errno), not bool *.
69907         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
69908         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
69909         each time through the loop.  Do not diagnose restore_cwd failure;
69910         that is the caller's job (and perhaps the caller does not care).
69911
69912         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
69913         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
69914         If the file already exists but is not a directory, don't bother
69915         to try to make its parents.
69916         Close potential file descriptor leak if we can't chdir("/") (!).
69917         Don't always return true if chdir($PWD) fails; return true only
69918         if the requested action was done successfully (except for the
69919         chdir($PWD)).
69920         Don't log final directory unless we actually made it.
69921         Refactor to avoid duplicate code to fix up permissions.
69922         Don't attempt to fix up parent permissions if chdir($PWD) fails.
69923
69924         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
69925         to make it a bit faster and (I hope) clearer.
69926         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
69927         Fix bug in formats like %2N.
69928
69929         * lib/verify.h: New file.
69930
69931 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
69932
69933         Sync from coreutils.
69934         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
69935
69936 2005-09-22  Jim Meyering  <jim@meyering.net>
69937
69938         Sync from coreutils.
69939
69940         * m4/lstat.m4 (gl_FUNC_LSTAT):
69941         Use AC_LIBSOURCES to require lstat.c and lstat.h.
69942         Remove obsolete comment.
69943         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
69944         * m4/xstrtod.m4: Likewise.
69945
69946         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
69947
69948 2005-09-22  Jim Meyering  <jim@meyering.net>
69949
69950         Sync from coreutils.
69951
69952         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
69953
69954         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
69955         the .tm_year member, since otherwise gcc-4.0 would now warn about
69956         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
69957
69958         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
69959         order to avoid an unsuppressible warning from gcc on 64-bit systems.
69960
69961         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
69962         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
69963         when run in a time zone for which daylight savings time is in effect
69964         for the starting date.
69965
69966         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
69967         stop us from restricting permissions of just-created absolute-named
69968         directories.
69969         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
69970         to restore initial working directory.
69971         * lib/mkdir-p.c (make_dir_parents): New parameter:
69972         different_working_dir, to tell caller if/when we change the working
69973         directory and are unable to return to the initial one.
69974         * lib/mkdir-p.h (make_dir_parents): Update prototype.
69975         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
69976         `return false'.  This fixes a bug introduced on 2004-07-30.
69977
69978         * lib/openat.c (fdopendir): Be sure to close the supplied
69979         file descriptor before returning.  This makes our replacement
69980         implementation a little closer to Solaris's, where fdopendir
69981         ties the file descriptor to the returned DIR* pointer.
69982         * lib/openat.c (unlinkat): New function.
69983         * lib/openat.h (unlinkat): Add prototype.
69984         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
69985         (openat_restore_fail): Rename from openat_restore_die.
69986         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
69987
69988         Provide an alternative to exiting immediately upon save_cwd or
69989         restore_cwd failure.  Now, an application can arrange e.g.,
69990         to perform a longjump in that case.
69991         * lib/openat.c: Include dirname.h.
69992         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
69993         (rpl_openat, fdopendir, fstatat): Call openat_save_die
69994         and openat_restore_die rather than calling error directly.
69995         Don't include "error.h" or "exitfail.h"; they're no longer needed.
69996
69997         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
69998         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
69999         define.
70000
70001         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
70002         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
70003                             int utc, int nanoseconds);
70004         Background:
70005         date should not have to allocate a megabyte of virtual memory to
70006         handle a format argument like +%1048575T.  When implemented with
70007         strftime, it must allocate such a buffer, use strftime to fill it
70008         in, print it, then free it.
70009         With fprintftime, it simply prints everything and exits.
70010         With no need for memory allocation, that's one fewer way to fail.
70011         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
70012         optional field width, not before, so we accept %9:z, not %:9z.
70013         (my_strftime): Be sure to use L_('x') for literals.
70014
70015         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
70016         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
70017         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
70018         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
70019         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
70020         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
70021         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
70022         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
70023         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
70024         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
70025         * lib/xgethostname.c, lib/xreadlink.c:
70026         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
70027
70028         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
70029         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
70030         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
70031         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
70032         and don't include <sys/file.h>).
70033
70034 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
70035
70036         Sync from coreutils.
70037
70038         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
70039         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
70040         [!LDAV_DONE]: Avoid unused variable warning.
70041
70042 2005-09-21  Bruno Haible  <bruno@clisp.org>
70043
70044         * lib/unicodeio.h (unicode_to_mb): New declaration.
70045
70046 2005-09-20  Derek Price  <derek@ximbiot.com>
70047
70048         * lib/getaddrinfo.c: Don't include <netdb.h> included from
70049         getaddrinfo.h.
70050
70051 2005-09-20  Bruno Haible  <bruno@clisp.org>
70052
70053         * gnulib-tool: Remove trailing slashes from the values specified for
70054         --source-base, --m4-base, --tests-base, --aux-dir.
70055         Suggested by Simon Josefsson <jas@extundo.com>.
70056
70057 2005-09-20  Bruno Haible  <bruno@clisp.org>
70058
70059         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
70060         func_modules_to_filelist, func_import, func_create_testdir): Make all
70061         sorting results locale-independent, so that gnulib-cache.m4 doesn't
70062         change when gnulib-tool is invoked in a different locale.
70063
70064 2005-09-19  Simon Josefsson  <jas@extundo.com>
70065
70066         * m4/socklen.m4: Fix typo.
70067
70068 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70069
70070         Use a consistent style for including <config.h>.
70071         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
70072         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
70073         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
70074         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
70075         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
70076         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
70077         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
70078         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
70079         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
70080         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
70081         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
70082         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
70083         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
70084         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
70085         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
70086         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
70087         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
70088         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
70089         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
70090         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
70091         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
70092         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
70093         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
70094         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
70095         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
70096         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
70097         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
70098         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
70099         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
70100         lib/xstrtoumax.c, lib/yesno.c:
70101         Standardize inclusion of config.h.
70102         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
70103         lib/inttostr.h:  Removed inclusion of config.h from header files.
70104         * lib/inttostr.c:  Adjusted in-tree users.
70105         * lib/timespec.h: Remove superfluous warning to include config.h.
70106         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
70107         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
70108         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
70109         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
70110         config.h with HAVE_CONFIG_H.
70111
70112 2005-09-19  Jim Meyering  <jim@meyering.net>
70113
70114         * modules/pathmax (License): Change to LGPL.
70115
70116 2005-09-19  Derek Price  <derek@ximbiot.com>
70117
70118         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
70119
70120 2005-09-19  Bruno Haible  <bruno@clisp.org>
70121
70122         * gnulib-tool (import): Provide default for --tests-base.
70123
70124 2005-09-19  Bruno Haible  <bruno@clisp.org>
70125
70126         * doc/quote.texi: New file, extracted from gnulib.texi.
70127         * doc/ctime.texi: New file, extracted from gnulib.texi.
70128         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
70129         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
70130         * doc/gnulib.texi: Include them.
70131
70132 2005-09-18  Bruno Haible  <bruno@clisp.org>
70133
70134         Portability fix.
70135         * gnulib-tool (func_readlink): New function.
70136         (func_ln_if_changed): Use it.
70137
70138 2005-09-18  Bruno Haible  <bruno@clisp.org>
70139
70140         * gnulib-tool: Support --with-tests also with --import.
70141         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
70142         (func_import): Use variables $testsbase and $inctests. Emit a
70143         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
70144         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
70145         SUBDIRS += $testsdir.
70146         (func_create_testdir): Update.
70147
70148 2005-09-18  Bruno Haible  <bruno@clisp.org>
70149
70150         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
70151         instead of $dry_run.
70152         (func_cp_if_changed, func_mv_if_changed): Remove functions.
70153         (func_ln_if_changed): Don't handle dry-run here.
70154         (func_import): In dry-run mode, detect more precisely which actions
70155         would be performed, and don't use "...ing" verbs.
70156
70157 2005-09-18  Bruno Haible  <bruno@clisp.org>
70158
70159         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
70160         (func_import): Use join on two temporary files instead of three nested
70161         loops, in order to determine which files are new or old.
70162
70163 2005-09-18  Bruno Haible  <bruno@clisp.org>
70164
70165         * gnulib-tool (func_import): Comment out code that spits out the
70166         new files with --dry-run.
70167
70168 2005-09-18  Bruno Haible  <bruno@clisp.org>
70169
70170         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
70171
70172 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
70173
70174         * lib/stat-time.h: New file.
70175         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
70176         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
70177         in a different way.
70178         (timespec_cmp): New function.
70179         * lib/utimecmp.c: Include stat-time.h.
70180         (SYSCALL_RESOLUTION): Depend on whether various struct stat
70181         members exist, not on the obsolescent ST_MTIM_NSEC.
70182         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
70183
70184 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
70185
70186         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
70187
70188 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
70189
70190         * MODULES.html.sh (File system functions): Add stat-time.
70191         * modules/stat-time: New file.
70192         * modules/timespec (Files): Remove m4/st_mtim.m4; this
70193         is now done in a different way, by the stat-time module.
70194         * modules/utimecmp (Depends-on): Add stat-time.
70195
70196 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
70197
70198         * m4/st_mtim.m4: Remove.  Superseded by...
70199         * m4/stat-time.m4: New file.
70200         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
70201         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
70202
70203 2005-09-15  Derek Price  <derek@ximbiot.com>
70204
70205         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
70206
70207 2005-09-15  Derek Price  <derek@ximbiot.com>
70208
70209         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
70210         * lib/regex_internal.c: Ditto, using this...
70211         (__GNUC_PREREQ): ...new macro.
70212         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
70213         using...
70214         (__GNUC_PREREQ): ...this new macro.
70215
70216         * lib/strstr.h: Include string.h. Define strstr as a macro here.
70217
70218 2005-09-15  Derek Price  <derek@ximbiot.com>
70219             Paul Eggert  <eggert@cs.ucla.edu>
70220
70221         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
70222         changes, consolidating in...
70223         * lib/regex_internal.h: ...this file.
70224
70225 2005-09-13  Jim Meyering  <jim@meyering.net>
70226
70227         * lib/canon-host.c: Filter through gnu indent and reword comments
70228         slightly.
70229         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
70230
70231 2005-09-13  Derek Price  <derek@ximbiot.com>
70232
70233         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
70234         failure.
70235         Reported by Jim Meyering  <jim@meyering.net>.
70236
70237 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70238
70239         * lib/base64.c: Typo.
70240         (base64_encode): Put b64str in initialized data section.
70241
70242 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
70243
70244         Merge glibc and coreutils changes into gnulib, plus a few
70245         extra fixes.
70246         * lib/md5.c: Use #error rather than a string.
70247         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
70248         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
70249         (__attribute__): Define to empty for non recent-GCC.
70250         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
70251         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
70252         Renamed from their non-__ counterparts, with new macros replacing
70253         them if not _LIBC.  Add __THROW attribute.
70254         (rol): Remove.
70255         (struct md5_ctx): Align buffer if using GCC.
70256         * lib/sha1.h (struct sha1_ctx): Likewise.
70257         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
70258         The old name was backwards.
70259         (NOTSWAP): Remove; not used.
70260         (rol): New macro, moved here from md5.h.
70261         (sha1_process_block): Remove a FIXME that doesn't make sense.
70262
70263 2005-09-12  Derek Price  <derek@ximbiot.com>
70264
70265         Return usable errors from canon-host.
70266         * lib/canon-host.h: New file.
70267         * lib/canon-host.c (canon_host): Wrap...
70268         (canon_host_r): ...this new function, which now relies exclusively on
70269         getaddrinfo.
70270         (ch_strerror): New function.
70271         (last_cherror): New global.
70272         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
70273         interface.
70274         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
70275         void *.
70276         (freeaddrinfo): Free ai->ai_canonname when set.
70277
70278 2005-09-12  Derek Price  <derek@ximbiot.com>
70279
70280         Make canon-host require getaddrinfo.
70281         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
70282         AC_LIBSOURCE canon-host.h.  Call...
70283         (gl_PREREQ_CANON_HOST): ...this new function, which requires
70284         gl_GETADDRINFO.
70285         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
70286
70287 2005-09-12  Derek Price  <derek@ximbiot.com>
70288
70289         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
70290         LGPL.
70291         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
70292
70293 2005-09-12  Derek Price  <derek@ximbiot.com>
70294
70295         * lib/gai_strerror.c: Include config.h when available.  Include
70296         getaddrinfo.h before other headers to test interface.
70297         Reported by Larry Jones <lawrence.jones@ugs.com>.
70298
70299 2005-09-12  Derek Price  <derek@ximbiot.com>
70300             Paul Eggert  <eggert@cs.ucla.edu>
70301
70302         * modules/glob (Files): Add glob-libc.h.
70303
70304 2005-09-12  Derek Price  <derek@ximbiot.com>
70305             Paul Eggert  <eggert@cs.ucla.edu>
70306
70307         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
70308         glob_.h, glob-libc.h.
70309         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
70310
70311 2005-09-12  Derek Price  <derek@ximbiot.com>
70312             Paul Eggert  <eggert@cs.ucla.edu>
70313
70314         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
70315         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
70316         protecting things that should be done only in gnulib contexts.
70317         * lib/glob_.h: New file, containing only the glob things needed for
70318         gnulib.
70319         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
70320         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
70321         (glob, globfree, glob_pattern_p): Now defined simply in terms of
70322         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
70323         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
70324         and to respect the namespace rules better.
70325
70326 2005-09-08  Simon Josefsson  <jas@extundo.com>
70327
70328         * modules/socklen: New file.
70329
70330 2005-09-08  Simon Josefsson  <jas@extundo.com>
70331
70332         * m4/socklen.m4: New file.
70333
70334 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70335
70336         * modules/utimens (Files): Add m4/utimbuf.m4, since
70337         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
70338         Reported by Sergey Poznyakoff.
70339
70340 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70341
70342         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
70343         definitions, since that's the preferred style in glibc.
70344         Fix a minor spacing issue, and update copyright notice to match
70345         glibc's.
70346
70347 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
70348
70349         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
70350
70351 2005-09-06  Simon Josefsson  <jas@extundo.com>
70352
70353         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
70354         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
70355
70356 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
70357
70358         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
70359         warning.
70360
70361 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
70362
70363         * config/srclist.txt: Add glibc bug 1302.
70364
70365 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
70366
70367         Change bitset word type from unsigned int to unsigned long int,
70368         as this has better performance on typical 64-bit hosts.
70369         Port bitset code to hosts with unusual word sizes.
70370         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
70371         (build_collating_symbol):
70372         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
70373         argument is a bitset.  This is merely a style issue, but it makes
70374         it clearer that an entire array is expected.
70375         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
70376         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
70377         Port to the case where bitset_word is not the same as unsigned int.
70378         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
70379         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
70380         Likewise.
70381         * lib/regexec.c (check_dst_limits_calc_pos_1,
70382         check_subexp_matching_top):
70383         (build_trtable, group_nodes_into_DFAstates):
70384         Likewise.
70385         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
70386         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
70387         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
70388         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
70389         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
70390         * lib/regcomp.c (optimize_subexps, lower_subexp):
70391         Work even if bitset_word has holes in its bitwise representation.
70392         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
70393         * lib/regexec.c (check_dst_limits_calc_pos_1,
70394         check_subexp_matching_top):
70395         Likewise.
70396         * lib/regex_internal.c (re_string_reconstruct):
70397         Don't assume UCHAR_MAX == 255.
70398         * lib/regex_internal.h (bitset_set_all): Likewise.
70399         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
70400         All uses changed.
70401         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
70402         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
70403         All uses changed.
70404         (BITSET_WORD_MAX): New macro.
70405         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
70406         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
70407         (bitset_empty, bitset_copy):
70408         Prefer sizeof (bitset) to multiplying it out ourselves.
70409         (bitset_not_merge): Remove; unused.
70410         (bitset_contain): Return bool, not unsigned int with one bit on.
70411         All callers changed.
70412         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
70413         alignment than re_node_set; do this by defining a new internal
70414         type struct dests_alloc and using it to allocate memory.
70415
70416 2005-09-05  Bruno Haible  <bruno@clisp.org>
70417
70418         * gnulib-tool (func_import): Fix comparison in handling of symbolic
70419         links.
70420
70421 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
70422
70423         * modules/size_max (Makefile.am): Add size_max.h
70424
70425 2005-09-04  Derek Price  <derek@ximbiot.com>
70426
70427         * gnulib-tool (func_import): Fix reversed $symbolic logic.
70428
70429 2005-09-03  Simon Josefsson  <jas@extundo.com>
70430
70431         * gnulib-tool: Fix typo.
70432
70433 2005-09-03  Simon Josefsson  <jas@extundo.com>
70434
70435         * config/srclist.txt: Add glibc bug 1293.
70436
70437 2005-09-03  Derek Price  <derek@ximbiot.com>
70438
70439         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
70440         From Larry Jones <lawrence.jones@ugs.com>.
70441
70442 2005-09-02  Simon Josefsson  <jas@extundo.com>
70443
70444         * modules/socklen: New file.
70445
70446 2005-09-02  Simon Josefsson  <jas@extundo.com>
70447
70448         * modules/havelib: New module.
70449
70450         * modules/gettext, modules/iconv, modules/lock, modules/readline:
70451         Use havelib.
70452
70453 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
70454
70455         Check for arithmetic overflow when calculating sizes, to prevent
70456         some buffer-overflow issues.  These patches are conservative, in the
70457         sense that when I couldn't determine whether an overflow was possible,
70458         I inserted a run-time check.
70459         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
70460         macros.
70461         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
70462         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
70463         (re_xnrealloc, re_x2nrealloc): New inline functions.
70464         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
70465         parse_bracket_exp):
70466         (build_equiv_class, build_charclass): Check for arithmetic overflow
70467         in size expression calculations.
70468         * lib/regex_internal.c (re_string_realloc_buffers):
70469         (build_wcs_upper_buffer, re_node_set_add_intersect):
70470         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
70471         (re_dfa_add_node, register_state): Likewise.
70472         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
70473         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
70474         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
70475         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
70476
70477 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
70478
70479         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
70480         m4/ulonglong.m4.  Problem reported by Martin Lambers.
70481
70482 2005-09-02  Bruno Haible  <bruno@clisp.org>
70483
70484         Support for lib vs. lib64 distinction on biarch platforms.
70485         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
70486         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
70487         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
70488
70489 2005-09-02  Bruno Haible  <bruno@clisp.org>
70490
70491         * gnulib-tool (import): In the other first-use case, provide defaults
70492         as well.
70493
70494 2005-09-02  Bruno Haible  <bruno@clisp.org>
70495
70496         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
70497         patches not yet found in the latest gettext release.
70498
70499 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70500
70501         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
70502         to avoid a collision with bits/local_lim.h in glibc.
70503         All uses changed.  Problem reported by Dmitry V. Levin in
70504         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
70505
70506         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
70507         bugs in int versus size_t comparisons.
70508         (re_string_context_at): Fix bug where the code assumed that
70509         Idx is signed.
70510
70511         Use bool where appropriate.
70512         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
70513         All callers changed.
70514         (calc_eclosure_iter): Likewise, for ROOT arg.
70515         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
70516         (build_charclass_op): Likewise, for NON_MATCH arg.
70517         * lib/regex_internal.c (re_string_allocate, re_string_construct):
70518         (re_string_construct_common): Likewise, for ICASE arg.
70519         * lib/regexec.c (re_search_2_stub, re_search_stub):
70520         Likewise, for RET_LEN arg.
70521         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
70522         (set_regs): Likewise, for FL_BACKTRACK arg.
70523         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
70524         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
70525         (calc_eclosure_iter, parse_bracket_exp):
70526         Use bool for internal variables that are booleans.
70527         * lib/regexec.c (re_search_internal, check_matching,
70528         proceed_next_node):
70529         (set_regs, build_sifted_states, sift_states_bkref):
70530         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
70531         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
70532         (find_collation_sequence_value):
70533         Likewise.
70534         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
70535         (re_node_set_compare):
70536         Return bool, not int. All callers changed.
70537         * lib/regexec.c (check_halt_node_context, check_dst_limits):
70538         (build_trtable, check_node_accept): Likewise.
70539         * lib/regex_internal.h: Include stdbool.h.
70540
70541         Fix bugs uncovered when converting to bool.
70542         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
70543         failure instead of charging ahead blindly.
70544         * lib/regex_internal.c (register_state): Likewise.
70545         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
70546         for freeing internal storage.
70547         (group_nodes_into_DFA_states): Use unsigned int, not int, for
70548         bitset pieces used as boolean, to avoid undefined behavior
70549         on hosts that do int overflow checking.
70550
70551 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
70552
70553         * config/srclist.txt: Add glibc bugs 1285-1287.
70554
70555 2005-09-01  Jim Meyering  <jim@meyering.net>
70556
70557         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
70558         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
70559         Require gl_STAT_MACROS, too.
70560
70561 2005-09-01  Bruno Haible  <bruno@clisp.org>
70562
70563         * gnulib-tool (import): In the first-use case, provide defaults.
70564
70565 2005-09-01  Bruno Haible  <bruno@clisp.org>
70566
70567         * gnulib-tool (func_import): Remove the .tmp files.
70568
70569 2005-09-01  Bruno Haible  <bruno@clisp.org>
70570
70571         * gnulib-tool (func_import): Fix handling of symbolic links.
70572
70573 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70574
70575         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
70576         old glibc regex code mishandles strings longer than 2**31 bytes.
70577         This patch fixes this when the regex code is used in gnulib
70578         (i.e., outside glibc).
70579
70580         This patch should not affect the use of the regex code inside
70581         glibc.  No doubt this problem also needs to be handled for glibc
70582         as well, but the result will be an incompatible change to the
70583         glibc ABI, and the old ABI will have to be supported too.  That
70584         can be the the subject for another patch.
70585
70586         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
70587         governing whether the rest of this patch is active.  By default,
70588         the macro is disabled and the patch has no effect.
70589         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
70590         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
70591         (struct re_pattern_buffer, re_search, re_search_2, re_match):
70592         (re_match_2, re_set_registers): Use the new types.
70593         * lib/regex_internal.h (Idx, re_hashval_t): New types.
70594         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
70595         New macros.
70596         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
70597         (re_string_context_at, bin_tree_t, re_dfastate_t):
70598         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
70599         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
70600         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
70601         (re_string_char_size_at, re_string_wchar_at):
70602         (re_string_elem_size_at):
70603         Use the new types and macros to port to 64-bit hosts.
70604         Use unsigned types for internal values, so that the code
70605         mostly works even for arrays larger than SSIZE_MAX.
70606         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
70607         (search_duplicated_node, calc_eclosure_iter, fetch_number):
70608         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
70609         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
70610         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
70611         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
70612         (calc_inveclosure, parse_dup_op, build_range_exp):
70613         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
70614         (fetch_number, create_token_tree, mark_opt_subexp):
70615         Likewise.
70616         * lib/regex_internal.c (re_string_construct_common,
70617         create_ci_newstate):
70618         (create_cd_newstate, re_string_allocate, re_string_construct):
70619         (re_string_realloc_buffers, build_wcs_upper_buffer):
70620         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
70621         (re_string_reconstruct, re_string_peek_byte_case):
70622         (re_string_fetch_byte_case, re_string_context_at):
70623         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
70624         (re_node_set_init_copy, re_node_set_add_intersect):
70625         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
70626         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
70627         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
70628         (re_acquire_state, re_acquire_state_context, register_state):
70629         Likewise.
70630         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
70631         search_cur_bkref_entry):
70632         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
70633         (re_search_internal, re_search_2_stub, re_search_stub)
70634         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
70635         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
70636         (update_cur_sifted_state, check_dst_limits):
70637         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
70638         (check_subexp_limits, sift_states_bkref, merge_state_array):
70639         (check_subexp_matching_top, get_subexp, get_subexp_sub):
70640         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
70641         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
70642         (expand_bkref_cache, check_node_accept_bytes):
70643         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
70644         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
70645         (acquire_init_state_context, check_halt_node_context):
70646         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
70647         (sift_states_backward, clean_state_log_if_needed):
70648         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
70649         (find_recover_state, transit_state_sb, transit_state_mb):
70650         (transit_state_bkref, build_trtable, match_ctx_clean):
70651         Likewise.
70652         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
70653         to work around an assumption that REG_MISSING is negative.
70654
70655         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
70656         (seek_collating_symbol_entry) [defined _LIBC]:
70657         (lookup_collation_sequence_value) [defined _LIBC]:
70658         (build_range_exp, build_collating_symbol) [defined _LIBC]:
70659         Use prototypes rather than old-style function definitions.
70660         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
70661         (transit_state_sb) [0]:
70662         (find_collation_sequence_value) [defined _LIBC]: Likewise.
70663
70664         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
70665         rm_eo.
70666
70667         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
70668         (optimize_subexps, lower_subexp):
70669         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
70670         since the signed shift might overflow.  Use 1u<<31 instead.
70671         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
70672         Likewise.
70673         * lib/regexec.c (check_dst_limits_calc_pos_1,
70674         check_subexp_matching_top): Likewise.
70675
70676         * lib/regcomp.c (optimize_subexps, lower_subexp):
70677         Use CHAR_BIT rather than 8, for clarity.
70678         * lib/regexec.c (check_dst_limits_calc_pos_1):
70679         (check_subexp_matching_top): Likewise.
70680         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
70681         have to worry about portability issues when shifting it left.
70682         Remove no-longer-needed test for table_size > 0.
70683         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
70684         in a word, as the resulting behavior is undefined.
70685         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
70686         in one case, a <= should have been an <, and in another case the
70687         whole test was missing.
70688         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
70689         the standard name CHAR_BIT.
70690         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
70691         this is not true on one's complement and signed-magnitude hosts.
70692
70693         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
70694         next_last_offset.
70695         (struct re_dfa_t): Remove unused member states_alloc.
70696         * lib/regcomp.c (init_dfa): Don't initialize unused members.
70697
70698 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70699
70700         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
70701         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
70702         and large-file glibc and in 32-bit large-file Solaris.
70703
70704 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70705
70706         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
70707         lengths fit in regoff_t; this isn't true if regoff_t is the same
70708         width as size_t.
70709         * lib/regex.c (re_search_internal): 5th arg is LAST_START
70710         (= START + RANGE) instead of RANGE.  This avoids overflow
70711         problems when regoff_t is the same width as size_t.
70712         All callers changed.
70713         (re_search_2_stub): Check for overflow when adding the
70714         sizes of the two strings.
70715         (re_search_stub): Check for overflow when adding START
70716         to RANGE; if it occurs, substitute the extreme value.
70717
70718 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
70719
70720         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
70721
70722 2005-08-31  Jim Meyering  <jim@meyering.net>
70723
70724         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
70725         a pointer-to-const.
70726         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
70727         (register_state): Likewise.
70728         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
70729         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
70730         (group_nodes_into_DFAstates): Likewise.
70731
70732 2005-08-31  Jim Meyering  <jim@meyering.net>
70733
70734         * check-module: Add a FIXME comment.
70735
70736 2005-08-31  Eric Blake  <ebb9@byu.net>
70737
70738         * modules/unistd-safer (Files): Add unistd--.h.
70739         * modules/stdio-safer (Files): Add stdio--.h.
70740
70741 2005-08-31  Derek Price  <derek@ximbiot.com>
70742
70743         * lib/getdelim.c (getdelim): Return EOF on EOF.
70744         Reported by Larry Jones <lawrence.jones@ugs.com>.
70745
70746 2005-08-31  Bruno Haible  <bruno@clisp.org>
70747
70748         Avoid unnecessary diffs in the generated lib/Makefile.am.
70749         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
70750         the generated files.
70751         (func_import): Don't set cmd.
70752
70753 2005-08-31  Bruno Haible  <bruno@clisp.org>
70754
70755         * lib/strstr.c: Include <stddef.h>, for NULL.
70756         * lib/strcasestr.c: Likewise.
70757         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
70758
70759 2005-08-31  Bruno Haible  <bruno@clisp.org>
70760
70761         * gnulib-tool: New option --macro-prefix.
70762         (func_import): Use macro_prefix.
70763         (import): Handle option --macro-prefix.
70764
70765 2005-08-31  Bruno Haible  <bruno@clisp.org>
70766
70767         * gnulib-tool (import): Rename most ac_* variables to cached_*.
70768         Also use new variables cached_lgpl, cached_libtool.
70769
70770 2005-08-31  Bruno Haible  <bruno@clisp.org>
70771
70772         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
70773         always instantiating them.
70774
70775 2005-08-31  Bruno Haible  <bruno@clisp.org>
70776
70777         * gnulib-tool (func_import): Read the previous cached settings
70778         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
70779         earlier added by gnulib but are now dropped. Warn when a gnulib file
70780         overwrites a non-gnulib file.
70781
70782 2005-08-31  Bruno Haible  <bruno@clisp.org>
70783
70784         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
70785         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
70786         projects that don't keep autogenerated files in CVS. Put into
70787         actioncmd only the specified modules, not the transitive closure.
70788
70789 2005-08-31  Bruno Haible  <bruno@clisp.org>
70790
70791         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
70792         Create directories that shall be filled.
70793         (import): Don't look for gl_* macros in configure.ac. Recurse across
70794         all directories containing a gnulib-cache.m4 files, if meaningful.
70795
70796 2005-08-31  Bruno Haible  <bruno@clisp.org>
70797
70798         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
70799         (import): Set seen_libtool when we see gl_LIBTOOL.
70800
70801 2005-08-31  Bruno Haible  <bruno@clisp.org>
70802
70803         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
70804         declaration macro definitions from generated gnulib.m4.
70805
70806 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
70807
70808         * lib/iconvme.h: Add prototype for iconv_alloc.
70809
70810 2005-08-29  Simon Josefsson  <jas@extundo.com>
70811
70812         * lib/iconvme.c: Fix errno.
70813
70814 2005-08-29  Bruno Haible  <bruno@clisp.org>
70815
70816         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
70817         that it works when the directory contains spaces.
70818
70819 2005-08-29  Bruno Haible  <bruno@clisp.org>
70820
70821         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
70822
70823 2005-08-29  Bruno Haible  <bruno@clisp.org>
70824
70825         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
70826         Emit more advice.
70827
70828 2005-08-29  Bruno Haible  <bruno@clisp.org>
70829         and Stepan Kasal  <kasal@ucw.cz>
70830
70831         * check-module: If more parameters are given, check each of them
70832         separately; add more exceptions, as noted by Jim Meyering.
70833         (check_module): New procedure.
70834         (%exempt_header): Now contains all exceptions.
70835
70836 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
70837
70838         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
70839
70840 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
70841
70842         * lib/iconvme.c: Split iconv_string into iconv_alloc.
70843
70844 2005-08-28  Bruno Haible  <bruno@clisp.org>
70845
70846         * m4/gnulib-tool.m4: New file.
70847
70848 2005-08-27  Jim Meyering  <jim@meyering.net>
70849
70850         * modules/unistd-safer (Files): Add pipe-safer.c.
70851         * modules/fcntl-safer (Files): Add creat-safer.c.
70852
70853 2005-08-27  Jim Meyering  <jim@meyering.net>
70854
70855         * m4/stdlib-safer.m4: New file.  From coreutils.
70856         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
70857         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
70858         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
70859         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
70860         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
70861
70862 2005-08-27  Jim Meyering  <jim@meyering.net>
70863
70864         * lib/fopen-safer.c: Merge minor changes from coreutils.
70865         * lib/dup-safer.c: Likewise.
70866         * lib/fd-safer.c: Likewise.
70867
70868         Merge from coreutils.
70869         * lib/stdio--.h: New file.
70870         * lib/stdlib--.h: New file.
70871         * lib/mkstemp-safer.c: New file.
70872
70873         GNU tar needs these.
70874         * lib/pipe-safer.c: New file.
70875         * lib/creat-safer.c: New file.
70876         * lib/fcntl--.h (creat): Define to creat_safer.
70877         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
70878         * lib/unistd--.h (pipe): Define to pipe_safer.
70879         * lib/unistd-safer.h: Declare pipe_safer.
70880
70881 2005-08-26  Simon Josefsson  <jas@extundo.com>
70882
70883         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
70884         Haible <bruno@clisp.org>.
70885
70886 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
70887
70888         * lib/regex_internal.h: Remove all references to
70889         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
70890         or better.
70891         (bitset_not, bitset_merge, bitset_not_merge):
70892         (bitset_mask, re_string_allocate, re_string_construct):
70893         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
70894         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
70895         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
70896         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
70897         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
70898         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
70899         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
70900         (re_acquire_state_context):
70901         Remove unnecessary forward decls.
70902         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
70903         Put __attribute at function definition,
70904         now that the function decl has been removed.
70905         * lib/regex_internal.c (re_string_peek_byte_case):
70906         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
70907         Likewise.
70908
70909 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
70910
70911         * m4/regex.m4: Add AC_PREREQ(2.50).
70912         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
70913
70914 2005-08-25  Simon Josefsson  <jas@extundo.com>
70915
70916         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
70917         __fsetlocking.
70918
70919 2005-08-25  Simon Josefsson  <jas@extundo.com>
70920
70921         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
70922         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
70923         GLIBC specific code.
70924
70925 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70926
70927         Make regex safe for g++.  This fixes one real bug (an "err"
70928         that should have been "*err").  g++ problem reported by
70929         Sam Steingold.
70930         * lib/regex_internal.h (re_calloc): New macro, consistent with
70931         re_malloc etc.  All callers of calloc changed to use re_calloc.
70932         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
70933         not int.  All callers changed.
70934         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
70935         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
70936         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
70937         (find_recover_state): Change "err" to "*err"; this fixes what
70938         appears to be a real bug.
70939         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
70940         versus int.
70941
70942 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70943
70944         * modules/regex (Depends-on): Add malloc, since the code
70945         assumes that !malloc(0) means failure.
70946
70947 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70948
70949         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
70950
70951         alloca modernization/simplification for regex.
70952         * lib/regex.c: Remove portability cruft for alloca.  This no longer
70953         needs to be at the start of the file, and can be moved into
70954         regex_internal.h and simplified.
70955         * lib/regex_internal.h: Include <alloca.h>.
70956         (__libc_use_alloca) [!defined _LIBC]: New macro.
70957         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
70958         now works outside glibc.
70959
70960 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70961
70962         * config/srclist.txt: Add glibc bugs 1241, 1245.
70963
70964 2005-08-25  Jim Meyering  <jim@meyering.net>
70965
70966         * lib/open-safer.c: Include <config.h>.
70967         Otherwise, we'd lose LARGEFILE support in any file using
70968         e.g. "fcntl--.h"
70969
70970 2005-08-25  Bruno Haible  <bruno@clisp.org>
70971
70972         * m4/minmax.m4: Require autoconf 2.52.
70973         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
70974         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
70975         alternatives of translit over the alphabet.
70976         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
70977
70978 2005-08-24  Simon Josefsson  <jas@extundo.com>
70979
70980         * tests/test-getpass.c: New file.
70981
70982 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70983
70984         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
70985         for GNU regex features.
70986
70987 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70988
70989         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
70990         * lib/regex.h (regerror): Likewise.
70991
70992         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
70993         requires this.  (The code never needed it.)
70994
70995         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
70996         All uses of recently-renamed identifiers changed to use the new,
70997         POSIX-compliant names.  The code will build and run just fine
70998         without these changes, but it's better to eat our own dog food
70999         and use the standard-conforming names.
71000
71001         * lib/regex.h: Fix a multitude of POSIX name space violations.
71002         These changes have an effect only for programs that define
71003         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
71004         do not change anything for programs compiled in the normal way.
71005         Also, there is no effect on the ABI.
71006
71007         (_REGEX_SOURCE): New macro.
71008         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
71009         defined and _GNU_SOURCE is not; this fixes a name space violation.
71010
71011         Rename the following macros to obey POSIX requirements.
71012         The old names are still visible as macros if _REGEX_SOURCE is defined.
71013         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
71014         RE_BACKSLASH_ESCAPE_IN_LISTS.
71015         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
71016         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
71017         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
71018         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
71019         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
71020         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
71021         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
71022         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
71023         (REG_INTERVALS): renamed from RE_INTERVALS.
71024         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
71025         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
71026         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
71027         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
71028         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
71029         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
71030         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
71031         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
71032         RE_UNMATCHED_RIGHT_PAREN_ORD.
71033         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
71034         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
71035         (REG_DEBUG): renamed from RE_DEBUG.
71036         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
71037         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
71038         unusual, since we can't clash with the POSIX REG_ICASE.
71039         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
71040         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
71041         (REG_NO_SUB): renamed from RE_NO_SUB.
71042         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
71043         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
71044         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
71045         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
71046         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
71047         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
71048         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
71049         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
71050         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
71051         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
71052         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
71053         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
71054         RE_SYNTAX_POSIX_MINIMAL_BASIC.
71055         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
71056         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
71057         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
71058         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
71059         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
71060         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
71061         (REG_FIXED): Renamed from REGS_FIXED.
71062         (REG_NREGS): Renamed from RE_NREGS.
71063
71064         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
71065         of other REG_* macros, since POSIX says the user is allowed to
71066         #undef these macros selectively.
71067
71068         (reg_errcode_t): Update comment stating what other tables need
71069         to be consistent.
71070
71071         Rename the following enum values to obey POSIX requirements.
71072         The old names are still visible as macros.
71073         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
71074         is not defined, since GNU is supposed to be a superset of POSIX as
71075         much as possible, and since we want reg_errcode_t to be a signed
71076         type for implementation consistency.
71077         (_REG_NOERROR): Renamed from REG_NOERROR.
71078         (_REG_NOMATCH): Renamed from REG_NOMATCH.
71079         (_REG_BADPAT): Renamed from REG_BADPAT.
71080         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
71081         (_REG_ECTYPE): Renamed from REG_ECTYPE.
71082         (_REG_EESCAPE): Renamed from REG_EESCAPE.
71083         (_REG_ESUBREG): Renamed from REG_ESUBREG.
71084         (_REG_EBRACK): Renamed from REG_EBRACK.
71085         (_REG_EPAREN): Renamed from REG_EPAREN.
71086         (_REG_EBRACE): Renamed from REG_EBRACE.
71087         (_REG_BADBR): Renamed from REG_BADBR.
71088         (_REG_ERANGE): Renamed from REG_ERANGE.
71089         (_REG_ESPACE): Renamed from REG_ESPACE.
71090         (_REG_BADRPT): Renamed from REG_BADRPT.
71091         (_REG_EEND): Renamed from REG_EEND.
71092         (_REG_ESIZE): Renamed from REG_ESIZE.
71093         (_REG_ERPAREN): Renamed from REG_ERPAREN.
71094         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
71095         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
71096         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
71097         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
71098
71099         (_REG_RE_NAME, _REG_RM_NAME): New macros.
71100         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
71101         changed.  But support the old name if the new one is not defined
71102         and if _REGEX_SOURCE.
71103
71104         Change the following member names in struct re_pattern_buffer.
71105         The old names are still supported if !_REGEX_SOURCE.
71106         The new names are always supported, regardless of _REGEX_SOURCE.
71107         (re_buffer): Renamed from buffer.
71108         (re_allocated): Renamed from allocated.
71109         (re_used): Renamed from used.
71110         (re_syntax): Renamed from syntax.
71111         (re_fastmap): Renamed from fastmap.
71112         (re_translate): Renamed from translate.
71113         (re_can_be_null): Renamed from can_be_null.
71114         (re_regs_allocated): Renamed from regs_allocated.
71115         (re_fastmap_accurate): Renamed from fastmap_accurate.
71116         (re_no_sub): Renamed from no_sub.
71117         (re_not_bol): Renamed from not_bol.
71118         (re_not_eol): Renamed from not_eol.
71119         (re_newline_anchor): Renamed from newline_anchor.
71120
71121         Change the following member names in struct re_registers.
71122         The old names are still supported if !_REGEX_SOURCE.
71123         The new names are always supported, regardless of _REGEX_SOURCE.
71124         (rm_num_regs): Renamed from num_regs.
71125         (rm_start): Renamed from start.
71126         (rm_end): Renamed from end.
71127
71128         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
71129         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
71130         Prepend __ to parameter names.
71131
71132         Undo yesterday's changes.
71133
71134 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
71135
71136         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
71137         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
71138         lib/regex.c.
71139
71140 2005-08-24  Jim Meyering  <jim@meyering.net>
71141
71142         Sync from coreutils.
71143         * m4/fcntl-safer.m4: New file.
71144
71145         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
71146         and object files for this module.
71147
71148 2005-08-24  Jim Meyering  <jim@meyering.net>
71149
71150         Sync from coreutils.
71151         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
71152
71153 2005-08-24  Jim Meyering  <jim@meyering.net>
71154
71155         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
71156         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
71157
71158 2005-08-24  Jim Meyering  <jim@meyering.net>
71159
71160         * modules/fcntl-safer: New module.
71161         * modules/fts (Depends-on): Add fcntl-safer.
71162         * MODULES.html.sh (File descriptor based Input/Output):
71163         Add fcntl-safer.
71164
71165 2005-08-24  Bruno Haible  <bruno@clisp.org>
71166
71167         Support for unit test modules.
71168         * modules/README: Mention tests modules.
71169         * modules/TEMPLATE-TESTS: New file.
71170         * gnulib-tool: New options --extract-tests-module, --with-tests and
71171         --tests-base (unused for the moment).
71172         (testsbase, inctests): New variables.
71173         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
71174         (func_verify_module): Exclude TEMPLATE-TESTS.
71175         (func_verify_nontests_module, func_verify_tests_module): New functions.
71176         (func_get_dependencies): Add implicit dependency for tests modules.
71177         (func_get_tests_module): New function.
71178         (func_modules_transitive_closure): When --with-tests was specified,
71179         include the unit tests as well, unless explicitly avoided.
71180         (func_emit_lib_Makefile_am): Ignore the tests modules here.
71181         (func_emit_tests_Makefile_am): New function.
71182         (func_create_testdir): When --with-tests was specified, emit a
71183         tests/ directory.
71184         * MODULES.html.sh (Future developments): Update.
71185
71186 2005-08-24  Bruno Haible  <bruno@clisp.org>
71187
71188         * modules/tls-tests: New file.
71189         * tests/test-tls.c: New file, from GNU gettext.
71190
71191 2005-08-24  Bruno Haible  <bruno@clisp.org>
71192
71193         * modules/lock-tests: New file.
71194         * tests/test-lock.c: New file, from GNU gettext.
71195
71196 2005-08-24  Bruno Haible  <bruno@clisp.org>
71197
71198         * lib/lock.h: Add multiple inclusion guard.
71199         * lib/tls.h: Add multiple inclusion guard.
71200
71201 2005-08-24  Bruno Haible  <bruno@clisp.org>
71202
71203         * gnulib-tool: Add support for the --aux-dir option to
71204         --create-testdir, --create-megatestdir, --test, --megatest.
71205         (func_create_testdir, func_create_megatestdir): Optionally emit a
71206         AC_CONFIG_AUX_DIR directive.
71207         (create-testdir, create-megatestdir, test, megatest): Provide a
71208         default value for $auxdir.
71209
71210 2005-08-24  Bruno Haible  <bruno@clisp.org>
71211
71212         * gnulib-tool (import): Use compound statement instead of subshell
71213         where possible.
71214
71215 2005-08-24  Bruno Haible  <bruno@clisp.org>
71216
71217         * gnulib-tool (import): Change --aux-dir default to "build-aux".
71218
71219 2005-08-24  Bruno Haible  <bruno@clisp.org>
71220
71221         * gnulib-tool (func_version): Update.
71222
71223 2005-08-24  Bruno Haible  <bruno@clisp.org>
71224
71225         * gnulib-tool (func_import, func_create_testdir,
71226         func_create_megatestdir): Quote all autoconf macro arguments.
71227
71228 2005-08-24  Bruno Haible  <bruno@clisp.org>
71229
71230         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
71231         option --force, because --force causes the aclocal.m4 of each
71232         subdirectory to be newer than the corresponding config.h.in.
71233
71234 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71235
71236         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
71237         All contents moved to gl_REGEX.
71238         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
71239         assume that it does.
71240
71241 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71242
71243         * lib/regex.h (REG_NOSYS)
71244         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
71245         Define, since POSIX requires it as of 2001.
71246         (_REG_ENOSYS)
71247         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
71248         New private symbol, used to keep the enum signed in all cases.
71249         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
71250         Youngman in
71251         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
71252
71253         * lib/regex_internal.c (re_string_skip_chars, register_state):
71254         (calc_state_hash):
71255         Remove forward decls; no longer needed now that we use prototypes.
71256         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
71257         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
71258         (clean_state_log_if_needed): Likewise.
71259
71260 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
71261
71262         * config/srclist.txt: Add glibc bugs 1231-1233.
71263
71264 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71265
71266         Fix problems reported by Sam Steingold in
71267         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
71268         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
71269         assumed that reg_errcode_t is a signed type, which is not
71270         necessarily true if _XOPEN_SOURCE is not defined.
71271         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
71272         since some compilers warn about it otherwise.
71273
71274 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71275
71276         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
71277         (init_word_char, create_initial_state, duplicate_node_closure):
71278         (fetch_token, peek_token_bracket, build_range_exp):
71279         (build_collating_symbol): Remove forward decls; no longer needed
71280         now that we use prototypes.
71281
71282         * lib/regcomp.c:
71283         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
71284         (re_compile_fastmap_iter, regcomp, regerror, regfree):
71285         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
71286         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
71287         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
71288         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
71289         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
71290         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
71291         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
71292         (build_range_exp, build_collating_symbol, parse_bracket_exp):
71293         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
71294         (build_charclass, build_charclass_op, fetch_number, create_tree):
71295         (create_token_tree, mark_opt_subexp, duplicate_tree):
71296         Use prototypes rather than old-style definitions.
71297
71298         * lib/regex_internal.c:
71299         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
71300         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
71301         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
71302         (re_string_reconstruct, re_string_peek_byte_case):
71303         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
71304         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
71305         (re_node_set_init_copy, re_node_set_add_intersect):
71306         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
71307         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
71308         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
71309         (re_acquire_state, re_acquire_state_context, register_state):
71310         (create_ci_newstate, create_cd_newstate, free_state):
71311         Likewise.
71312         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
71313         re_search_2):
71314         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
71315         (re_search_internal, prune_impossible_nodes):
71316         (acquire_init_state_context, check_matching, static):
71317         (check_halt_node_context, check_halt_state_context, proceed_next_node):
71318         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
71319         (update_regs, sift_states_backward, build_sifted_states):
71320         (clean_state_log_if_needed, merge_state_array):
71321         (update_cur_sifted_state, add_epsilon_src_nodes):
71322         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
71323         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
71324         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
71325         (find_recover_state, check_subexp_matching_top, transit_state_mb):
71326         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
71327         (check_arrival, check_arrival_add_next_nodes):
71328         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
71329         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
71330         (check_node_accept_bytes, check_node_accept, extend_buffers):
71331         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
71332         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
71333         (sift_ctx_init):
71334         Likewise.
71335
71336         * lib/regex_internal.h:
71337         (re_string_allocate, re_string_construct, re_string_reconstruct):
71338         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
71339         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
71340         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
71341         (re_string_context_at, re_string_peek_byte_case):
71342         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
71343         is defined, since we now use prototypes always.
71344
71345         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
71346         C89 or better.  All uses removed.
71347
71348 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
71349
71350         * config/srclist.txt: Add glibc bugs 1220-1227.
71351
71352 2005-08-20  Jim Meyering  <jim@meyering.net>
71353
71354         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
71355         of unused local, dfa.
71356
71357 2005-08-20  Bruno Haible  <bruno@clisp.org>
71358
71359         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
71360
71361 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71362
71363         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
71364         (re_node_set_insert_last, re_dfa_add_node):
71365         Rename local variables to avoid GCC shadowing warnings.
71366
71367 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71368
71369         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
71370         [defined lint]: Suppress bogus uninitialized-variable warnings.
71371
71372         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
71373         and let the caller return REG_ESPACE if out of space.  This
71374         removes an uninitialied-variable warning with GCC 4.0.1, and also
71375         avoids taking the address of a local variable.  All callers
71376         changed.
71377
71378 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
71379
71380         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
71381         $LIBCSRC/posix/regexec.c.
71382         Add glibc bug 1217 for regcomp.c.
71383
71384 2005-08-19  Jim Meyering  <jim@meyering.net>
71385
71386         * lib/regexec.c (proceed_next_node): Redo local variables to
71387         avoid GCC shadowing warnings.
71388
71389 2005-08-18  Bruno Haible  <bruno@clisp.org>
71390
71391         * lib/strstr.c (strstr): Fix return value in multibyte case.
71392         * lib/strcasestr.c (strcasestr): Likewise.
71393
71394 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
71395
71396         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
71397
71398 2005-08-17  Jim Meyering  <jim@meyering.net>
71399
71400         Make the %s format (seconds since the epoch) work for a negative
71401         number and when used with a zero-padded field width, e.g. %015s.
71402
71403         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
71404         label so that it precedes the code to set `digits'.  Otherwise,
71405         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
71406         print `00-22'.  Now, it prints `-0022', as it should.
71407
71408 2005-08-17  Bruno Haible  <bruno@clisp.org>
71409
71410         * modules/strstr (Files): Add m4/mbrtowc.m4.
71411         (Depends-on): Add mbuiter.
71412
71413 2005-08-17  Bruno Haible  <bruno@clisp.org>
71414
71415         * modules/strcasestr: New file.
71416         * MODULES.html.sh (String handling, based on ANSI C 89): Add
71417         strcasestr.
71418
71419 2005-08-17  Bruno Haible  <bruno@clisp.org>
71420
71421         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
71422
71423 2005-08-17  Bruno Haible  <bruno@clisp.org>
71424
71425         * modules/mbuiter: New file.
71426         * MODULES.html.sh (Extended multibyte and wide character utilities):
71427         Add mbuiter.
71428
71429 2005-08-17  Bruno Haible  <bruno@clisp.org>
71430
71431         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
71432         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
71433
71434 2005-08-17  Bruno Haible  <bruno@clisp.org>
71435
71436         * m4/strcasestr.m4: New file.
71437
71438 2005-08-17  Bruno Haible  <bruno@clisp.org>
71439
71440         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
71441         * lib/strstr.c: Completely rewritten, with multibyte locale support.
71442
71443 2005-08-17  Bruno Haible  <bruno@clisp.org>
71444
71445         * lib/strcasestr.h: New file.
71446         * lib/strcasestr.c: New file.
71447
71448 2005-08-17  Bruno Haible  <bruno@clisp.org>
71449
71450         * lib/strcasecmp.c: Use mbuiter.h.
71451
71452 2005-08-17  Bruno Haible  <bruno@clisp.org>
71453
71454         * lib/mbuiter.h: New file.
71455
71456 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
71457
71458         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
71459         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
71460         and gl_GETOPT are both invoked via different paths (as happens
71461         with GNU tar CVS because it uses both argp and getopt), the former
71462         wins.
71463
71464 2005-08-16  Bruno Haible  <bruno@clisp.org>
71465
71466         * modules/tls: New file.
71467         * MODULES.html.sh (Multithreading): Add tls.
71468
71469 2005-08-16  Bruno Haible  <bruno@clisp.org>
71470
71471         * modules/strnlen1: New file.
71472         * MODULES.html.sh (String handling): Add strnlen1.
71473
71474 2005-08-16  Bruno Haible  <bruno@clisp.org>
71475
71476         * modules/strcase (Files): Add m4/mbrtowc.m4.
71477         (Depends-on): Add strnlen1, mbchar.
71478
71479 2005-08-16  Bruno Haible  <bruno@clisp.org>
71480
71481         * modules/mbiter: New file.
71482         * MODULES.html.sh (Extended multibyte and wide character utilities):
71483         Add mbiter.
71484
71485 2005-08-16  Bruno Haible  <bruno@clisp.org>
71486
71487         * modules/mbfile: New file.
71488         * MODULES.html.sh (Extended multibyte and wide character utilities):
71489         Add mbfile.
71490
71491 2005-08-16  Bruno Haible  <bruno@clisp.org>
71492
71493         * modules/mbchar: New file.
71494         * MODULES.html.sh (Extended multibyte and wide character utilities):
71495         New section.
71496
71497 2005-08-16  Bruno Haible  <bruno@clisp.org>
71498
71499         * m4/tls.m4: New file, from GNU gettext.
71500
71501 2005-08-16  Bruno Haible  <bruno@clisp.org>
71502
71503         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
71504         always.
71505         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
71506
71507 2005-08-16  Bruno Haible  <bruno@clisp.org>
71508
71509         * m4/mbiter.m4: New file.
71510
71511 2005-08-16  Bruno Haible  <bruno@clisp.org>
71512
71513         * m4/mbfile.m4: New file.
71514
71515 2005-08-16  Bruno Haible  <bruno@clisp.org>
71516
71517         * m4/mbchar.m4: New file.
71518
71519 2005-08-16  Bruno Haible  <bruno@clisp.org>
71520
71521         * lib/tls.h: New file, from GNU gettext.
71522         * lib/tls.c: New file, from GNU gettext.
71523
71524 2005-08-16  Bruno Haible  <bruno@clisp.org>
71525
71526         * lib/strnlen1.h: New file.
71527         * lib/strnlen1.c: New file.
71528
71529 2005-08-16  Bruno Haible  <bruno@clisp.org>
71530
71531         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
71532         (mbi_init): Update.
71533         (mbi_avail, mbi_advance): Let the iteration end before the terminating
71534         NUL byte, not after it.
71535
71536 2005-08-16  Bruno Haible  <bruno@clisp.org>
71537
71538         * lib/strcase.h (strcasecmp): Add note in comments.
71539         * lib/strncasecmp.c: Use code from strcasecmp.c.
71540         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
71541         (strcasecmp): Work correctly in multibyte locales.
71542
71543 2005-08-16  Bruno Haible  <bruno@clisp.org>
71544
71545         * lib/mbiter.h: New file.
71546
71547 2005-08-16  Bruno Haible  <bruno@clisp.org>
71548
71549         * lib/mbfile.h: New file.
71550
71551 2005-08-16  Bruno Haible  <bruno@clisp.org>
71552
71553         * lib/mbchar.h: New file.
71554         * lib/mbchar.c: New file.
71555
71556 2005-08-16  Bruno Haible  <bruno@clisp.org>
71557
71558         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
71559         the valid ones. Makes the comparison operations transitive:
71560         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
71561         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
71562
71563 2005-08-15  Simon Josefsson  <jas@extundo.com>
71564
71565         * modules/ssize_t (License): Change to 'unlimited'.
71566
71567         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
71568
71569 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
71570
71571         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
71572         Add comments for each pending glibc patch.
71573
71574 2005-08-15  Bruno Haible  <bruno@clisp.org>
71575
71576         * lib/regex.h (__restrict_arr): Don't define to __restrict if
71577         __cplusplus is defined.
71578
71579 2005-08-14  Jim Meyering  <jim@meyering.net>
71580
71581         Sync from coreutils.
71582
71583         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
71584         Use the hash-table-based cycle-detection code not just when
71585         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
71586         Reported by James Youngman in
71587         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
71588         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
71589         FTS_TIGHT_CYCLE_CHECK.
71590         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
71591         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
71592         once again.
71593         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
71594         * lib/fts.c (fd_safer): Remove decl.
71595         Include fcntl--.h rather than unistd-safer.h
71596         (fts_safe_changedir): Don't call fd_safer; no longer needed
71597         now that we include fcntl--.h.
71598
71599 2005-08-12  Simon Josefsson  <jas@extundo.com>
71600
71601         * modules/getndelim2: Use ssize_t module.
71602         * modules/getnline: Likewise.
71603         * modules/safe-read: Likewise.
71604         * modules/xreadlink: Likewise.
71605
71606         * modules/ssize_t: New file.
71607
71608 2005-08-12  Simon Josefsson  <jas@extundo.com>
71609
71610         * m4/readline.m4: Look for termcap, curses or ncurses if required.
71611
71612 2005-08-12  Simon Josefsson  <jas@extundo.com>
71613
71614         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71615         ssize_t.
71616
71617 2005-08-12  Simon Josefsson  <jas@extundo.com>
71618
71619         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
71620         readline, getdelim and check_version.
71621         (Support for systems lacking ISO C 99: Sizes of integer types):
71622         Add size_max.
71623
71624 2005-08-12  Bruno Haible  <bruno@clisp.org>
71625
71626         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
71627
71628 2005-08-11  Simon Josefsson  <jas@extundo.com>
71629
71630         * modules/readline: New file.
71631
71632         * modules/strnlen (Files): Add strnlen.h.
71633
71634 2005-08-11  Simon Josefsson  <jas@extundo.com>
71635
71636         * m4/readline.m4: New file.
71637
71638 2005-08-11  Simon Josefsson  <jas@extundo.com>
71639
71640         * lib/readline.h, readline.c: New file.
71641
71642 2005-08-11  Simon Josefsson  <jas@extundo.com>
71643
71644         * doc/gnulib.texi (Initial import, Finishing touches): Mention
71645         gl_AVOID.
71646
71647 2005-08-11  Bruno Haible  <bruno@clisp.org>
71648
71649         * lib/strnlen.h (strnlen): Change parameter name to match comment.
71650
71651 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
71652
71653         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
71654
71655 2005-08-10  Simon Josefsson  <jas@extundo.com>
71656
71657         * tests/test-iconvme.c: New file.
71658
71659 2005-08-10  Simon Josefsson  <jas@extundo.com>
71660
71661         * m4/strnlen.m4: New file.
71662
71663         * m4/strndup.m4: Don't check for strnlen declaration, done in
71664         strnlen.m4.
71665
71666 2005-08-10  Simon Josefsson  <jas@extundo.com>
71667
71668         * lib/strndup.c: Use strnlen.h.
71669
71670         * lib/strnlen.h: New file.
71671
71672 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
71673
71674         * README: Typos.
71675
71676 2005-08-02  Simon Josefsson  <jas@extundo.com>
71677
71678         * modules/readline: New file.
71679
71680 2005-08-02  Simon Josefsson  <jas@extundo.com>
71681
71682         * modules/getdelim: New file.
71683
71684         * modules/getline: Rewrite, don't use getndelim2.
71685
71686 2005-08-02  Simon Josefsson  <jas@extundo.com>
71687
71688         * m4/getline.m4: Separate out getdelim stuff into separate module.
71689
71690         * m4/getdelim.m4: New file.
71691
71692 2005-08-02  Simon Josefsson  <jas@extundo.com>
71693
71694         * lib/getline.h, getline.c: Rewrite.
71695
71696         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
71697
71698 2005-07-31  Bruno Haible  <bruno@clisp.org>
71699
71700         * lib/lock.h (gl_lock_initializer): New macro.
71701         (gl_lock_define_initialized): Use it.
71702         (gl_rwlock_initializer): New macro.
71703         (gl_rwlock_define_initialized): Use it.
71704         (gl_recursive_lock_initializer): New macro.
71705         (gl_recursive_lock_define_initialized): Use it.
71706
71707 2005-07-30  Karl Berry  <karl@gnu.org>
71708
71709         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
71710         Report from Ben Pfaff, regarding getopt.
71711
71712 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
71713
71714         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
71715         normal way.
71716         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
71717         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
71718         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
71719         (gl_GETOPT): Use the new macros.  Most of the implementation
71720         is moved to the new macros.  This is for programs like Emacs
71721         that don't want all the functionality of gl_GETOPT.
71722
71723 2005-07-26  Bruno Haible  <bruno@clisp.org>
71724
71725         * m4/lock.m4: Update from GNU gettext.
71726
71727 2005-07-26  Bruno Haible  <bruno@clisp.org>
71728
71729         * lib/lock.h: Update from GNU gettext.
71730         * lib/lock.c: Update from GNU gettext.
71731
71732 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
71733
71734         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
71735         obsolescent AC_TRY_RUN.  Include the default includes files, for
71736         'exit'.
71737
71738 2005-07-24  Bruno Haible  <bruno@clisp.org>
71739
71740         * modules/visibility: New file.
71741         * MODULES.html.sh (Misc): Add visibility.
71742
71743 2005-07-24  Bruno Haible  <bruno@clisp.org>
71744
71745         * m4/visibility.m4: New file.
71746
71747 2005-07-24  Bruno Haible  <bruno@clisp.org>
71748
71749         * doc/visibility.texi: New file.
71750
71751 2005-07-22  Bruno Haible  <bruno@clisp.org>
71752
71753         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
71754         $(ALLOCA_H), redundant through BUILT_SOURCES.
71755         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
71756         redundant through BUILT_SOURCES.
71757         * modules/byteswap (Makefile.am): Remove explicit dependency on
71758         $(BYTESWAP_H), redundant through BUILT_SOURCES.
71759         * modules/fnmatch (Makefile.am): Remove explicit dependency on
71760         $(FNMATCH_H), redundant through BUILT_SOURCES.
71761         * modules/getopt (Makefile.am): Remove explicit dependency on
71762         $(GETOPT_H), redundant through BUILT_SOURCES.
71763         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
71764         redundant through BUILT_SOURCES.
71765         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
71766         redundant through BUILT_SOURCES.
71767         * modules/stdbool (Makefile.am): Remove explicit dependency on
71768         $(STDBOOL_H), redundant through BUILT_SOURCES.
71769         * modules/stdint (Makefile.am): Remove explicit dependency on
71770         $(STDINT_H), redundant through BUILT_SOURCES.
71771         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
71772         Remove explicit dependency on $(SYSEXITS_H).
71773         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
71774
71775 2005-07-18  Simon Josefsson  <jas@extundo.com>
71776
71777         * lib/check-version.c (check_version): Accept identical versions too.
71778
71779 2005-07-18  Bruno Haible  <bruno@clisp.org>
71780
71781         * modules/lock: New file.
71782         * MODULES.html.sh (Multithreading): New section.
71783
71784 2005-07-18  Bruno Haible  <bruno@clisp.org>
71785
71786         * m4/lock.m4: New file, from GNU gettext.
71787
71788 2005-07-18  Bruno Haible  <bruno@clisp.org>
71789
71790         * lib/lock.h: New file, from GNU gettext.
71791         * lib/lock.c: New file, from GNU gettext.
71792
71793 2005-07-18  Bruno Haible  <bruno@clisp.org>
71794
71795         * lib/lock.h (gl_once_t): New type.
71796         (gl_once_define, gl_once): New macros.
71797         * lib/lock.c (fresh_once): New variable.
71798         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
71799         functions.
71800
71801 2005-07-16  Simon Josefsson  <jas@extundo.com>
71802
71803         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
71804         workaround, suggested by Bruno.
71805
71806 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
71807
71808         * modules/xalloc (Depends-on): Add xalloc-die.
71809         * modules/xvasprintf (Depends-on): Add xalloc-die.
71810
71811 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
71812
71813         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
71814         with a minor change.
71815
71816 2005-07-15  Bruno Haible  <bruno@clisp.org>
71817
71818         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
71819         When using lib/poll.c, define poll as rpl_poll.
71820
71821 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
71822
71823         * modules/argp (Depends-on): Remove unlocked-io.
71824
71825 2005-07-14  Derek Price  <derek@ximbiot.com>
71826
71827         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
71828         for glob symlink bug.
71829
71830 2005-07-14  Bruno Haible  <bruno@clisp.org>
71831
71832         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
71833         Instead, test for *_unlocked function declarations directly.
71834
71835 2005-07-11  Simon Josefsson  <jas@extundo.com>
71836
71837         * modules/size_max: New file.
71838
71839         * modules/xsize: Depend on size_max module for size_max.m4.
71840
71841 2005-07-11  Simon Josefsson  <jas@extundo.com>
71842
71843         * lib/size_max.h: New file.
71844
71845 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
71846
71847         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
71848         copyright symbol and the year.
71849         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
71850         (version_etc_va): Use parameterized copyright notice.
71851         Reword to conform to the current GNU coding standards.
71852
71853 2005-07-11  Karl Berry  <karl@gnu.org>
71854
71855         * doc/gnulib.texi (Quoting): new node.
71856         (Initial import): more info, from Patrice.
71857
71858 2005-07-11  Bruno Haible  <bruno@clisp.org>
71859
71860         * gnulib-tool (func_usage): Document option --avoid.
71861         (Command line options): Handle --avoid.
71862         (func_acceptable): New function.
71863         (func_modules_transitive_closure): Use it.
71864
71865 2005-07-11  Bruno Haible  <bruno@clisp.org>
71866
71867         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
71868         Reported by Jim Meyering.
71869
71870 2005-07-10  Bruno Haible  <bruno@clisp.org>
71871
71872         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
71873         Needed when size_t is smaller than 'unsigned int'.
71874         Reported by Paul Eggert.
71875
71876 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71877
71878         * modules/argp (Depends-on): Add unlocked-io
71879
71880 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
71881
71882         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
71883         block of defines.
71884
71885 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
71886
71887         * config/srclist.txt: Comment out regcomp.c, since we have a porting
71888         fix now.
71889
71890 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
71891         and Paul Eggert  <eggert@cs.ucla.edu>
71892
71893         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
71894         in wint_t, not wchar_t.  Remove now-unnecessary cast.
71895
71896 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71897
71898         * modules/regex (Files): Add lib/regex_internal.c,
71899         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
71900         (Depends-on): Add extensions.
71901         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
71902
71903 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71904
71905         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
71906         pathconf.
71907         * m4/same.m4 (gl_SAME): Likewise.
71908         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
71909
71910         * m4/regex.m4: Adjust to new libc regex implementation.
71911         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
71912         all the .c and .h parts of (the new) regex.
71913         Quote the m4 stuff better.
71914         Check for RE_ICASE bug of old gnulib.
71915         Check for REG_STARTEND of recent libc.
71916         Rename local variables from jm_* to gl_*.
71917         Quote operand of "test -f".
71918         Say "recent enough" version of libc, not "version 2".
71919         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
71920         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
71921         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
71922         Remove check for btowc, isascii.
71923         Require AM_LANGINFO_CODESET.
71924
71925 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71926
71927         * lib/regex.c, regex.h: Sync from libc.
71928         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
71929         * lib/regexec.c:
71930         New files, synced from libc, except that regex_internal.h
71931         currently has a small porting fix.
71932
71933 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
71934
71935         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
71936         regex_internal.c, regexec.c.
71937         Add regex_internal.h too, but as a comment, since the libc version
71938         is currently broken in gnulib mode.
71939
71940 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
71941
71942         Support programs like Emacs that use gnulib but not gettext.
71943         * MODULES.html.sh (Internationalization functions): Add gettext-h.
71944         * modules/gettext-h: New file.
71945         * modules/gettext (Files): Remove lib/gettext.h.
71946         (Depends-on): Add gettext-h.
71947         (Makefile.am): Remove lib_SOURCES.
71948         * modules/argmatch, modules/c-stack, modules/closeout:
71949         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
71950         * modules/execute, modules/file-type, modules/getaddrinfo:
71951         * modules/getopt, modules/human, modules/javacomp:
71952         * modules/javaexec, modules/mkdir-p, modules/obstack:
71953         * modules/openat, modules/pagealign_alloc, modules/pipe:
71954         * modules/quotearg, modules/regex, modules/rpmatch:
71955         * modules/unicodeio, modules/userspec, modules/version-etc:
71956         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
71957         * modules/xsetenv:
71958         Depend on gettext-h, not gettext.
71959
71960 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
71961
71962         * gnulib-tool (func_import): Add support for 'public domain' license.
71963         * modules/alloca, modules/atexit, modules/memmove:
71964         Now public domain, not GPL.
71965         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
71966         * modules/realloc, modules/strerror, modules/strtod:
71967         Now LGPL, not GPL.
71968
71969 2005-07-05  Bruno Haible  <bruno@clisp.org>
71970
71971         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
71972         autoconf CVS. Needed for mingw.
71973
71974 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71975
71976         Remove the dependency of the strftime module on the tzset module.
71977         * modules/strftime (Depends-on): Remove dependency on tzset.
71978
71979 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71980
71981         Remove the dependency of the strftime module on the tzset module.
71982         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
71983         gl_FUNC_TZSET_CLOBBER.
71984
71985 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
71986
71987         Remove the dependency of the strftime module on the tzset module.
71988         * lib/strftime.c (my_strftime)
71989         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
71990         Copy the input structure, to work around some of the bug with
71991         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
71992         Solaris releases, you should also use the tzset module, but we won't
71993         require it as a dependency any more since we don't want LGPLed code
71994         to depend on GPLed code.
71995
71996 2005-07-02  Jim Meyering  <jim@meyering.net>
71997
71998         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
71999         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
72000         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
72001         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
72002
72003 2005-07-02  Jim Meyering  <jim@meyering.net>
72004
72005         * lib/backupfile.c (backup_args): Change a `0' to NULL.
72006
72007 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
72008
72009         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
72010         declares only 'struct timespec;' (!).
72011
72012 2005-07-01  Jim Meyering  <jim@meyering.net>
72013
72014         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
72015         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
72016         * lib/save-cwd.c, tempname.c:
72017         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
72018         and don't include <sys/file.h>).
72019
72020 2005-06-29  Jim Meyering  <jim@meyering.net>
72021
72022         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
72023         type name.  Use the variable name instead.
72024         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
72025         Likewise.
72026
72027 2005-06-28  Simon Josefsson  <jas@extundo.com>
72028
72029         * modules/check-version (Files): Add check-version.m4.
72030
72031 2005-06-28  Simon Josefsson  <jas@extundo.com>
72032
72033         * m4/check-version.m4: New file, suggested by Jim Meyering
72034         <jim@meyering.net>.
72035
72036 2005-06-28  Simon Josefsson  <jas@extundo.com>
72037
72038         * lib/check-version.h, lib/check-version.c: New files.
72039
72040 2005-06-28  Simon Josefsson  <jas@extundo.com>
72041
72042         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
72043         collision with global variable.  Better indentation.  Don't
72044         increment buffer pointer beyond buffer end.  Based on comments
72045         from Paul Eggert <eggert@cs.ucla.edu>.
72046
72047         * lib/base64.h: Indent.
72048
72049 2005-06-28  Simon Josefsson  <jas@extundo.com>
72050
72051         * doc/gnulib.texi (Library version handling): New section.
72052
72053 2005-06-28  Jim Meyering  <jim@meyering.net>
72054
72055         * check-module (find_included_lib_files): Hard-code another
72056         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
72057         but modules/fts-lgpl (correctly) does not list those files.
72058
72059         * modules/canonicalize (Files): Add lib/pathmax.h.
72060
72061 2005-06-25  Simon Josefsson  <jas@extundo.com>
72062
72063         * modules/check-version: New file.
72064
72065 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
72066
72067         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
72068         initializer of struct addrinfo, as an indication that we don't
72069         care how many members the structure has.
72070
72071 2005-06-24  Derek Price  <derek@ximbiot.com>
72072         and Bruno Haible  <bruno@clisp.org>
72073
72074         Remove stat module & update lstat.
72075         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
72076         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
72077         * m4/stat.m4: Remove this file.
72078
72079 2005-06-24  Derek Price  <derek@ximbiot.com>
72080         and Bruno Haible  <bruno@clisp.org>
72081
72082         Remove stat module & update lstat.
72083         * lib/stat.c: Remove this file...
72084         (slash_aware_lstat): ...moving this content and its support...
72085         * lib/lstat.c (rpl_lstat): ...into here.
72086         * lib/lstat.h: New file.
72087
72088 2005-06-24  Derek Price  <derek@ximbiot.com>
72089         and Bruno Haible  <bruno@clisp.org>
72090
72091         Remove stat module & update lstat.
72092         * config/srclist.txt (libc sources): Remove stat.
72093
72094 2005-06-24  Derek Price  <derek@ximbiot.com>
72095         and Bruno Haible  <bruno@clisp.org>
72096
72097         Remove stat module & update lstat.
72098         * MODULES.html.sh (stat): Remove.
72099         * MODULES.html: Regenerated.
72100         * modules/lstat (Description): Correct function name.
72101         (Files): Add "lstat.h".
72102         (Depends-on): Remove stat, add xalloc, stat-macros.
72103         * modules/stat: Remove this file.
72104         (Include): Add "lstat.h", remove <sys/stat.h>.
72105
72106 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
72107
72108         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
72109         (ranged_convert): Don't save conversion in a temporary struct.
72110         This causes a warning with GCC 4.0.0, and anyway in the typical
72111         case it's not worth the extra 100 bytes or so of code.
72112         (ranged_convert, __mktime_internal): When calling a function via a
72113         pointer P, use P () rather than (*P) (), as we now assume C89 or
72114         better.
72115
72116 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72117
72118         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
72119         "who -r" failed to give output.  Problem reported by Tim Waugh.
72120
72121         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
72122         (xcalloc): Use it to avoid needless tests.
72123         Problem reported by Jim Meyering.
72124
72125 2005-06-20  Derek Price  <derek@ximbiot.com>
72126
72127         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
72128         unnecessary for Autoconfs > 2.59c.
72129
72130 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72131
72132         * lib/argp.h (__option_is_short): Check upper limit of
72133         __key. Isprint() requires its argument to have the value
72134         of an unsigned char or EOF.
72135
72136 2005-06-16  Jim Meyering  <jim@meyering.net>
72137
72138         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
72139         when either N or S is zero.
72140
72141 2005-06-16  Derek Price  <derek@ximbiot.com>
72142
72143         * m4/bison.m4: Declare YACC & YFLAGS precious.
72144
72145 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
72146
72147         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
72148         multibyte string or pattern, fall back on unibyte matching.
72149         Problem reported by James Youngman.
72150
72151 2005-06-08  Bruno Haible  <bruno@clisp.org>
72152
72153         * modules/csharpcomp: New file.
72154         * MODULES.html.sh (C#): Add csharpcomp.
72155
72156 2005-06-08  Bruno Haible  <bruno@clisp.org>
72157
72158         * m4/csharpcomp.m4: New file, from GNU gettext.
72159
72160 2005-06-08  Bruno Haible  <bruno@clisp.org>
72161
72162         * lib/csharpcomp.h: New file, from GNU gettext.
72163         * lib/csharpcomp.c: New file, from GNU gettext.
72164         * lib/csharpcomp.sh.in: New file, from GNU gettext.
72165
72166 2005-06-08  Bruno Haible  <bruno@clisp.org>
72167
72168         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
72169         warning on mingw.
72170
72171 2005-06-07  Derek Price  <derek@ximbiot.com>
72172
72173         Sync from CVS.
72174         * lib/glob_.h: Indent nested #ifdef.
72175
72176 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
72177
72178         Sync from coreutils.
72179         Use "file name" when talking about file names, instead of "filename"
72180         or "path", as per the GNU coding standards.
72181         * lib/mkdir-p.c: Renamed from makepath.c.
72182         (make_dir_parents): Renamed from make_path.  All callers changed.
72183         * lib/mkdir-p.h: Likewise.  All includers changed.
72184         * lib/filenamecat.c: Renamed from path-concat.c.
72185         (file_name_concat): Renamed from path_concat.  All callers changed.
72186         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
72187         * lib/filenamecat.h: Likewise.  All includers changed.
72188         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
72189         in comments or local variable names.
72190         * lib/basename.c: Likewise.
72191         * lib/canonicalize.c, canonicalize.h: Likewise.
72192         * lib/dirname.c, dirname.h: Likewise.
72193         * lib/euidaccess.c: Likewise.
72194         * lib/exclude.c: Likewise
72195         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
72196         * lib/fsusage.c, fsuage.h: Likewise.
72197         * lib/fts.c, fts_.h: Likewise.
72198         * lib/getcwd.c: Likewise.
72199         * lib/getloadavg.c: Likewise.
72200         * lib/mkstemp.c: Likewise.
72201         * lib/mountlist.c, mountlist.h: Likewise.
72202         * lib/openat.c, openat.h: Likewise.
72203         * lib/readlink-stub.c: Likewise.
72204         * lib/readutmp.c, readutmp.h: Likewise.
72205         * lib/rename.c: Likewise.
72206         * lib/rmdir.c: Likewise.
72207         * lib/same.c: Likewise.
72208         * lib/savedir.c: Likewise.
72209         * lib/stripslash.c: Likewise.
72210         * lib/tempname.c: Likewise.
72211         * lib/xreadlink.c: Likewise.
72212         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
72213         All uses changed.
72214         * lib/exclude.h: Likewise.
72215
72216         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
72217         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
72218         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
72219         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
72220         * lib/pathmax.h: Include <limits.h> unconditionally, since other
72221         files have been getting away with it for years (MORE/BSD 4.3
72222         is extinct now).
72223         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
72224         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
72225
72226         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
72227         Define to 256, not 255, as per modern POSIX.
72228
72229 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
72230
72231         Sync from coreutils.
72232         Use "file name" when talking about file names, instead of "filename"
72233         or "path", as per the GNU coding standards.
72234         * MODULES.html.sh: mkdir-p renamed from makepath.
72235         filenamecat renamed from path-concat.
72236         * modules/filenamecat: Renamed from modules/path-concat.
72237         (Files): filenamecat.h and filenamecat.c renamed from
72238         path-concat.h and path-concat.c.
72239         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
72240         (Include): filenamecat.h, not path-concat.h.
72241         * modules/mkdir-p: Renamed from modules/makepath.
72242         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
72243         makepath.c.
72244         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
72245         (Include): mkdir-p.h, not makepath.h.
72246
72247 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
72248
72249         Sync from coreutils.
72250         * m4/mkdir-p.m4: Renamed from makepath.m4.
72251         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
72252         Rename files from makepath.c to mkdir-p.c, and from
72253         makepath.h to mkdir-p.h.
72254         * m4/filenamecat.m4: Renamed from path-concat.m4.
72255         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
72256         Rename files from path-concat.c to filenamecat.c,
72257         and from path-concat.h to filenamecat.h.
72258         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
72259         "file name" in local variables or comments.
72260         * m4/rename.m4: Likewise.
72261
72262 2005-06-01  Bruno Haible  <bruno@clisp.org>
72263
72264         * modules/csharpexec: New file.
72265         * MODULES.html.sh (C#): New section.
72266
72267 2005-06-01  Bruno Haible  <bruno@clisp.org>
72268
72269         * m4/csharp.m4: New file, from GNU gettext.
72270         * m4/csharpexec.m4: New file, from GNU gettext.
72271
72272 2005-06-01  Bruno Haible  <bruno@clisp.org>
72273
72274         * lib/csharpexec.h: New file, from GNU gettext.
72275         * lib/csharpexec.c: New file, from GNU gettext.
72276         * lib/csharpexec.sh.in: New file, from GNU gettext.
72277
72278 2005-05-31  Derek Price  <derek@ximbiot.com>
72279             Paul Eggert  <eggert@cs.ucla.edu>
72280
72281         Sync from cvs.
72282         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
72283
72284 2005-05-31  Derek Price  <derek@ximbiot.com>
72285             Paul Eggert  <eggert@cs.ucla.edu>
72286
72287         Sync from cvs.
72288         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
72289
72290 2005-05-29  Derek Price  <derek@ximbiot.com>
72291
72292         * config/srclist.txt (glob_.h, glob.c): Add these files.
72293
72294 2005-05-29  Derek Price  <derek@ximbiot.com>
72295
72296         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
72297         * modules/glob: New file.
72298         * modules/getlogin_r: Add link to POSIX spec in description.
72299
72300 2005-05-29  Derek Price  <derek@ximbiot.com>
72301             Paul Eggert  <eggert@cs.ucla.edu>
72302
72303         * m4/glob.m4: New file.
72304
72305 2005-05-29  Derek Price  <derek@ximbiot.com>
72306             Paul Eggert  <eggert@cs.ucla.edu>
72307
72308         * lib/glob_.h, lib/glob.c: New files.
72309
72310 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
72311
72312         * modules/fts (Files): Remove m4/inttypes-pri.m4.
72313         * modules/fts-lgpl (Depends-on): Remove gettext.
72314
72315 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
72316
72317         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
72318         and don't require gt_INTTYPES_PRI.
72319
72320 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
72321
72322         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
72323
72324         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
72325         the configuration hassle isn't worth it.
72326         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
72327         (LONGEST_MODIFIER, PRIuMAX): Remove.
72328
72329 2005-05-27  Bruno Haible  <bruno@clisp.org>
72330
72331         * lib/getlogin_r.h: Remove second include of <stddef.h>.
72332
72333 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
72334
72335         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
72336         _POSIX_PTHREAD_SEMANTICS for Solaris.
72337
72338 2005-05-25  Derek Price  <derek@ximbiot.com>
72339
72340         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
72341
72342 2005-05-25  Derek Price  <derek@ximbiot.com>
72343             Paul Eggert  <eggert@cs.ucla.edu>
72344
72345         * modules/getlogin_r, m4/getlogin_r.m4: New files.
72346         * lib/getlogin_r.c, getlogin_r.h: New files.
72347
72348 2005-05-25  Bruno Haible  <bruno@clisp.org>
72349             Derek Price  <derek@ximbiot.com>
72350
72351         * lib/getlogin_r.h: Simplify API documentation.
72352
72353 2005-05-23  Derek Price  <derek@ximbiot.com>
72354
72355         * modules/minmax (Files): Add m4/minmax.m4.
72356         (configure.ac): Add gl_MINMAX.
72357
72358 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
72359
72360         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
72361         so that unistd-safer.h (GPL'ed code) need not be included.
72362
72363 2005-05-22  Bruno Haible  <bruno@clisp.org>
72364
72365         * m4/minmax.m4: New file.
72366         Based on a patch by Derek Price <derek@ximbiot.com>.
72367
72368 2005-05-22  Bruno Haible  <bruno@clisp.org>
72369
72370         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
72371         (INT64_MIN): Fix definition.
72372         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
72373
72374         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
72375         NEED_SIGNED_INT_TYPES.
72376
72377         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
72378         HAVE_SYSTEM_INTTYPES.
72379
72380 2005-05-22  Bruno Haible  <bruno@clisp.org>
72381
72382         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
72383         Also include <sys/param.h> if it defines MIN, MAX.
72384         Based on a patch by Derek Price <derek@ximbiot.com>.
72385
72386 2005-05-21  Jim Meyering  <jim@meyering.net>
72387
72388         * modules/fts (Files): Add m4/inttypes-pri.m4.
72389         (Depends-on): Add lstat and remove gettext.  Alphabetize.
72390
72391 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
72392
72393         New fts module.
72394         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
72395         (setup_dir, free_dir): New functions.
72396         (enter_dir, leave_dir): Define trivial
72397         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
72398         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
72399         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
72400         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
72401         Move to fts-cycle.c.
72402         (fts_open): Use setup_dir.
72403         (fts_close): Use free_dir.
72404         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
72405         This adds a label and some gotos, but the alternatives were messier.
72406         Check for memory allocation failure when entering a dir.
72407         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
72408         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
72409         (FTS): New member fts_cycle, that is a union that contains the
72410         old active_dir_ht and cycle_state.  All uses changed to mention
72411         fts_cycle.ht and fts_cycle.state.
72412         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
72413         fts.c, with the following changes:
72414         (setup_dir, free_dir): New functions.
72415         (enter_dir): Now returns bool.  Return true if successful, false
72416         if memory exhausted.  All callers changed.
72417         Do not bother partly cleaning up on
72418         memory allocation failure; that is free_dir's job.
72419         However, free ad if hash_insert fails, to avoid memory leak.
72420         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
72421         fts->fts_options to see which union member to use.
72422
72423 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
72424
72425         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
72426         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
72427
72428 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
72429
72430         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
72431
72432 2005-05-20  Jim Meyering  <jim@meyering.net>
72433
72434         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
72435         Now a macro, to pacify GCC.
72436
72437 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
72438
72439         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
72440         of -1.
72441
72442 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
72443
72444         * lib/chown.c (rpl_chown): Return -1 on failure.
72445
72446 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
72447
72448         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
72449         Don't check for stddef.h.
72450         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
72451         don't use its results.
72452         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
72453         since we include them unconditionally.  Don't require
72454         AM_STDBOOL_H, since stdbool is a prerequisite.
72455         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
72456         since we assume C89 or better.
72457         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
72458         as we don't use their results.
72459         Don't check for fchdir, memmove, memset, strrchr, as we use
72460         them unconditionally.
72461         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
72462         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
72463
72464 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
72465
72466         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
72467         Include <stddef.h> unconditionally, since we assume C89 now.
72468         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
72469         * lib/fts.c: Include fts_.h first, to check interface.
72470         Do not include intprops.h; no longer needed.
72471         Include cycle-check.h and hash.h, since fts_.h no longer does.
72472         Remove unnecessary casts of closedir to void.
72473         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
72474         decide whether to decrement nlinks.
72475         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
72476         (FTS): Use struct hash_table * instead of Hash_table, so that
72477         we no longer need to include hash.h here.
72478
72479 2005-05-18  Jim Meyering  <jim@meyering.net>
72480
72481         * modules/dirfd (License): Change to LGPL.  Most of the code
72482         is already in the public domain.
72483
72484 2005-05-18  Jim Meyering  <jim@meyering.net>
72485
72486         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
72487         Reported by Yoann Vandoorselaere.
72488
72489 2005-05-17  Jim Meyering  <jim@meyering.net>
72490
72491         * m4/fts.m4: New file, from coreutils.
72492
72493 2005-05-17  Jim Meyering  <jim@meyering.net>
72494
72495         * lib/fts.c, lib/fts_.h: New files, from coreutils.
72496
72497 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72498
72499         Sync from coreutils.
72500         * m4/unlinkdir.m4: New file.
72501
72502 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72503
72504         Sync from coreutils.
72505         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
72506         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
72507         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
72508         White space changes only.
72509         * lib/makepath.c (make_path): Port to hosts where leading "//" is
72510         special.
72511         * lib/yesno.c: Include getline.h, not ctype.h.
72512         (yesno): Don't remove leading white space; POSIX doesn't allow it.
72513         Use getline to remove arbitrary restriction on response length.
72514
72515 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
72516
72517         * config/srclist-update: Spell out "Street" in FSF postal
72518         mail address; this is the style the FSF seems to prefer.
72519
72520         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
72521         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
72522         this updates FSF postal mail address.
72523
72524         Sync from coreutils.
72525         * modules/unlinkdir: New file.
72526         * modules/yesno (Depends-on): Add getline.
72527         * MODULES.html.sh (File system functions): Add unlinkdir.
72528
72529 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72530
72531         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
72532         lib/strsep.h:
72533         Change the initial comment to refer to GPL, not LGPL.
72534         gnulib-tool will change it to LGPL as needed.
72535
72536         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
72537         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
72538         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
72539         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
72540         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
72541         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
72542         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
72543         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
72544         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
72545         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
72546         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
72547         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
72548         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
72549         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
72550         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
72551         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
72552         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
72553         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
72554         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
72555         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
72556         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
72557         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
72558         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
72559         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
72560         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
72561         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
72562         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
72563         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
72564         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
72565         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
72566         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
72567         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
72568         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
72569         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
72570         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
72571         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
72572         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
72573         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
72574         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
72575         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
72576         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
72577         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
72578         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
72579         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
72580         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
72581         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
72582         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
72583         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
72584         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
72585         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
72586         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
72587         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
72588         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
72589         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
72590         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
72591         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
72592         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
72593         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
72594         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
72595         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
72596         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
72597         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
72598         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
72599         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
72600         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
72601         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
72602         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
72603         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
72604         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
72605         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
72606         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
72607         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
72608         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
72609         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
72610         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
72611         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
72612         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
72613         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
72614         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
72615         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
72616         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
72617         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
72618         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
72619         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
72620         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
72621         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
72622         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
72623         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
72624         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
72625         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
72626         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
72627         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
72628         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
72629         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
72630         lib/yesno.c, lib/yesno.h:
72631         Update FSF postal mail address.
72632
72633 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
72634
72635         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
72636         tests/test-memmem.c, tests/test-stpncpy.c:
72637         Update FSF postal mail address.
72638
72639 2005-05-13  Bruno Haible  <bruno@clisp.org>
72640
72641         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
72642         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
72643         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
72644         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
72645         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
72646         Add support for 64-bit integers in the MSVC compiler.
72647
72648 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72649
72650         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
72651
72652 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
72653
72654         * gnulib-tool (func_import): Sort and uniquify recommended includes.
72655
72656 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
72657
72658         * doc/getdate.texi (General date syntax): Don't say that date
72659         date --iso-8601=ns generates acceptable dates; it doesn't yet.
72660         Problem reported by Nic Ferrier.
72661
72662 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72663
72664         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
72665         specified in ai_socktype. Fix invalid ai_protocol
72666         check. ai_protocol is usually set to 0 or depending on
72667         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
72668         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
72669         ai_socktype / ai_protocol in the returned addrinfo structure.
72670
72671 2005-05-10  Simon Josefsson  <jas@extundo.com>
72672
72673         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
72674         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
72675
72676 2005-05-10  Karl Berry  <karl@gnu.org>
72677
72678         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
72679         (from http://www.gnu.org/licenses).
72680         * doc/COPYING.LIB: also rename to COPYING.LESSER.
72681         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
72682         fdl.texi suffices.
72683
72684 2005-05-10  Karl Berry  <karl@gnu.org>
72685
72686         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
72687         (COPYING.DOC): remove.
72688
72689         * config/srclist-update: new FSF address.
72690
72691 2005-05-10  Derek Price  <derek@ximbiot.com>
72692
72693         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
72694         possible.
72695
72696 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72697             Bruno Haible  <bruno@clisp.org>
72698
72699         * modules/inet_ntop: New file.
72700         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72701         inet_ntop.
72702
72703 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72704             Bruno Haible  <bruno@clisp.org>
72705
72706         * m4/inet_ntop.m4: New file.
72707
72708 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72709             Bruno Haible  <bruno@clisp.org>
72710
72711         * lib/inet_ntop.h: New file.
72712         * lib/inet_ntop.c: New file, from glibc with modifications.
72713
72714 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
72715
72716         * modules/time_r (License): Change to LGPL.
72717         * modules/extensions (License): Change to LGPL.  Actually,
72718         the license is more permissive than that, but currently gnulib-tool
72719         doesn't know how to handle more-permissive licenses.
72720
72721         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
72722         Problem reported by Dave Love.
72723
72724 2005-05-08  Jim Meyering  <jim@meyering.net>
72725
72726         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
72727         blank.
72728
72729 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
72730
72731         * modules/argmatch (Depends-on): Add stdbool.
72732         * modules/backupfile (Depends-on): Likewise.
72733         * modules/chdir-long (Depends-on): Likewise.
72734         * modules/closeout (Depends-on): Likewise.
72735         * modules/cycle-check (Depends-on): Likewise.
72736         * modules/dirname (Depends-on): Likewise.
72737         * modules/fnmatch (Depends-on): Likewise.
72738         * modules/fsusage (Depends-on): Likewise.
72739         * modules/fwriteerror (Depends-on): Likewise.
72740         * modules/getcwd (Depends-on): Likewise.
72741         * modules/getloadavg (Depends-on): Likewise.
72742         * modules/hard-locale (Depends-on): Likewise.
72743         * modules/makepath (Depends-on): Likewise.
72744         * modules/mountlist (Depends-on): Likewise.
72745         * modules/nanosleep (Depends-on): Likewise.
72746         * modules/posixtm (Depends-on): Likewise.
72747         * modules/quotearg (Depends-on): Likewise.
72748         * modules/readtokens (Depends-on): Likewise.
72749         * modules/readtokens0 (Depends-on): Likewise.
72750         * modules/readutmp (Depends-on): Likewise.
72751         * modules/save-cwd (Depends-on): Likewise.
72752         * modules/strftime (Depends-on): Likewise.
72753         * modules/userspec (Depends-on): Likewise.
72754         * modules/utimecmp (Depends-on): Likewise.
72755         * modules/xgetcwd (Depends-on): Likewise.
72756         * modules/xnanosleep (Depends-on): Likewise.
72757         * modules/xstrtod (Depends-on): Likewise.
72758         * modules/yesno (Depends-on): Likewise.
72759
72760 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
72761
72762         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
72763         needless checks.
72764
72765 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72766
72767         Merge from coreutils.  Among other things,
72768         add bulletproofing for cases where stdin, stdout, or stderr are closed.
72769         * lib/fd-safer.c: New file.
72770         * lib/fcntl-safer.h, open-safer.c: Remove.
72771         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
72772         * lib/dup-safer.c: Include unistd-safer.h first.
72773         Don't include errno.h.
72774         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
72775         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
72776         * lib/file-type.c: Rely on file-type.h change.
72777         * lib/getloadavg.c: Include unistd-safer.h.
72778         (getloadavg): Use safer open.
72779         * lib/getusershell.c: Include "stdio-safer.h".
72780         (getusershell): Use safer fopen.
72781         * lib/long-options.c (long_options): Use NULL rather than 0.
72782         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
72783         'free'.
72784         * lib/modechange.c: Likewise.
72785         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
72786         (MODE_DONE): New constant.
72787         (struct mode_change): Remove 'next' member.
72788         (make_node_op_equals): New function; like the old one of the
72789         same name, except it allocates an array.
72790         (mode_compile, mode_create_from_ref): Use it.
72791         (mode_compile): Allocate result as an array, not a linked list.
72792         Parse octal string ourself, so that we catch mistakes like "+0".
72793         (mode_adjust): Arg is an array, not a linked list.
72794         * lib/modechange.c: Include stat-macros.h, xalloc.h.
72795         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
72796         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
72797         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
72798         Remove.  This is now stat-macros.h's job.
72799         (talloc): Remove.  All callers replaced by xalloc, so that
72800         our invokers don't have to worry about reporting memory failures.
72801         (make_node_op_equals): Remove.
72802         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
72803         New constants.
72804         (struct mode_change): Moved here from modechange.h.
72805         (mode_append_entry): Remove.
72806         (mode_compile): Remove MASKED_OPS arg, since it encouraged
72807         apps to have incorrect behavior.  Use simpler algorithm for head
72808         and tail.  Don't futz with umask; that's now the job of mode_adjust.
72809         Detect more invalid usages rather than having somewhat-random behavior.
72810         Don't insert an "a=" action, as that leads to incorrect behavior.
72811         (mode_compile, mode_create_from_ref): Return NULL on error instead
72812         of an enum, since now there's only one way to have an error.  All
72813         callers changed.
72814         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
72815         at the correct time.  Simplify calculation of "+u" and its ilk.
72816         Don't mishandle "+X".
72817         (mode_free): Remove "register" and localize decls.
72818         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
72819         (struct mode_change): Move to modechange.c; callers don't
72820         need to see this stuff.
72821         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
72822         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
72823         (mode_change, mode_adjust): Reflect the new signatures noted above.
72824         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
72825         that might redefine system include files.
72826         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
72827         (my_usleep): Use NULL rather than (void *) 0.
72828         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
72829         Use siginterrupt to specify that system calls should be interrupted.
72830         (rpl_nanosleep): Move initialization of suspended closer to call of
72831         my_usleep.
72832         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
72833         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
72834         (desirable_utmp_entry): New function.
72835         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
72836         using x2nrealloc, to simplify logic.
72837         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
72838         size calculation.  Do not assume utmp file is a regular file.
72839         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
72840         (READ_UTMP_CHECK_PIDS): New constant.
72841         * lib/save-cwd.c: Include unistd-safer.h.
72842         (save_cwd): Use fd_safer.
72843         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
72844         [!_LIBC] Include "stat-macros.h" instead.
72845         * lib/unistd-safer.h (fd_safer): New decl.
72846
72847 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72848
72849         * modules/getloadavg (Depends-on): Add unistd-safer.
72850         * modules/getusershell (Depends-on): Add stdio-safer.
72851         * modules/lstat (Depends-on): Remove xalloc.
72852         * modules/mkstemp (Depends-on): Add stat-macros.
72853         * modules/modechange (Depends-on): Remove xstrtol.
72854         Add stat-macros, xalloc.
72855         * modules/save-cwd (Depends-on): Add unistd-safer.
72856         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
72857         * modules/unistd-safer (Files): Add lib/fd-safer.c
72858         (Makefile.am): Remove lib_SOURCES.
72859
72860         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
72861         Remove fcntl-safer; unistd-safer supersedes it.
72862
72863 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72864
72865         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
72866         AC_HEADER_STAT.
72867         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
72868         (gl_PREREQ_CHOWN): Remove.
72869         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
72870         it.  Don't require AC_HEADER_STAT.
72871         (gl_PREREQ_LSTAT): Remove.
72872         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
72873         Don't require AC_HEADER_STAT.
72874         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
72875         (gl_PREREQ_RMDIR): Remove.
72876         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
72877         mention stat-macros.h or AC_HEADER_STAT, since we'll make
72878         the stat-macros module a prerequisite.
72879         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
72880         * m4/filemode.m4 (gl_FILEMODE): Likewise.
72881         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
72882         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
72883         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
72884         variable names.
72885         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
72886         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
72887         variable prefixes.
72888         * m4/fcntl-safer.m4: Remove.
72889         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
72890         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
72891         Invoke gl_PREREQ_FD_SAFER.
72892         (gl_PREREQ_FD_SAFER): New macro.
72893         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
72894         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
72895         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
72896         Remove duplicate call to AC_LIBOBJ(readutmp).
72897         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
72898
72899         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
72900         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
72901
72902 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
72903
72904         * MODULES.html.sh (Misc): Add byteswap.
72905
72906 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72907
72908         * modules/getcwd (Depends-on): Add extensions.
72909         * modules/openat (Depends-on): Likewise.
72910
72911 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72912
72913         * modules/byteswap: New file.
72914
72915 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72916
72917         * m4/byteswap.m4: New file.
72918
72919 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
72920
72921         * lib/byteswap_.h: New file.
72922
72923 2005-04-25  Karl Berry  <karl@gnu.org>
72924
72925         * m4/gettext.m4: Update from GNU gettext 0.14.4.
72926
72927 2005-04-25  Albert Chin  <china@thewrittenword.com>
72928
72929         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
72930         Toolkit C bug.
72931
72932 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
72933
72934         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
72935         (func_ln_if_changed): Remove forcibly for no error message
72936         in case file does not exist.
72937
72938 2005-04-19  Simon Josefsson  <jas@extundo.com>
72939
72940         * gnulib-tool (Options): Make --symlink mean --symbolic.
72941
72942 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
72943
72944         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
72945
72946 2005-04-16  Simon Josefsson  <jas@extundo.com>
72947
72948         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
72949
72950 2005-04-15  Simon Josefsson  <jas@extundo.com>
72951
72952         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
72953
72954 2005-04-15  Simon Josefsson  <jas@extundo.com>
72955
72956         * gnulib-tool: Rename --symlink to --symbolic.
72957
72958 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
72959
72960         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
72961         symbolic links to files instead of copying/moving.  Add --aux-dir,
72962         specifying directory relative --dir where auxiliary build tools
72963         are placed.
72964
72965 2005-04-14  Bruno Haible  <bruno@clisp.org>
72966
72967         * modules/allocsa (License): Change to LGPL.
72968         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
72969
72970 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
72971
72972         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
72973         that "UTC +1 second" continues to work.  Problem reported
72974         by Dmitry V. Levin.
72975         (relunit_snumber): New rule.
72976         (relunit): Use it.
72977
72978 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
72979
72980         * lib/getdate.y (universal_time_zone_table): New constant.
72981         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
72982         universal_time_zone_table.
72983         (lookup_zone): Prefer universal_time_zone_table to
72984         local_time_zone_table, so that "GMT" time stamps are allowed in
72985         London during the summer.  Problem reported by Ian Abbott.
72986
72987 2005-04-12  Jim Meyering  <jim@meyering.net>
72988
72989         * lib/human.c (humblock): Set *options even when returning due to
72990         xstrtoumax conversion failure.  Thanks to a used-uninitialized
72991         warning from gcc-4.
72992
72993 2005-04-09  Jim Meyering  <jim@meyering.net>
72994
72995         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
72996         -Wuninitialized: initialize tm0.tm_year.
72997
72998 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
72999
73000         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
73001         count, since there's no maximum.  All uses changed.
73002         Add member dsts_seen.
73003         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
73004         not being INT_MAX.
73005         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
73006         Use pc_rels_seen to decide whther a date is absolute.
73007
73008         * lib/getdate.y (number): Don't overwrite year.
73009         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
73010         check.
73011
73012 2005-04-02  Simon Josefsson  <jas@extundo.com>
73013
73014         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
73015         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
73016
73017 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
73018
73019         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
73020         where no absolute path name can be longer than PATH_MAX.
73021
73022 2005-03-27  Jim Meyering  <jim@meyering.net>
73023
73024         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
73025
73026 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
73027
73028         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
73029         "one's complement" -> "ones' complement" in comment, as per Knuth.
73030         "value of type" -> "type or expression" in comment.
73031         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
73032
73033 2005-03-26  Jim Meyering  <jim@meyering.net>
73034
73035         Comment nits.
73036         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
73037         Correct typos: s/or/of/.
73038
73039 2005-03-26  Jim Meyering  <jim@meyering.net>
73040
73041         * modules/check-include-files: Move to ../ and rename to...
73042         * check-module: ...this.
73043
73044 2005-03-25  Jim Meyering  <jim@meyering.net>
73045
73046         * modules/xvasprintf (Files): Add xalloc.h.
73047
73048 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
73049
73050         * modules/gettext (Files): config/config.rpath ->
73051         build-aux/config.rpath
73052         * modules/iconv (Files): Likewise.
73053         Problem reported by Oskar Liljeblad.
73054
73055 2005-03-23  Jim Meyering  <jim@meyering.net>
73056
73057         * modules/check-include-files: New script to check for
73058         missing dependencies, multiple includes, etc.
73059
73060         * modules/c-strtold (Depends-on): Add xalloc.
73061         * modules/c-strtod (Depends-on): Add xalloc.
73062         * modules/hash (Depends-on): Add xalloc.
73063         (Files): Remove lib/xalloc.h.
73064
73065         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
73066         * modules/userspec (Files): Add lib/inttostr.h.
73067
73068 2005-03-23  Jim Meyering  <jim@meyering.net>
73069
73070         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
73071
73072 2005-03-22  Jim Meyering  <jim@meyering.net>
73073
73074         * modules/stat-macros: New module.
73075         * modules/canonicalize, modules/euidaccess, modules/file-type,
73076         * modules/filemode, modules/lchown, modules/makepath,
73077         * modules/rmdir, modules/stat: Depend on new stat-macros module
73078         rather than listing lib/stat-macros.h manually.
73079         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
73080
73081 2005-03-22  Jim Meyering  <jim@meyering.net>
73082
73083         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
73084
73085 2005-03-22  Bruno Haible  <bruno@clisp.org>
73086
73087         * config/srclist.txt: Replace target directory 'config' with
73088         'build-aux'.
73089         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
73090         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
73091         ../build-aux/.
73092
73093 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
73094
73095         * modules/chdir-long (Depends-on): Add mempcpy.
73096
73097         * modules/acl, modules/backupfile, modules/c-strtod,
73098         modules/c-strtold, modules/canon-host, modules/canonicalize,
73099         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
73100         modules/exclude, modules/exitfail, modules/file-type,
73101         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
73102         modules/getdate, modules/getline, modules/getpagesize,
73103         modules/getpass, modules/getugroups, modules/group-member,
73104         modules/hard-locale, modules/hash, modules/human, modules/idcache,
73105         modules/inttostr, modules/long-options, modules/makepath,
73106         modules/md5, modules/memcasecmp, modules/memcoll,
73107         modules/modechange, modules/mountlist, modules/path-concat,
73108         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
73109         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
73110         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
73111         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
73112         modules/strftime, modules/strndup, modules/strverscmp,
73113         modules/timespec, modules/unlocked-io, modules/userspec,
73114         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
73115         modules/yesno:
73116         Remove lib_SOURCES line from Makefile.am section, as this is now
73117         done automatically by the corresponding Autoconf macro.
73118
73119 2005-03-21  Jim Meyering  <jim@meyering.net>
73120
73121         Changes imported from coreutils.
73122
73123         * lib/cycle-check.c: Don't include xalloc.h.
73124
73125         * lib/path-concat.c: Don't include assert.h.
73126         (path_concat): Remove assertion that would have triggered
73127         for ABASE starting with more than one slash.
73128         Reported by Andreas Schwab.
73129
73130         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
73131         properly when ABASE is an absolute file name.
73132         Correct the description of this function.
73133         Include <assert.h>.
73134         Add an assertion and a test driver.
73135         This fixes a bug introduced on 2004-07-02.
73136         Andreas Schwab reported the resulting failure of cp --parents:
73137         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
73138
73139 2005-03-21  Jim Meyering  <jim@meyering.net>
73140
73141         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
73142         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
73143
73144 2005-03-21  Jim Meyering  <jim@meyering.net>
73145         and  Paul Eggert  <eggert@cs.ucla.edu>
73146
73147         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
73148         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
73149         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
73150         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
73151         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
73152         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
73153         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
73154         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
73155         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
73156         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
73157         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
73158         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
73159         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
73160         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
73161         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
73162         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
73163         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
73164         for these modules.
73165
73166 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
73167
73168         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
73169         (which shouldn't happen), generate nothing instead of returning 0
73170         immediately, so that nstrftime (NULL, ...) doesn't return 0.
73171
73172 2005-03-16  Bruno Haible  <bruno@clisp.org>
73173
73174         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
73175         HAVE_LONGLONG_64BIT.
73176
73177 2005-03-16  Bruno Haible  <bruno@clisp.org>
73178
73179         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
73180         HAVE_LONGLONG_64BIT.
73181
73182 2005-03-16  Bruno Haible  <bruno@clisp.org>
73183
73184         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
73185         HAVE_LONGLONG_64BIT.
73186
73187 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
73188
73189         * lib/strftime.c (my_strftime): Prepend space to format so that we can
73190         reliably distinguish strftime failure from empty output on POSIX
73191         hosts.
73192
73193 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
73194
73195         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
73196         (iconv_string): Don't guess a size-zero buffer, as that might cause
73197         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
73198         result would be 'too large', where 'too large' is (heuristically)
73199         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
73200         overflow concerns.  This will prevent some unwanted malloc failures
73201         when the inputs are very large.
73202
73203 2005-03-15  Karl Berry  <karl@gnu.org>
73204
73205         * config/srclist.txt (config.rpath): from gettext.
73206         * config/config.rpath: update.
73207
73208 2005-03-15  Bruno Haible  <bruno@clisp.org>
73209
73210         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
73211         to 'negate'.
73212
73213         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
73214         variable.
73215
73216         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
73217         results.
73218
73219 2005-03-14  Simon Josefsson  <jas@extundo.com>
73220
73221         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
73222         <fx@gnu.org>.
73223
73224 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
73225
73226         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
73227         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
73228         intprops.h.
73229         * lib/strtol.c: Likewise.
73230
73231 2005-03-14  Jim Meyering  <jim@meyering.net>
73232
73233         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
73234         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
73235         to be nonzero so that we (and caller) can detect the difference
73236         between a valid zero-length expansion and an error return, even
73237         when the underlying strftime fails before writing anything into
73238         that location.
73239
73240 2005-03-14  Bruno Haible  <bruno@clisp.org>
73241
73242         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
73243         Update from GNU gettext 0.14.3.
73244
73245 2005-03-10  Jim Meyering  <jim@meyering.net>
73246
73247         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
73248
73249 2005-03-10  Jim Meyering  <jim@meyering.net>
73250
73251         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
73252         so that this module works on systems without fchdir.
73253
73254 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
73255
73256         Factor int-properties macros into a single file, except for
73257         glibc-related files.
73258         * lib/intprops.h: New file.
73259         * lib/getloadavg.c: Include it instead of limits.h.
73260         (INT_STRLEN_BOUND): Remove.
73261         * lib/human.c: Include intprops.h.
73262         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
73263         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
73264         302/1000.
73265         * lib/inttostr.h: Include intprops.h instead of limits.h.
73266         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
73267         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
73268         for consistency with intprops.h.
73269         (time_t_is_integer, twos_complement_arithmetic): Use them.
73270         * lib/sig2str.h: Include <signal.h>, intprops.h.
73271         (INT_STRLEN_BOUND): Remove.
73272         * lib/strftime.c (TYPE_SIGNED): Remove.
73273         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
73274         * lib/strtol.c: Adjust comments to match intprops.h.
73275         * lib/userspec.c: Include intprops.h.
73276         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
73277         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
73278         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
73279         instead of rolling our own expressions.
73280         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
73281
73282         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
73283         instead of int.
73284         (my_strftime): Do not mishandle years close to INT_MAX, by doing
73285         the right thing even if adding 1900 would overflow.  Similarly
73286         for tm_mon + 1 and tm_yday + 1.
73287         Make %Y always equivalent to %C%y, and similarly for %G and %g.
73288         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
73289         (DO_SIGNED_NUMBER): New macro.
73290         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
73291
73292 2005-03-07  Bruno Haible  <bruno@clisp.org>
73293
73294         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
73295
73296 2005-03-07  Bruno Haible  <bruno@clisp.org>
73297
73298         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
73299
73300 2005-03-04  Derek R. Price  <derek@ximbiot.com>
73301
73302         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
73303         (func_import): Only replace files via --import when they have actually
73304         changed.
73305
73306 2005-03-03  Derek R. Price  <derek@ximbiot.com>
73307
73308         * m4/mmap-anon.m4: New file.
73309         * m4/pagealign_alloc.m4: New file.
73310
73311 2005-03-03  Derek R. Price  <derek@ximbiot.com>
73312             Bruno Haible  <bruno@clisp.org>
73313
73314         * modules/pagealign_alloc: New file.
73315         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
73316
73317 2005-03-03  Derek R. Price  <derek@ximbiot.com>
73318             Bruno Haible  <bruno@clisp.org>
73319
73320         * lib/pagealign_alloc.h: New file.
73321         * lib/pagealign_alloc.c: New file.
73322
73323 2005-03-03  Bruno Haible  <bruno@clisp.org>
73324
73325         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
73326         Use an all-permissive copyright notice, recommended by RMS.
73327
73328 2005-03-02  Bruno Haible  <bruno@clisp.org>
73329
73330         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
73331         of AIX, the replacement has to be done only after <string.h> is
73332         included, therefore not in config.h. stpncpy.h does the replacement,
73333         and stpncpy.c uses it.
73334
73335 2005-03-02  Bruno Haible  <bruno@clisp.org>
73336
73337         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
73338         stpncpy.c uses it.
73339
73340 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73341
73342         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
73343         The workaround isn't strictly needed for POSIX conformance, and
73344         it's too much of a pain to configure and maintain.  We'll ask
73345         people to fix their kernels instead.
73346         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
73347         (NANOSLEEP_BUG_WORKAROUND): Remove.
73348         (xnanosleep): Remove the workaround.
73349
73350 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73351
73352         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
73353         Reported by Derek Price.
73354         (Include): Add "timespec.h".
73355
73356         * modules/xnanosleep (Depends-on): Remove gethrxtime.
73357
73358 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73359
73360         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
73361         to detect nanosleep bug.
73362
73363 2005-03-01  Bruno Haible  <bruno@clisp.org>
73364
73365         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
73366
73367 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
73368
73369         * modules/gethrxtime: New file.
73370         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
73371         (Depends-on): Add gethrxtime.
73372         (configure.ac): Add gl_XNANOSLEEP.
73373         (Makefile.am): Remove lib_SOURCES line.
73374
73375 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
73376
73377         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
73378         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
73379
73380 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
73381
73382         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
73383         * lib/timespec.h (gettime): Return void, since it always
73384         succeeds now.  All uses changed.
73385         * lib/gettime.c (gettime): Likewise.
73386         [HAVE_NANOTIME]: Prefer nanotime.
73387         Assume gettimeofday succeeds, as POSIX requires.
73388         Assime time () succeeds, since other code already does.
73389         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
73390         (timespec_subtract): Remove.
73391         (NANOSLEEP_BUG_WORKAROUND): New constant.
73392         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
73393         things considerably.  Use it only on GNU/Linux hosts, since the
73394         workaround shouldn't be needed elsewhere.
73395
73396 2005-02-24  Bruno Haible  <bruno@clisp.org>
73397
73398         * modules/gettext (Files): Add m4/glibc2.m4.
73399
73400 2005-02-24  Bruno Haible  <bruno@clisp.org>
73401
73402         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
73403         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
73404         * m4/progtest.m4:
73405         Update from GNU gettext 0.14.2.
73406         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
73407
73408 2005-02-24  Bruno Haible  <bruno@clisp.org>
73409
73410         * lib/localcharset.c: Update from GNU gettext 0.14.2.
73411         * lib/config.charset: Update from GNU gettext 0.14.2.
73412
73413 2005-02-24  Bruno Haible  <bruno@clisp.org>
73414
73415         * lib/gettext.h: Update from GNU gettext 0.14.2.
73416
73417 2005-02-23  Simon Josefsson  <jas@extundo.com>
73418
73419         * m4/iconvme.m4: New file.
73420
73421 2005-02-23  Jim Meyering  <jim@meyering.net>
73422
73423         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
73424         change.
73425         Thanks to Bruno Haible for catching it.
73426
73427 2005-02-22  Simon Josefsson  <jas@extundo.com>
73428
73429         * modules/iconvme: New file.
73430
73431         * MODULES.html.sh: Add iconvme.
73432
73433 2005-02-22  Simon Josefsson  <jas@extundo.com>
73434
73435         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
73436
73437 2005-02-22  Simon Josefsson  <jas@extundo.com>
73438
73439         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
73440
73441 2005-02-22  Jim Meyering  <jim@meyering.net>
73442
73443         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
73444         s/ifndef/ifdef/.
73445
73446 2005-02-20  Neil Conway  <neilc@samurai.com>
73447
73448         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
73449         returned by OSX/Darwin if the specified buffer is not large
73450         enough for the hostname.
73451
73452 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73453
73454         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
73455         pass it to _help, otherwise the latter coredumps trying to
73456         dereference state.root_argp.
73457
73458 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73459
73460         * modules/chdir-long (Depends-on): Add memrchr.
73461         * modules/memrchr (Files): Add lib/memrchr.h.
73462         (Include): "memrchr.h".
73463
73464 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73465
73466         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
73467
73468 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73469
73470         * lib/memrchr.h: New file.
73471         * lib/chdir-long.c: Include it.
73472         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
73473         Don't bother including stddef.h.
73474
73475 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73476
73477         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
73478         inclusion.
73479         Include <sys/types.h>, for dev_t.
73480         (ME_DUMMY, ME_REMOTE): Move from here....
73481         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
73482         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
73483         Dmitry V. Levin.
73484         Include mountlist.h first, to test the interface.
73485
73486 2005-01-29  Bruno Haible  <bruno@clisp.org>
73487
73488         * lib/progname.c (program_name): Initialize.
73489         Needed when linking statically on MacOS X.
73490
73491 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73492
73493         Sync from coreutils.
73494         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
73495         (Depends-on): Add c-strtod.
73496         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
73497
73498 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73499
73500         Sync from coreutils.
73501         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
73502
73503         Remove files that are specific to coreutils.
73504         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
73505
73506 2005-01-28  Bruno Haible  <bruno@clisp.org>
73507
73508         * modules/javacomp: New file.
73509         * MODULES.html.sh (Java): Add javacomp.
73510
73511 2005-01-28  Bruno Haible  <bruno@clisp.org>
73512
73513         * m4/javacomp.m4: New file, from GNU gettext.
73514
73515 2005-01-28  Bruno Haible  <bruno@clisp.org>
73516
73517         * lib/javacomp.sh.in: New file, from GNU gettext.
73518         * lib/javacomp.h: New file, from GNU gettext.
73519         * lib/javacomp.c: New file, from GNU gettext.
73520
73521 2005-01-26  Simon Josefsson  <jas@extundo.com>
73522
73523         * lib/gai_strerror.c: Use GPL in header.
73524
73525 2005-01-26  Bruno Haible  <bruno@clisp.org>
73526
73527         * modules/javaexec: New file.
73528         * MODULES.html.sh (Java): Add javaexec.
73529
73530 2005-01-26  Bruno Haible  <bruno@clisp.org>
73531
73532         * m4/javaexec.m4: New file, from GNU gettext.
73533
73534 2005-01-26  Bruno Haible  <bruno@clisp.org>
73535
73536         * lib/javaexec.sh.in: New file, from GNU gettext.
73537         * lib/javaexec.h: New file, from GNU gettext.
73538         * lib/javaexec.c: New file, from GNU gettext.
73539
73540 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73541
73542         * modules/lchown (Depends-on): Remove lchown.h
73543
73544 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73545
73546         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
73547         must be defined if the header file was not found, in order
73548         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
73549
73550 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73551
73552         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
73553         initializers for struct pentry_state.
73554         (__argp_error): Check return value of __asprintf
73555         (__argp_failure): Translate error message
73556
73557         * lib/argp-parse.c: Removed braces around the expansion of N_()
73558
73559 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73560
73561         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
73562         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
73563         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
73564         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
73565         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
73566         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
73567         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
73568         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
73569         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
73570         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
73571         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
73572         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
73573         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
73574         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
73575         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
73576         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
73577         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
73578         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
73579         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
73580         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
73581         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
73582         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
73583         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
73584         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
73585         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
73586         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
73587         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
73588         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
73589         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
73590         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
73591         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
73592         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
73593         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
73594         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
73595         xstrtol.m4, xstrtoumax.m4, yesno.m4:
73596         Use an all-permissive copyright notice, recommended by RMS.
73597
73598 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
73599
73600         * modules/chdir-long (Depends-on): Remove mempcpy.
73601
73602 2005-01-21  Jim Meyering  <jim@meyering.net>
73603
73604         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
73605         same value as for Solaris 9.
73606
73607         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
73608         component length.  This included changing the parameter to be
73609         of type `char *' rather than `char const *'.
73610         * lib/chdir-long.h (chdir_long): Update prototype.
73611
73612         * lib/openat.c (fdopendir, fstatat): New functions.
73613         * lib/openat.h: Include headers required for use of DIR and struct
73614         stat.
73615         [AT_SYMLINK_NOFOLLOW]: Define.
73616         (fdopendir, fstatat): Add prototypes.
73617
73618 2005-01-21  Bruno Haible  <bruno@clisp.org>
73619
73620         * modules/classpath: New file.
73621         * MODULES.html.sh (Java): Add classpath.
73622
73623 2005-01-21  Bruno Haible  <bruno@clisp.org>
73624
73625         * lib/classpath.h: New file, from GNU gettext.
73626         * lib/classpath.c: New file, from GNU gettext.
73627
73628 2005-01-20  Simon Josefsson  <jas@extundo.com>
73629
73630         * modules/version-etc-fsf: New file.
73631
73632 2005-01-20  Simon Josefsson  <jas@extundo.com>
73633
73634         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
73635         * lib/version-etc.c: Remove version_etc_copyright.
73636         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
73637         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
73638
73639 2005-01-20  Simon Josefsson  <jas@extundo.com>
73640
73641         * lib/base64.h (isbase64): Add.
73642
73643         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
73644         using a unsigned prototype, don't inline.
73645         (base64_decode): Use it.
73646
73647 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73648
73649         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
73650         it.
73651
73652 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73653
73654         * lib/save-cwd.c (save_cwd): Remove code to support the case
73655         where fchdir is missing or flaky.
73656
73657 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
73658
73659         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
73660
73661 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
73662
73663         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
73664         AC_LIBSOURCES now does this.
73665         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
73666         with new ullong_max module.
73667
73668 2005-01-19  Bruno Haible  <bruno@clisp.org>
73669
73670         * modules/sh-quote: New file.
73671         * MODULES.html.sh (Executing programs): Add sh-quote.
73672
73673 2005-01-19  Bruno Haible  <bruno@clisp.org>
73674
73675         * lib/sh-quote.h: New file, from GNU gettext.
73676         * lib/sh-quote.c: New file, from GNU gettext.
73677
73678 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
73679
73680         Merge from coreutils.
73681         * m4/ullong_max.m4: New file.
73682         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
73683         (gl_MACROS): Assume localeconv exists.
73684
73685 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
73686
73687         Merge changes from coreutils, as described below in several
73688         changelogs dated today.
73689
73690         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
73691         (O_DIRECTORY): Remove; not needed here, since "." must be
73692         a directory.  All uses removed.
73693         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
73694         universal on Suns, and we also need to test for IRIX.
73695         Revamp code to use 'if' rather than '#if'.
73696         Avoid unnecessary comparison of cwd->desc to 0.
73697
73698         * lib/utimens.c (futimens): Robustify the previous patch, by checking
73699         for known valid error numbers rather than observed invalid ones.
73700
73701 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
73702
73703         * modules/ullong_max: New file.
73704
73705         * modules/chdir-long, modules/openat: New files.
73706         * modules/save-cwd (Depends-on): Depend on chdir-long.
73707         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
73708
73709 2005-01-18  Jim Meyering  <jim@meyering.net>
73710
73711         Merge from coreutils.
73712         * m4/chdir-long.m4, m4/openat.m4: New files.
73713         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
73714         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
73715         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
73716         is sane and DOES follow symlinks.  Besides, testing 20 different
73717         systems found no broken chown implementations.
73718         Prompted by a change in rsync's copy of this macro.
73719         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
73720
73721         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
73722
73723         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
73724         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
73725         NULL-means-set-to-current-time semantics.
73726         Remove temporary file immediately, rather than waiting
73727         for configure's at-exit trap code to do it.
73728
73729 2005-01-18  Jim Meyering  <jim@meyering.net>
73730
73731         * lib/version-etc.c (version_etc_copyright): Update copyright date.
73732
73733         * lib/utimens.c (futimens): Account for the fact that futimes
73734         can also fail with errno == ENOSYS or errno == ENOENT.
73735         Patch from Dmitry V. Levin.
73736
73737         Change the name of the robust chdir function from chdir to chdir_long.
73738         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
73739         (restore_cwd): Use chdir_long, not chdir.
73740         * lib/chdir-long.c: Renamed from chdir.c.
73741         * lib/chdir-long.h: Renamed from chdir.h.
73742         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
73743         Hurd.
73744
73745 2005-01-18  Bruno Haible  <bruno@clisp.org>
73746
73747         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
73748         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
73749         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
73750         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
73751         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
73752         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
73753         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
73754         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
73755         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
73756         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
73757         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
73758         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
73759         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
73760         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
73761         Use an all-permissive copyright notice, recommended by RMS.
73762
73763 2005-01-18  Bob Proulx  <bob@proulx.com>
73764
73765         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
73766         simplify offsetof() macro construct to avoid compile failure with
73767         native HP-UX 11.0 ANSI C compiler.
73768
73769 2005-01-17  Bruno Haible  <bruno@clisp.org>
73770
73771         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
73772         redundant because stpncpy.m4 takes care of it.
73773
73774 2005-01-17  Bruno Haible  <bruno@clisp.org>
73775
73776         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
73777
73778 2005-01-17  Bruno Haible  <bruno@clisp.org>
73779
73780         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
73781         used.
73782
73783 2005-01-17  Bruno Haible  <bruno@clisp.org>
73784
73785         * lib/fwriteerror.h (fwriteerror): Change specification to include
73786         fclose.
73787         * lib/fwriteerror.c: Include <stdbool.h>.
73788         (fwriteerror): At the end, close the file stream. Record whether
73789         stdout was already closed.
73790
73791 2005-01-17  Bruno Haible  <bruno@clisp.org>
73792
73793         * lib/execute.c (environ): Declare if needed.
73794         * lib/pipe.c (environ): Likewise.
73795         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
73796
73797 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73798
73799         * modules/argp: Depend on vsnprintf
73800
73801 2005-01-10  Jim Meyering  <jim@meyering.net>
73802
73803         * modules/closeout (Depends-on): Add atexit.
73804
73805 2005-01-06  Bruno Haible  <bruno@clisp.org>
73806
73807         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
73808
73809 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73810
73811         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
73812         definitions to be after all include files, to avoid collisions.
73813         Problem reported by Bob Proulx.
73814
73815 2005-01-04  Jim Meyering  <jim@meyering.net>
73816
73817         Changes imported from coreutils.
73818         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
73819         as the mkstemp template, use a temporary directory and an
73820         8.3-friendly template to avoid trouble on systems like DJGPP.
73821         Reported by Juan M. Guerrero via Stepan Kasal.
73822         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
73823         close. Remove the temporary directory right away, rather than waiting
73824         for configure's at-exit trap code to do it.
73825         Suggestion from Stepan Kasal.
73826
73827 2005-01-01  Simon Josefsson  <jas@extundo.com>
73828
73829         * gnulib-tool: Print #include directives when --import'ing.
73830
73831 2004-12-28  Simon Josefsson  <jas@extundo.com>
73832
73833         * tests/test-base64.c: Include required header files.  Remove
73834         unused variables.
73835
73836 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
73837
73838         * modules/error (Depends-on): Remove gettext.
73839
73840 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
73841
73842         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
73843         not needed.  This removes a dependency on the gettext module.
73844         [defined _LIBC]: Do not include <libintl.h>; not needed.
73845
73846 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
73847
73848         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
73849         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
73850
73851 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
73852
73853         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
73854         HAVE_DECL_STRTOLD.
73855
73856 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73857
73858         * modules/getdate (Depends-on): Remove alloca-opt.
73859
73860 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73861
73862         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
73863
73864 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73865
73866         * lib/argp-parse.c: Include <stddef.h>.
73867         (alignof, alignto): New macros.
73868         (parser_init): Don't assume that void * is aligned sufficiently
73869         for struct option.
73870
73871         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
73872         need to extend the stack.
73873         (YYINITDEPTH): New macro, so that the initial stack isn't overly
73874         large.
73875
73876 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73877
73878         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
73879
73880 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
73881
73882         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
73883         (2004-10-24) change.  Apparently this was a false alarm.
73884
73885         * modules/getdate: Depend on alloca-opt, not alloca.
73886
73887 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
73888
73889         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
73890         Remove now-obsolete comment about AIX.
73891         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
73892         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
73893         (YYMAXDEPTH): New macro.
73894
73895 2004-12-18  Simon Josefsson  <jas@extundo.com>
73896
73897         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
73898
73899 2004-12-18  Bruno Haible  <bruno@clisp.org>
73900
73901         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
73902
73903 2004-12-18  Bruno Haible  <bruno@clisp.org>
73904
73905         * lib/fatal-signal.c (fatal_signals): Make non-const.
73906         (init_fatal_signals): New function.
73907         (uninstall_handlers, install_handlers): Ignore signals that were set to
73908         SIG_IGN.
73909         (at_fatal_signal): Call init_fatal_signals.
73910         (init_fatal_signal_set): Likewise. Ignore signals that were set to
73911         SIG_IGN.
73912         Reported by Paul Eggert.
73913
73914 2004-12-18  Bruno Haible  <bruno@clisp.org>
73915
73916         * doc/alloca.texi: New file.
73917         * doc/alloca-opt.texi: New file.
73918
73919 2004-12-17  Jim Meyering  <jim@meyering.net>
73920
73921         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
73922         Otherwise, install-sh could exit with improper exit status when
73923         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
73924
73925 2004-12-16  Simon Josefsson  <jas@extundo.com>
73926
73927         * tests/test-base64.c: Add license.
73928
73929 2004-12-15  Stepan Kasal  <address@hidden>
73930
73931         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
73932
73933 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
73934
73935         * modules/getcwd (Files): Add m4/d-ino.m4.
73936         Suggested by Mark D. Baushke.
73937
73938 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
73939
73940         * lib/getdate.y (textint): New member "negative".
73941         (time_zone_hhmm): New function.
73942         Expect 14 shift-reduce conflicts, not 13.
73943         (o_colon_minutes): New rule.
73944         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
73945         (yylex): Set the "negative" member of signed numbers.
73946
73947 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
73948
73949         * doc/getdate.texi (Time of day items, Time zone items):
73950         Describe new formats +00:00, UTC+00:00.
73951
73952 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
73953
73954         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
73955         spurious "-l"s.  Problem reported by Stepan Kasal.
73956
73957 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
73958
73959         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
73960         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
73961
73962 2004-12-04  Simon Josefsson  <jas@extundo.com>
73963
73964         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
73965         Vandoorselaere <yoann@prelude-ids.org>.
73966
73967 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
73968
73969         Changes imported from coreutils.
73970         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
73971         exist.
73972         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
73973
73974 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
73975
73976         Changes imported from coreutils.
73977         * lib/hard-locale.c: Assume <locale.h> exists.
73978         Include "strdup.h".
73979         (GLIBC_VERSION): New macro.
73980         (hard_locale): Assume setlocale exists.
73981         Rewrite to avoid #ifdef.
73982         Use strdup rather than malloc + strcpy.
73983         * lib/human.c: Assume <locale.h> exists.
73984         (human_readable): Assume localeconv exists.
73985
73986 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
73987
73988         * modules/hard-locale (Depends-on): Add strdup.
73989
73990 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
73991
73992         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
73993         convert T2, not T.  (Imported from libc.)
73994
73995 2004-11-30  Simon Josefsson  <jas@extundo.com>
73996
73997         * modules/restrict (License): Change to LGPL.
73998
73999 2004-11-30  Simon Josefsson  <jas@extundo.com>
74000
74001         * m4/restrict.m4: Add copyright and copying conditions.
74002
74003 2004-11-30  Simon Josefsson  <jas@extundo.com>
74004
74005         * m4/base64.m4: New file.
74006
74007 2004-11-30  Simon Josefsson  <jas@extundo.com>
74008
74009         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
74010         base64.
74011
74012         * tests/test-base64.c: New file.
74013
74014         * modules/base64: New file.
74015
74016 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
74017
74018         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
74019         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
74020
74021         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
74022
74023 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
74024
74025         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
74026         (__getcwd.c): Don't restore errno; glibc doesn't.
74027         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
74028         first, falling back to our code only if its results look suspicious.
74029         Ensure that the resulting buffer is only as large as necessary.
74030
74031         * lib/readutmp.c: Include readutmp.h first.
74032         Include <errno.h>, since readutmp.h no longer does that.
74033         * lib/readutmp.h: Don't include <errno.h>,
74034         <sys/param.h>, <time.h>; not needed to establish interface.
74035         (errno): Remove decl.
74036         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
74037         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
74038         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
74039
74040 2004-11-28  Simon Josefsson  <jas@extundo.com>
74041
74042         * lib/base64.h, base64.c: New file.
74043
74044 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
74045
74046         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
74047
74048 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
74049
74050         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
74051         (Depends-on): Remove pathmax, same.  Add mempcpy.
74052         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
74053         (Makefile.am): Append getcwd.h to lib_SOURCES.
74054         (Include): Add getcwd.h.
74055         (Maintainer): Change from Jim Meyering to "all, glibc",
74056         since getdate now uses intended-for-glibc code.
74057         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
74058         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
74059
74060 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
74061
74062         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
74063         HP's ANSI C compiler.
74064         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
74065         Declaring int functions causes warnings on some modern systems and
74066         shouldn't be needed to compile on ancient ones.
74067         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
74068         defined.
74069
74070         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
74071         with the following changes.
74072         (__set_errno): Parenthesize properly.
74073         Include <stdbool.h>.
74074         (MIN, MAX, MATCHING_INO): New macros.
74075         (__getcwd): Define with prototype, not K&R form.
74076         Use heuristics to allocate default buffer on stack if possible.
74077         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
74078         behavior, and to avoid the PATH_MAX limit when computing
74079         ../../../../...
74080         Use MATCHING_INO to compare inode number to file.
74081         Check for arithmetic overflow in size calculations.
74082         Fix bug in reallocation of dot array that caused getcwd to fail
74083         on directories nested deeper than 75.
74084         Be more careful about saving errno on error.
74085         Do not use realloc; use only free+malloc, as this is a bit
74086         more flexible and avoids a needless copy operation.
74087         Do not inspect st_dev and st_ino for symbolic links; POSIX
74088         doesn't specify the latter.
74089         Check for closedir errors.
74090         Avoid needless casts.
74091         Use "#ifdef weak_alias" around weak_alias, to be like other
74092         glibc code.
74093         The following changes to getcwd.c have effect only when used in
74094         gnulib; they have no effect inside glibc proper.
74095         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
74096         as alloca isn't used.
74097         (alloca, __alloca): Likewise.
74098         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
74099         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
74100         unconditionally, as gnulib assumes C89 or better.
74101         Do not include <sys/param.h>.
74102         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
74103         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
74104         better.
74105         (NULL) [!defined NULL]: Remove; we assume C89 or better.
74106         Include <dirent.h> in a way that is compatible with modern Autoconf.
74107         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
74108         New macros, if not already defined.
74109         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
74110         Use "_LIBC", not "defined _LIBC", for consistency.
74111         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
74112         a mempcpy module.
74113         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
74114         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
74115         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
74116         credit only to Jim Meyering and adjust the copyright dates.
74117         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
74118         <stdlib.h>, <unistd.h>, "pathmax.h".
74119         Instead, include "xgetcwd.h" (first) and "getcwd.h".
74120         (INITIAL_BUFFER_SIZE): Remove.
74121         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
74122
74123 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
74124
74125         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
74126         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
74127         Use the _ONCE methods, for efficiency.
74128         Check for fcntl.h.  In test program, include <errno.h>
74129         and <fcntl.h> if available.  Remove old K&R cruft from
74130         test program.  Check for common errors in GNU/Linux,
74131         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
74132         don't do AC_LIBOBJ, as that's getcwd.m4's job.
74133         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
74134         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
74135         name accordingly.
74136         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
74137         accommodate new getcwd.c.
74138         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
74139         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
74140         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
74141         that's all we need now.
74142
74143 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74144
74145         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
74146         argp-parse.c depends on getopt internals, that means we should
74147         always use our getopt, to be on the safe side.
74148         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
74149         order not to spoil the result of an eventual previous invocation
74150         of gl_GETOPT_SUBSTITUTE.
74151
74152 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74153
74154         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
74155         redefinition warnings. To avoid them, include the defines
74156         in `#if !defined __need_getopt ... #endif'. The only place
74157         where __getopt_argv_const is used is in definitions
74158         of getopt_long and getopt_long_only below, which are as well
74159         protected by `#ifndef __need_getopt'.
74160         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
74161         __need_getopt after including <stdio.h> and <unistd.h> These
74162         headers might have defined it.
74163
74164 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
74165
74166         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
74167
74168 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
74169
74170         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
74171         (futimens): New function, which uses futimes if available.
74172         (futimens, utimens): Support timespec==NULL, with same semantics
74173         as utime and utimens.
74174         * lib/utimens.h (futimens): New decl.
74175
74176 2004-11-23  Jim Meyering  <jim@meyering.net>
74177
74178         * lib/getopt_.h: Remove trailing blanks.
74179
74180 2004-11-23  Jim Meyering  <jim@meyering.net>
74181
74182         * lib/__fpending.c: Add comment.
74183
74184 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
74185
74186         * modules/canonicalize (Depends-on): Add xreadlink.
74187         Problem reported by James Youngman.
74188
74189 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
74190
74191         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
74192         New macros.
74193         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
74194         optopt): Use them instead of invoking ## directly; otherwise, the
74195         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
74196
74197 2004-11-19  Bruno Haible  <bruno@clisp.org>
74198
74199         * lib/strtok_r.c: Move comments from here...
74200         * lib/strtok_r.h: ... to here.
74201
74202 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
74203
74204         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
74205         implementations that mishandle size_t overflow.
74206
74207 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
74208
74209         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
74210         might fail.  Problem reported by Yoann Vandoorselaere.
74211         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
74212         implementations that mishandle size_t overflow.
74213
74214 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74215
74216         * modules/canon-host (Depends-on): Add strdup.
74217
74218 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74219
74220         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
74221
74222 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74223
74224         * lib/canon-host.c: Include "strdup.h".
74225         (canon_host): Use getaddrinfo if available, so that IPv6 works.
74226         Use strdup instead of malloc/strcpy to duplicate strings.
74227
74228         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
74229         (human_space_before_unit): New constant.
74230         * lib/human.c (human_readable): Support it.
74231
74232         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
74233         (xgetcwd): Set errno correctly when failing.
74234         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
74235         the failure is actually due to a PATH_MAX problem.
74236
74237         Further getopt changes to make it more likely that glibc will
74238         buy the changes back.
74239         * lib/getopt.c (POSIXLY_CORRECT): New constant.
74240         (getopt): Use it, so to preserve glibc semantic
74241         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
74242         when compiling for libc.
74243         * lib/getopt_.h (__getopt_argv_const): Bring it back.
74244         (getopt_long, getopt_long_only): Use it.
74245
74246         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
74247         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
74248         (getopt): Argv is now char * const *, as per standard.
74249         (_getopt_internal_r, _getopt_internal): Argv is now char **,
74250         not char *__getopt_argv_const *.
74251         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
74252         _getopt_long_only_r): Likewise.
74253         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
74254         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
74255         _getopt_long_r, _getopt_long_only_r): Likewise.
74256         * lib/getopt_.h (__getopt_argv_const): Remove.
74257         (getopt): Argv is now char * const *, as per standard.
74258
74259         * lib/getdate.y (tORDINAL): New token.
74260         (day, relunit): Allow it for relative times.
74261         (relative_time_table): Use tORDINAL for ordinals.
74262
74263 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74264
74265         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
74266         Document that "second" isn't allowed as an ordinal number.
74267
74268 2004-11-16  Jim Meyering  <jim@meyering.net>
74269
74270         * modules/closeout (Depends-on): Add fpending.
74271
74272 2004-11-15  Jim Meyering  <jim@meyering.net>
74273
74274         * lib/closeout.c: Include "__fpending.h" once again.
74275         Include <stdbool.h>.
74276         (close_stdout): Don't fail just because stdout was closed initially,
74277         since some programs don't write to stdout in the normal course of
74278         operation (other than --version and --help), and we don't want this
74279         function to make e.g. `touch file >&-' fail.
74280         But do fail if it was closed and someone has tried to write to it.
74281         E.g., `printf foo >&-' must fail.
74282
74283 2004-11-13  Jim Meyering  <jim@meyering.net>
74284
74285         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
74286
74287 2004-11-12  Simon Josefsson  <jas@extundo.com>
74288
74289         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
74290         small doc fix is still pending.
74291
74292 2004-11-11  Simon Josefsson  <jas@extundo.com>
74293
74294         * modules/strtok_r: New file.
74295
74296         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74297         strtok_r.
74298
74299 2004-11-11  Simon Josefsson  <jas@extundo.com>
74300
74301         * m4/strtok_r.m4: New file.
74302
74303         * m4/getopt.m4: Replace opterr.
74304
74305 2004-11-11  Simon Josefsson  <jas@extundo.com>
74306
74307         * lib/strtok_r.h, strtok_r.c: New file.
74308
74309 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
74310
74311         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
74312         of replacing opterr, getopt, etc.  This should handle the
74313         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
74314
74315 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
74316
74317         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
74318         we can stop lying to compilers about the constness of argv when we
74319         are compiled outside glibc.
74320         (getopt, getopt_long, getopt_long_only): Use it.
74321         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
74322         _getopt_internal, getopt): Likewise.
74323         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
74324         _getopt_long_only_r): Likewise.
74325         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
74326         _getopt_long_r, _getopt_long_only_r): Likewise.
74327
74328         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
74329         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
74330         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
74331         the other external symbols.
74332         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
74333         declaration, since the above renaming now works around collisions.
74334
74335 2004-11-11  Jim Meyering  <jim@meyering.net>
74336
74337         * lib/linebreak.c: Remove trailing blanks.
74338         * lib/alloca_.h: Likewise.
74339         * lib/acosl.c: Likewise.
74340         * lib/euidaccess.c: Likewise.
74341         * lib/allocsa.h: Likewise.
74342
74343 2004-11-10  Simon Josefsson  <jas@extundo.com>
74344
74345         * m4/getaddrinfo.m4: New file.
74346
74347 2004-11-10  Simon Josefsson  <jas@extundo.com>
74348
74349         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
74350
74351 2004-11-10  Simon Josefsson  <jas@extundo.com>
74352
74353         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74354         getaddrinfo.
74355
74356         * modules/getaddrinfo: New file.
74357
74358 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
74359
74360         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
74361
74362 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
74363
74364         * lib/mktime.c (SHR): New macro, which is a portable
74365         substitute for >> that should work even on Crays.
74366         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
74367         Problem reported by Mark D. Baushke in
74368         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
74369         * lib/getdate.y (SHR): Likewise.
74370         (tm_diff): Use it.
74371         * lib/strftime.c (SHR): Likewise.
74372         (tm_diff): Use it.
74373         * lib/quotearg.c (struct quoting_options): Use unsigned int for
74374         quote_these_too, so that right shifts are well defined.  All uses
74375         changed.
74376
74377 2004-11-10  Jim Meyering  <jim@meyering.net>
74378
74379         Ensure that no close failure goes unreported.
74380         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
74381         return early when it seems there's nothing to flush.
74382         Don't include __fpending.h.
74383
74384 2004-11-10  Jim Meyering  <jim@meyering.net>
74385
74386         * modules/closeout (Depends-on): Remove fpending.
74387
74388 2004-11-10  Jim Meyering  <jim@meyering.net>
74389
74390         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
74391
74392 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
74393
74394         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
74395         gl_FUNC_STRFTIME.
74396         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
74397         and AC_REQUIRE when possible, to avoid duplicate checks.
74398         Check for <wchar.h>.
74399
74400 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
74401
74402         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
74403
74404 2004-11-09  Bruno Haible  <bruno@clisp.org>
74405
74406         * m4/sockpfaf.m4: New file.
74407
74408 2004-11-05  Bruno Haible  <bruno@clisp.org>
74409
74410         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
74411         Reported by Mark D. Baushke <mdb@cvshome.org>.
74412
74413 2004-11-04  Bruno Haible  <bruno@clisp.org>
74414
74415         2004-09-11  Bruno Haible  <bruno@clisp.org>
74416                 * allocsa.valgrind: New file.
74417         2004-02-06  Bruno Haible  <bruno@clisp.org>
74418                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
74419                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
74420                 Reported by Christopher Seip <chris.seip@hp.com>.
74421
74422 2004-11-04  Bruno Haible  <bruno@clisp.org>
74423
74424         * modules/allocsa (Files): Add lib/allocsa.valgrind.
74425         (Makefile.am): Distribute it.
74426
74427 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
74428
74429         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
74430         with errno == ERANGE if the buffer is too small.
74431         Problem reported by Mark D. Baushke.
74432
74433 2004-11-03  Albert Chin  <china@thewrittenword.com>
74434             Paul Eggert  <eggert@cs.ucla.edu>
74435
74436         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
74437         equivalent, substitute $ac_type for equivalent type rather than
74438         blindly using uint32_t *always* which won't work if uint32_t is not
74439         available.  Define _UINT32_T to work around typedef of uint32_t if
74440         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
74441         2.5.1.
74442
74443 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74444
74445         * m4/jm-macros.m4: Sync from coreutils.
74446         (gl_MACROS): Check for mbrlen, for pathchk.
74447         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
74448
74449 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74450
74451         * lib/xreadlink.c (MAXSIZE): New macro.
74452         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
74453         size does not exceed MAXSIZE.  Avoid cast.
74454         As suggested by Mark D. Baushke in
74455         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
74456         if readlink fails with buffer size just under MAXSIZE, try again
74457         with MAXSIZE.
74458
74459 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
74460
74461         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
74462
74463 2004-11-02  Derek R. Price  <derek@ximbiot.com>
74464         and  Paul Eggert  <eggert@cs.ucla.edu>
74465
74466         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
74467         (get_date): Overparenthesize to avoid GCC warning.
74468
74469 2004-11-02  Bruno Haible  <bruno@clisp.org>
74470
74471         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
74472         returns void.
74473
74474 2004-11-02  Bruno Haible  <bruno@clisp.org>
74475
74476         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
74477         function returns void.
74478
74479 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
74480
74481         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
74482         fflush_unlocked, flockfile, funlockfile, funlockfile,
74483         fputs_unlocked, putc_unlocked.
74484
74485 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
74486
74487         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
74488         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
74489         already declared.
74490
74491 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74492
74493         * modules/getdate (Files): Add doc/getdate.texi.
74494         (Depends-on): Add setenv, xalloc.
74495
74496 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74497
74498         * lib/getdate.y: Add support for TZ="foo" within a date string.
74499         Fix some bugs near time_t boundaries.  Reject dates with
74500         out-of-range components, e.g., "Sept 31".
74501         Include <stdlib.h>, "setenv.h", "xalloc.h".
74502         (ISDIGIT_LOCALE): Remove; unused.
74503         Note that the TZ and time functions used here are not reentrant.
74504         (mktime_ok, get_tz): New functions.
74505         (TZBUFSIZE): New constant.
74506         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
74507         This requires that we sometimes generate our own TZ="XXX..." setting.
74508
74509 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74510
74511         * doc/getdate.texi: New file, from coreutils with modifications for
74512         the new TZ parsing.
74513
74514 2004-10-27  Derek R. Price  <derek@ximbiot.com>
74515
74516         * lib/mktime.c (not_equal_tm): Remove redundant check.
74517
74518 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74519
74520         * modules/regex (lib_SOURCES): Add regex.c.
74521         Reported by James Youngman in
74522         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
74523
74524 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74525
74526         * lib/getdate.y: Use Bison 1.875 features, and some minor
74527         code cleanups.  This change does not affect semantics.
74528         Don't include <stdlib.h>; no longer needed.
74529         Don't include unlocked-io.h; only the "#if TEST" code uses
74530         stdio, and performance isn't crucial there.
74531         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
74532         Bison 1.875 features as described below.
74533         All uses of "PC." replaced by "pc->".
74534         (YYSTYPE): Add a forward declaration.
74535         (yylex, yyerror): Use full prototypes in forward decls.
74536         Use "%pure-parser" rather than obsolescent "%pure_parser".
74537         Use %parse-param and %lex-param instead of obsolescent
74538         YYPARSE_PARAM and YYLEX_PARAM.
74539         (meridian_table, month_and_day_table, time_units_table,
74540         relative_time_table, time_zone_table, military_table,
74541         lookup_zone, lookup_word, get_date):
74542         Use NULL instead of 0 where appropriate.
74543         (to_hour): Avoid abort (), to avoid a dependency on
74544         stdlib.h.
74545         (yyerror, yylex): Now accepts parser_control * arg.
74546         (main) [TEST]: Use '\0' rather than 0 for char.
74547
74548 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
74549
74550         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
74551
74552 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
74553
74554         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
74555         It's now the caller's responsibility to handle the case where
74556         !HAVE_GETPAGESIZE && !defined getpagesize.
74557
74558         * lib/mktime.c (leapyear): Arg is long int, not int.
74559
74560 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
74561
74562         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
74563
74564 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
74565
74566         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
74567         missing.  Problem reported by James Youngman.
74568
74569 2004-10-16  Simon Josefsson  <jas@extundo.com>
74570
74571         * gnulib-tool: Fix comments.  Fix parse problem.
74572         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
74573
74574 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
74575
74576         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
74577         implementation of getopt_long.  Problem reported by Alexander Taler in:
74578         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
74579
74580 2004-10-15  Bruno Haible  <bruno@clisp.org>
74581
74582         * gnulib-tool: Untabify. Initialize supplied_libname.
74583         (func_usage): More homogenous output.
74584         (func_modules_transitive_closure, func_modules_to_filelist,
74585         func_emit_lib_Makefile_am): New functions.
74586         (func_import): New function, extracted from big case statement. Use
74587         func_get_license, func_modules_transitive_closure,
74588         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
74589         opt_lgpl. Don't use test -a, as it's not portable.
74590         (func_create_testdir): Use func_modules_transitive_closure,
74591         func_modules_to_filelist, func_emit_lib_Makefile_am.
74592
74593 2004-10-15  Bruno Haible  <bruno@clisp.org>
74594
74595         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
74596
74597 2004-10-15  Bruno Haible  <bruno@clisp.org>
74598
74599         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
74600         the portions belonging to each module.
74601         Suggested by Derek Robert Price <derek@ximbiot.com>.
74602
74603 2004-10-12  Simon Josefsson  <jas@extundo.com>
74604
74605         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
74606         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
74607         to real functions.
74608
74609 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74610
74611         * modules/vsnprintf: New file.
74612
74613 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74614
74615         * m4/vsnprintf.m4: New file.
74616
74617 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74618
74619         * lib/vsnprintf.h: New file.
74620         * lib/vsnprintf.c: New file.
74621
74622 2004-10-11  Bruno Haible  <bruno@clisp.org>
74623
74624         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
74625         vsnprintf.
74626
74627 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74628
74629         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
74630
74631 2004-10-07  Bruno Haible  <bruno@clisp.org>
74632
74633         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
74634         fits into the provided buffer.
74635
74636 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74637
74638         * lib/diacrit.c, diacrit.h: Add GPL notice.
74639
74640         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
74641         notice.
74642         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
74643         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
74644         This avoids a potential constant-folding bug.
74645
74646 2004-10-05  Bruno Haible  <bruno@clisp.org>
74647
74648         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
74649         for the declaration of strsep.
74650
74651 2004-10-05  Bruno Haible  <bruno@clisp.org>
74652
74653         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
74654
74655 2004-10-04  Simon Josefsson  <jas@extundo.com>
74656
74657         * modules/memmem: New file.
74658         * tests/test-memmem.c: New file.
74659         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
74660
74661 2004-10-04  Simon Josefsson  <jas@extundo.com>
74662
74663         * m4/memmem.m4: New file.
74664
74665 2004-10-04  Simon Josefsson  <jas@extundo.com>
74666
74667         * lib/memmem.h: New file.
74668         * lib/memmem.c: New file, taken from glibc.
74669
74670 2004-10-04  Simon Josefsson  <jas@extundo.com>
74671
74672         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
74673         '#ifdef USE_UNLOCKED_IO'.
74674
74675 2004-10-04  Simon Josefsson  <jas@extundo.com>
74676
74677         * config/srclist.txt: Add memmem from glibc.
74678
74679 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74680
74681         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
74682
74683         * modules/argmatch, modules/argp, modules/closeout, modules/error,
74684         modules/exclude, modules/getdate, modules/getline,
74685         modules/getndelim2, modules/getpass, modules/getpass-gnu,
74686         modules/getusershell, modules/linebuffer, modules/md5,
74687         modules/mountlist, modules/posixtm, modules/readtokens,
74688         modules/readutmp, modules/regex, modules/sha1,
74689         modules/version-etc, modules/yesno:
74690         Remove dependency on unlocked-io.
74691
74692 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74693
74694         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
74695
74696         * m4/unlocked-io.m4: Add copyright notice.
74697         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
74698
74699 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74700
74701         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
74702         * lib/xmalloc.c (xmemdup): Likewise.
74703         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
74704         XFREE): Remove these long-obsolescent macros.
74705         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
74706         * lib/xstrdup.c: Remove.
74707
74708         * lib/regex.c (re_comp): Cast gettext return value to char *,
74709         Problem reported by Martin Neitzel via Mark D. Baushke.
74710
74711 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
74712
74713         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
74714         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
74715         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
74716         regex.c, sha1.c, version-etc.c, yesno.c:
74717         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
74718         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
74719         the includer's responsibility.
74720
74721         Sync from coreutils.
74722
74723         * lib/modechange.c (mode_compile): Don't decrement a pointer that
74724         points to the start of a string, as the C Standard says the
74725         resulting behavior is undefined.
74726
74727         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
74728         simple -> simple_backups, numbered_existing ->
74729         numbered_existing_backups, numbered -> numbered_backups
74730         to avoid shadowing problems.  All uses changed.
74731         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
74732         * lib/backupfile.c (check_extension, numbered_backup):
74733         Rename locals to avoid shadowing 'basename'.
74734         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
74735         once.
74736
74737         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
74738         * lib/.cvsignore: Add getopt.h.
74739
74740 2004-10-04  Bruno Haible  <bruno@clisp.org>
74741
74742         * modules/README: New file.
74743         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
74744         not a module.
74745
74746 2004-10-02  Jim Meyering  <jim@meyering.net>
74747
74748         * lib/dirfd.h, getpagesize.h: Add copyright notice.
74749
74750 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74751
74752         * modules/strsep: New file.
74753
74754 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74755
74756         * m4/strsep.m4: New file.
74757
74758 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74759
74760         * lib/strsep.h: New file.
74761         * lib/strsep.c: New file.
74762
74763 2004-10-01  Simon Josefsson  <jas@extundo.com>
74764
74765         * lib/snprintf.c (snprintf): Handle size==0.
74766
74767 2004-10-01  Simon Josefsson  <jas@extundo.com>
74768             Bruno Haible  <bruno@clisp.org>
74769
74770         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
74771         (snprintf): Declare 'args'.
74772
74773 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
74774
74775         * lib/snprintf.c: Remove comments as to why each header is needed.
74776
74777 2004-10-01  Bruno Haible  <bruno@clisp.org>
74778
74779         * MODULES.html.sh: Add strsep.
74780
74781 2004-09-30  Simon Josefsson  <jas@extundo.com>
74782
74783         * modules/snprintf: New file.
74784
74785 2004-09-30  Simon Josefsson  <jas@extundo.com>
74786
74787         * m4/snprintf.m4: New file.
74788
74789 2004-09-30  Simon Josefsson  <jas@extundo.com>
74790
74791         * lib/snprintf.h, lib/snprintf.c: New files.
74792
74793 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
74794
74795         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
74796         (hol_entry_help): Never translate an empty string.
74797         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
74798         * lib/argp.h (OPTION_NO_TRANS): New option.
74799
74800 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
74801
74802         * modules/argp (Maintainer): Replace Simon Josefsson
74803         by Sergey Poznyakoff.
74804
74805 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
74806
74807         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
74808         changes merged back into glibc.
74809
74810 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
74811
74812         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
74813
74814 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
74815
74816         * lib/xvasprintf.c: Include xalloc.h.
74817         (xvasprintf): Use xalloc_die, not xmalloc_die.
74818
74819 2004-09-29  Bruno Haible  <bruno@clisp.org>
74820
74821         * modules/alloca-opt: New file, derived from modules/alloca.
74822         * modules/allocsa: Depend on alloca-opt instead of alloca.
74823         * modules/setenv: Likewise.
74824         * modules/vasnprintf: Likewise.
74825         * MODULES.html.sh: Add alloca-opt.
74826
74827 2004-09-28  Simon Josefsson  <jas@extundo.com>
74828
74829         * gnulib-tool: New parameter --lgpl, to asseert that modules are
74830         LGPL, and to replace license template from GPL to LGPL.
74831
74832 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
74833
74834         * modules/dummy: Change license to LGPL.
74835
74836 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
74837
74838         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
74839
74840 2004-09-24  Simon Josefsson  <jas@extundo.com>
74841
74842         * modules/minmax (License): Change from GPL to LGPL.
74843
74844 2004-09-23  Simon Josefsson  <jas@extundo.com>
74845
74846         * gnulib-tool (--import): Typo.
74847
74848 2004-09-23  Simon Josefsson  <jas@extundo.com>
74849
74850         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
74851
74852 2004-09-22  Bruno Haible  <bruno@clisp.org>
74853
74854         * modules/*: Add 'License' field.
74855         * gnulib-tool: Accept --extract-license option.
74856         (func_get_license): New function.
74857
74858 2004-09-21  Bruno Haible  <bruno@clisp.org>
74859
74860         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
74861         Reported by Simon Josefsson.
74862
74863 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
74864
74865         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
74866         gl_AC_TYPE_LONG_LONG.
74867
74868 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
74869
74870         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
74871
74872 2004-09-18  Simon Josefsson  <jas@extundo.com>
74873         and  Paul Eggert  <eggert@cs.ucla.edu>
74874
74875         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
74876         calls with autoreconf.  Define GL_LIB.
74877
74878 2004-09-14  Karl Berry  <karl@gnu.org>
74879
74880         * config/srclist.txt: unsync setenv.c, sigh.
74881
74882 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74883
74884         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
74885         Problem reported by Bruno Haible in:
74886         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
74887
74888 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74889
74890         * config/srclist.txt: Comment out argp-pvh.c.
74891
74892 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
74893
74894         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
74895         in case some system header has #define'd it.  Problem reported by
74896         Soeren D. Schulze in
74897         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
74898
74899 2004-09-09  Karl Berry  <karl@gnu.org>
74900
74901         * regex.[ch]: delete from the root.  These were supposed to be
74902                 synced with emacs cvs, but this has not happened for about
74903                 a year, and anyway nothing else uses emacs regex.[ch].
74904                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
74905                 lib/regex[.ch] is untouched.
74906
74907 2004-09-09  Bruno Haible  <bruno@clisp.org>
74908
74909         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
74910
74911 2004-09-09  Bruno Haible  <bruno@clisp.org>
74912
74913         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
74914         modifications.
74915         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
74916
74917 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
74918
74919         * modules/xvasprintf: New file.
74920         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
74921
74922 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
74923
74924         * lib/xvasprintf.h: New file.
74925         * lib/xvasprintf.c: New file.
74926         * lib/xasprintf.c: New file.
74927
74928 2004-09-08  Bruno Haible  <bruno@clisp.org>
74929
74930         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
74931
74932 2004-09-08  Bruno Haible  <bruno@clisp.org>
74933
74934         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
74935         length is > INT_MAX.
74936         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
74937         more.
74938
74939 2004-09-08  Bruno Haible  <bruno@clisp.org>
74940
74941         * lib/stdint_.h: New file, taken from GNU clisp.
74942
74943 2004-09-08  Bruno Haible  <bruno@clisp.org>
74944             Oskar Liljeblad  <oskar@osk.mine.nu>
74945
74946         * modules/stdint: New file.
74947         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
74948
74949 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74950
74951         Import from coreutils.
74952         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
74953         strings on unbounded length.  alloca's performance benefits aren't
74954         that important here.
74955         (V_STRDUP): Remove.
74956         (parse_with_separator): New function, with most of the internals
74957         of the old parse_user_spec.  Allow user to omit both user and group,
74958         for compatibility with FreeBSD.
74959         Clone only the user name, not the entire spec.
74960         Do not set *uid, *gid unless entirely successful.
74961         Avoid memory leak in some failing cases.
74962         Fix regression for USER.GROUP reported by Dmitry V. Levin in
74963         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
74964         (parse_user_spec): Rewrite to use parse_with_separator.
74965
74966 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74967
74968         * modules/userspec: Don't depend on alloca.
74969
74970 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
74971
74972         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
74973
74974 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
74975
74976         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
74977         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
74978         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
74979
74980 2004-08-16  Simon Josefsson  <jas@extundo.com>
74981
74982         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
74983         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
74984         Add --dry-run for --import.
74985         Let user provided command line parameters override configure.ac
74986         settings.
74987
74988 2004-08-12  Simon Josefsson  <jas@extundo.com>
74989
74990         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
74991         as discussed with Paul Eggert in threads rooted at
74992         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
74993         and
74994         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
74995         Before, the test was empty, and relied on ELIDE_CODE in source
74996         code.)
74997         (gl_PREREQ_GETOPT): New macro.
74998         (gl_GETOPT): Use them.
74999
75000 2004-08-12  Simon Josefsson  <jas@extundo.com>
75001
75002         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
75003         * lib/getopt_.h: Renamed from getopt.h.
75004
75005 2004-08-12  Simon Josefsson  <jas@extundo.com>
75006
75007         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
75008         Change default library name from libfoo to libgnu.
75009         Now, if you have a configure.ac that says:
75010                 gl_SOURCE_BASE(gl)
75011                 gl_M4_BASE(gl/m4)
75012                 gl_MODULES(error getopt etcetera)
75013                 gl_INIT
75014         you can import all you need by running:
75015                 ../gnulib/gnulib-tool --import
75016
75017         * modules/getopt (Files): Rename getopt.h to getopt_.h.
75018         (Makefile.am): Rewrite, use logic from argz.
75019         (Include): Use <getopt.h> instead of "getopt.h".
75020
75021 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
75022
75023         * modules/argp (Files): Add m4/unlocked-io.m4.
75024         (Depends-on): Add extensions.
75025
75026 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
75027
75028         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
75029         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
75030         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
75031         Check for program_invocation_name, program_invocation_short_name,
75032         flockfile, funlockfile, features.h, _getopt_long_only_r.
75033
75034 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
75035
75036         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
75037         its complicated substitute.
75038         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
75039         and program_invocation_name.
75040         (__argp_basename) [!_LIBC]: Remove; the only use was
75041         replaced by its body.
75042         (__argp_short_program_name): Change condition from
75043         !defined __argp_short_program_name to
75044         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
75045         to match argp-namefrob.h.
75046         (__argp_failure): Don't assume strerror_r returns char *.
75047         * lib/argp-parse.c (N_): Define unconditionally.
75048         (argp_default_options): Fill out initializers with 0 to avoid
75049         gcc warnings.
75050
75051 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
75052
75053         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
75054         getopt1.c.
75055
75056 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75057
75058         Merge from coreutils.
75059
75060         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
75061
75062         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
75063         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
75064
75065 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75066
75067         Merge from coreutils.
75068
75069         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
75070         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
75071         for Reliant Unix 5.43.
75072
75073         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
75074         (union fooround): Use uintmax_t, not long int.
75075         The rest is a merge from libc:
75076         [defined _LIBC]: Include <shlib-compat.h>.
75077         (_obstack) [defined _LIBC]: Remove after 2.3.4.
75078
75079         * lib/settime.c (settime): Recode to avoid warning with
75080         Sun Forte C 6U2.
75081
75082         * lib/strverscmp.c: Convert to UTF-8.
75083
75084 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
75085
75086         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
75087         m4/uintmax_t.m4.
75088
75089 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75090
75091         * modules/xalloc-die: New file.
75092         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
75093
75094         * modules/md5 (Files): Add m4/uint32_t.m4.
75095         * modules/sha1: Renamed from modules/sha.
75096         (Files):
75097         Rename lib/sha.h to lib/sha1.h.
75098         Rename lib/sha.c to lib/sha1.c.
75099         Rename m4/sha.m4 to m4/sha1.m4.
75100         (lib_SOURCES): Likewise.
75101         (configure.ac): Rename gl_SHA to gl_SHA1.
75102         (Include): sha.h -> sha1.h.
75103
75104 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75105
75106         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
75107         * m4/sha1.m4: Renamed from sha.m4.
75108         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
75109
75110 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
75111
75112         * lib/obstack.h (obstack_empty_p):
75113         Don't assume that chunk->contents is suitably aligned.
75114         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
75115         Likewise. Problem reported by Benno in
75116         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
75117
75118         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
75119         readable.  This could be improved further but it'd take some work.
75120
75121 2004-08-08  Simon Josefsson  <jas@extundo.com>
75122
75123         * modules/xgethostname (Depends-on): Remove exit and error (not
75124         used).
75125
75126         * modules/getpass-gnu: Add getpass.h.
75127         (Depends-on): Add stdbool.
75128         * modules/getpass: Add getpass.h.
75129
75130 2004-08-08  Simon Josefsson  <jas@extundo.com>
75131
75132         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
75133         Check getpass declaration.
75134
75135 2004-08-08  Simon Josefsson  <jas@extundo.com>
75136
75137         * lib/xgethostname.c: Don't include error.h (not used).
75138
75139         * lib/getpass.h: Add.
75140         * lib/getpass.c: Include getpass.h first.
75141
75142 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
75143
75144         * lib/xalloc-die.c: New file.
75145         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
75146         All uses removed.
75147         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
75148         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
75149         xalloc-die.c.
75150         (_, N_, xalloc_die): Move to xalloc-die.c.
75151         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
75152         so that we needn't mess with xalloc_msg_memory_exhausted.
75153
75154         * lib/sha1.h: Renamed from sha.h.
75155         (SHA1_H): Renamed from _SHA_H.
75156         (sha1_ctx): Renamed from sha_ctx.
75157         (sha1_init_ctx): Renamed from sha_init_ctx.
75158         (sha1_process_block): Renamed from sha_process_block.
75159         (sha1_process_bytes): Renamed from sha_process_bytes.
75160         (sha1_finish_ctx): Renamed from sha_finish_ctx.
75161         (sha1_read_ctx): Renamed from sha_read_ctx.
75162         (sha1_stream): Renamed from sha_stream.
75163         (sha1_buffer): Renamed from sha_buffer.
75164         * lib/sha1.c: Likewise; renamed from sha.c.
75165         Do not include <sys/types.h>.
75166         Include <stddef.h> rather than <stdlib.h>.
75167
75168 2004-08-08  Bruno Haible  <bruno@clisp.org>
75169
75170         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
75171         FILESYSTEM_PREFIX_LEN.
75172         * lib/progreloc.c: Likewise.
75173         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
75174
75175 2004-08-06  Simon Josefsson  <jas@extundo.com>
75176
75177         * modules/progname (Depends-on): Don't depend on stdbool.
75178
75179 2004-08-06  Simon Josefsson  <jas@extundo.com>
75180
75181         * modules/getsubopt: New file.
75182         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75183         getsubopt.
75184
75185 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
75186
75187         More merge from coreutils.
75188
75189         * m4/utimens.m4, m4/utimecmp.m4: New files.
75190         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
75191         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
75192         prereq.m4, sha.m4: Import changes from coreutils.
75193
75194 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
75195
75196         More merge from coreutils.
75197         * modules/raise, modules/readtokens0, modules/utimens:
75198         * modules/utimecmp, module/xnanosleep: New files.
75199         * modules/strftime: Add lib/strftime.h.
75200         Change include from <time.h> to "strftime.h".
75201         * modules/yesno: Add lib/yesno.h.
75202         * modules/backupfile: Remove lib/addext.c.
75203         * modules/euidaccess: Add stat-macros.h.
75204         * modules/canonicalize, modules/euidaccess,
75205         modules/filemode, modules/lchown, modules/makepath,
75206         modules/rmdir, modules/stat: Likewise.
75207
75208 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
75209
75210         Merge from tar.
75211         * lib/argp-help.c (make_hol, hol_append): Don't assume that
75212         SIZE_MAX is a valid preprocessor constant.
75213         (__argp_basename): Change from "#ifndef _LIBC"
75214         to "#ifndef __argp_short_program_name", so that
75215         we don't compile these functions for tar.
75216
75217         More merges from coreutils.
75218         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
75219         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
75220         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
75221         * lib/addext.c: Remove; no longer needed.
75222         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
75223         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
75224         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
75225         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
75226         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
75227         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
75228         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
75229         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
75230         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
75231         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
75232         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
75233         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
75234         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
75235         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
75236         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
75237         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
75238         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
75239         Import changes from coreutils.
75240
75241 2004-08-05  Simon Josefsson  <jas@extundo.com>
75242
75243         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
75244
75245 2004-08-05  Simon Josefsson  <jas@extundo.com>
75246
75247         * m4/getsubopt.m4: New file.
75248
75249 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
75250
75251         Merge from coreutils.
75252
75253         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
75254         * m4/getcwd-path-max.m4: New files.
75255
75256         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
75257         FILESYSTEM_PREFIX_LEN ->
75258         FILE_SYSTEM_PREFIX_LEN.
75259         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
75260         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
75261         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
75262         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
75263
75264         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
75265         prerequisite modules now handle the DOS stuff.
75266         Don't check for unistd.h.
75267
75268 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
75269
75270         Merge from coreutils.
75271
75272         * lib/.gdb-history: Remove; this doesn't belong here.
75273
75274         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
75275         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
75276         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
75277         * lib/getcwd.c: New files.
75278
75279         * lib/dirname.h: Include <stdbool.h>.
75280         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
75281         for consistency with POSIX terminology.  All uses changed.
75282         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
75283         (strip_trailing_slashes): Use bool for booleans.
75284         * lib/stripslash.c (strip_trailing_slashes): Likewise.
75285
75286         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
75287         sometimes returns a positive errno value even when it succeeds.
75288         (print_errno_message) [!LIBC]: Fall back on strerror if
75289         __strerror_r fails.
75290
75291         * lib/path-concat.c (mempcpy): Don't define if a system header defines
75292         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
75293         (longest_relative_suffix): New function.
75294         (path_concat): Use it.  Assume first argument is not NULL.
75295         Port to DOS.  Omit redundant separators.
75296         Report an error instead of returning NULL.
75297         Use mempcpy instead of memcpy.
75298         (xpath_concat): Remove: not declared or used.
75299
75300         * lib/same.h: Include <stdbool.h>
75301         (same_name): Return bool, not int.
75302         * lib/same.c (same_name): Likewise.
75303         (errno): Don't declare; we assume C89 or better now.
75304
75305         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
75306         if not already defined.
75307
75308         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
75309         * lib/dup-safer.c (errno): Likewise.
75310
75311 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
75312
75313         Merge from coreutils.
75314         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
75315         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
75316         * modules/path-concat: Don't depend on strdup.
75317
75318 2004-08-03  Simon Josefsson  <jas@extundo.com>
75319
75320         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
75321         * lib/progname.h: Don't include stdbool.h.
75322
75323 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
75324
75325         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
75326         * MODULES.html.sh (func_all_modules): Remove fatal.
75327
75328 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
75329
75330         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
75331
75332 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
75333
75334         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
75335         working.
75336
75337 2004-08-02  Simon Josefsson  <jas@extundo.com>
75338
75339         * lib/getsubopt.h: New file, with comments from Bruno Haible.
75340         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
75341         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
75342
75343 2004-08-01  Simon Josefsson  <jas@extundo.com>
75344
75345         * lib/xgetdomainname.c: Include stdlib.h, for free().
75346
75347 2004-07-19  Bruno Haible  <bruno@clisp.org>
75348
75349         * MODULES.html.sh (func_all_modules): Add dummy.
75350
75351 2004-07-16  Simon Josefsson  <jas@extundo.com>
75352
75353         * modules/dummy: New file.
75354
75355 2004-07-16  Simon Josefsson  <jas@extundo.com>
75356
75357         * lib/dummy.c: New file.
75358
75359 2004-07-16  Bruno Haible  <bruno@clisp.org>
75360
75361         * lib/backupfile.h: Add extern "C" for C++.
75362         * lib/closeout.h: Likewise.
75363         * lib/copy-file.h: Likewise.
75364         * lib/findprog.h: Likewise.
75365         * lib/full-write.h: Likewise.
75366         * lib/pathname.h: Likewise.
75367         * lib/progname.h: Likewise.
75368         * lib/stpcpy.h: Likewise.
75369         * lib/stpncpy.h: Likewise.
75370         * lib/strcase.h: Likewise.
75371         * lib/strstr.h: Likewise.
75372         * lib/xalloc.h: Likewise.
75373
75374         * lib/mbswidth.h: Add extern "C" for C++.
75375         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
75376
75377 2004-07-13  Robert Millan  <robertmh@gnu.org>
75378
75379         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
75380
75381 2004-07-09  Simon Josefsson  <jas@extundo.com>
75382
75383         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
75384         failed without this.)
75385
75386 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75387
75388         * modules/chown (Files): Add lib/fchown-stub.c, since
75389         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
75390
75391 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
75392
75393         * lib/fchown-stub.c: New file.
75394
75395 2004-06-24  Jim Meyering  <jim@meyering.net>
75396
75397         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
75398
75399 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75400
75401         * modules/argz: Omit "#include".
75402
75403         * MODULES.html.sh (func_all_modules): Add calloc, to match
75404         2004-06-01 addition of calloc module.
75405
75406 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75407
75408         * m4/argz.m4: New file, which is autoupdated from libtool.
75409
75410 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75411
75412         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
75413         libtool.
75414
75415 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75416
75417         * config/srclist-update: Don't insist on "USA." before the
75418         close-comment, as libtool omits the period and puts the */ on a
75419         separate line.
75420         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
75421         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
75422
75423 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
75424
75425         * modules/argz: New file.
75426         * MODULES.html.sh (func_all_modules): Add argz.
75427
75428 2004-06-12  Jim Meyering  <jim@meyering.net>
75429         and  Paul Eggert  <eggert@cs.ucla.edu>
75430
75431         * modules/hash (Files): Add lib/xalloc.h.
75432         * modules/pipe (Depends-on): Add wait-process.
75433         * modules/stat (Depends-on): Add xalloc.
75434         * modules/userspec (Files): Add lib/userspec.h.
75435         * modules/xstrto
75436
75437         Upgrade from gettext-0.13.
75438         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
75439         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
75440         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
75441
75442 2004-06-10  Jim Meyering  <jim@meyering.net>
75443
75444         * lib/calloc.c: New file.
75445
75446 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
75447
75448         * lib/getdate.y (yylex): Allow space between sign and number.
75449         Problem reported by Dan Jacobson.
75450
75451 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
75452
75453         Merge from coreutils CVS.
75454
75455         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
75456         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
75457         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
75458         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
75459         xstrtol.m4: Fix copyright date and/or serial number.
75460
75461         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
75462         See if we need an fchown replacement.
75463         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
75464         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
75465         and use the replacement function if we detect either defect.
75466
75467         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
75468         gl_UTIMECMP.
75469
75470 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
75471         and  Jim Meyering  <jim@meyering.net>
75472
75473         Merge from coreutils CVS.
75474
75475         * lib/stat-macros.h: New file, with contents from file-type.h
75476         and coreutils' system.h.
75477         * lib/file-type.c: Include "stat-macros.h".
75478         * lib/file-type.h (file_type): Move all macro definitions to new file,
75479         stat-macros.h.
75480
75481         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
75482         Wrap old code with this conditional.
75483         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
75484         function that does not dereference symlinks.
75485         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
75486
75487         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
75488         dependency problems.
75489         (xreadlink): Accept new arg SIZE, for efficiency.
75490         All decls and uses changed.
75491         * lib/xreadlink.h: Include <stddef.h>, for size_t.
75492
75493         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
75494         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
75495
75496         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
75497         sysexits.h.
75498
75499 2004-06-01  Jim Meyering  <jim@meyering.net>
75500
75501         * m4/calloc.m4: New file.
75502
75503 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
75504
75505         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
75506         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
75507         Also, fix a typo in a diagnostic.
75508
75509 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
75510
75511         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
75512         or AC_FUNC_REALLOC.
75513
75514 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
75515
75516         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
75517         macros to be defined.
75518         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
75519         the allocator returns NULL because the requested size is zero.
75520
75521 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
75522
75523         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
75524         var.  Add comment explaining why libc still defines it.  This
75525         merges the following patch from glibc:
75526         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
75527
75528 2004-05-20  Andreas Schwab  <schwab@suse.de>
75529
75530         * m4/free.m4: Replace free if it not known to work, not the other
75531         way round.
75532
75533 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75534
75535         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
75536         present in glibc since revision 1.1 of this file.
75537         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
75538         obstack_alignment_mask, obstack_alloc, obstack_base,
75539         obstack_blank, obstack_blank_fast, obstack_chunk_size,
75540         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
75541         obstack_grow0, obstack_init, obstack_int_grow,
75542         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
75543         obstack_next_free, obstack_object_size, obstack_ptr_grow,
75544         obstack_ptr_grow_fast, obstack_room): Remove declarations of
75545         nonexistent functions.
75546
75547 2004-05-18  Karl Berry  <karl@gnu.org>
75548
75549         * config/srclist.txt: break link for vasnprintf.c.
75550
75551 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
75552
75553         Port obstack to the AS/400, where pointers are 16 bytes wide and
75554         you cannot cast an integer to a valid pointer.  This patch is
75555         currently waiting to be integrated into glibc; see
75556         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
75557
75558         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
75559         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
75560         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
75561         (struct obstack): temp member is now a union of a pointer and
75562         an integer, instead of an integer.  All integer uses changed.
75563         This does not affect the physical layout of struct obstack,
75564         except on hosts (like the AS/400) where the size or alignment of
75565         void * is greater than that of ptrdiff_t.
75566         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
75567         __STDC__)]: Store temporary in pointer member of union, not
75568         integer member.
75569         * lib/obstack.c: Include <stddef.h>, for offsetof.
75570         (struct fooalign): Remove; it doesn't need a name.
75571         (union fooround): Change double to long double, and add void *.
75572         (DEFAULT_ALIGNMENT): Use offsetof to compute.
75573         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
75574         not a macro.  Hence the values are always int; so remove all
75575         casts-to-int in uses.
75576
75577 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
75578
75579         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
75580         we can get this patch merged into glibc.
75581
75582 2004-05-17  Derek R. Price  <derek@ximbiot.com>
75583             Paul Eggert  <eggert@cs.ucla.edu>
75584
75585         * m4/argp: Depend on alloca.
75586
75587 2004-05-17  Derek R. Price  <derek@ximbiot.com>
75588             Paul Eggert  <eggert@cs.ucla.edu>
75589
75590         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
75591         freecoding.
75592
75593 2004-05-17  Bruno Haible  <bruno@clisp.org>
75594
75595         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
75596         precision that consists of a '.' followed by an empty digit string.
75597         Patch by Tor Lillqvist <tml@iki.fi>.
75598
75599 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
75600
75601         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
75602         for backward compatibility with older code.  We need our own
75603         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
75604         it under some other name, and our alloca.h will define it.
75605
75606 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
75607             Derek Price  <derek@ximbiot.com>
75608
75609         * lib/alloca.c: Include <alloca.h>, to get our interface.
75610         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
75611         include <alloca.h> first.  Use C89 prototype for alloca; this
75612         requires including <stddef.h> for size_t.  Use extern "C" if C++.
75613         Use #elif for simplicity, since we can assume C89 now.
75614         Don't try to source the system alloca.h since it will not be found
75615         and to prevent recursively including its replacement.
75616         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
75617         * lib/regex.c: Likewise.
75618
75619 2004-05-16  Derek Price  <derek@ximbiot.com>
75620             Paul Eggert  <eggert@cs.ucla.edu>
75621
75622         getline cleanup.  This changes the getndelim2 API: both order of
75623         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
75624         no delimiter).
75625
75626         * lib/getline.c: Don't include stddef.h or stdio.h, since our
75627         interface does that.
75628         (getline): Always use getdelim, so that we don't have two
75629         copies of this code.
75630         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
75631         if available.
75632         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
75633         (GETNDELIM2_MAXIMUM): New macro.
75634         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
75635         instead of the old practice of delim2==0.  All callers changed.
75636         Return -1 on overflow, instead of returning junk.
75637         Do not set *linesize unless allocation succeeds.
75638         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
75639         that we include sys/types.h.
75640         * lib/getnline.h: Likewise.
75641         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
75642         (getndelim2): Reorder arguments.
75643         * lib/getnline.c (getnline, getndelim):
75644         Don't discard the NMAX argument.
75645         (getnline): Invoke getndelim, to avoid code duplication.
75646         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
75647         of (size_t) -1 by callers of the getnline family.
75648
75649 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
75650
75651         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
75652         Check for gettimeofday.
75653         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
75654         Check for settimeofday, stime.
75655
75656 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
75657
75658         * lib/nanosleep.c (suspended): Change its type from int to
75659         sig_atomic_t volatile.
75660         (first_call): Make it private to rpl_nanosleep, and have it
75661         be zero initially as that's a bit faster.
75662         (my_usleep): Round up fractional times instead of truncating them,
75663         as this is the usual meaning for 'sleep'.
75664
75665         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
75666         doesn't work.
75667         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
75668         (ENOSYS): Define if not defined.
75669         (settime): Fall back on stime if it exists and settimeofday fails.
75670         But don't bother with fallbacks if a method fails with errno == EPERM.
75671
75672 2004-05-11  Jim Meyering  <jim@meyering.net>
75673
75674         Prior to this change, the save_cwd caller required read access to the
75675         current directory on most systems (ones with the fchdir function).
75676
75677         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
75678         fails, try write-only, and finally, resort to using xgetcwd.
75679
75680 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
75681
75682         * lib/obstack.c, obstack.h: Import changes from libc.
75683
75684 2004-04-28  Bruno Haible  <bruno@clisp.org>
75685
75686         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
75687         also implicitly appends .exe to executables.
75688         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
75689         accepts Windows pathnames.
75690         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
75691         Treat Cygwin like Windows, since it now accepts Windows pathnames.
75692         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
75693         Treat Cygwin like Windows, since it now accepts Windows pathnames.
75694         Reported by Derek Robert Price <derek@ximbiot.com>.
75695
75696 2004-04-21  Karl Berry  <karl@gnu.org>
75697
75698         * config/srclist.txt (localcharset.c): break sync.
75699
75700 2004-04-20  Paul Eggert  <eggert@twinsun.com>
75701
75702         * m4/host-os.m4: Add a copyright notice.
75703
75704 2004-04-20  Jim Meyering  <jim@meyering.net>
75705
75706         Change UTILS_ to gl_ in AC_DEFINE'd names.
75707         Change utils_- and jm_-prefixed variables, too.
75708         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
75709         UTILS_FUNC_MKDIR_TRAILING_SLASH.
75710         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
75711
75712         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
75713         Don't emit trailing blanks.
75714         Also rename jm_-prefixed variables to have gl_ prefix.
75715
75716         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
75717         Also rename jm_-prefixed variables to have gl_ prefix.
75718
75719         * m4/jm-macros.m4: Reflect the renamings.
75720         * m4/prereq.m4: Likewise.
75721
75722 2004-04-20  Jim Meyering  <jim@meyering.net>
75723
75724         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
75725         memory.
75726
75727 2004-04-20  Jim Meyering  <jim@meyering.net>
75728             Bruno Haible  <bruno@clisp.org>
75729
75730         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
75731         memory when realloc fails.
75732
75733 2004-04-19  Jim Meyering  <jim@meyering.net>
75734
75735         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
75736         now that readutmp.c may call `free (0)'.
75737
75738 2004-04-19  Bruno Haible  <bruno@clisp.org>
75739
75740         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
75741         * m4/inttypes_h.m4: Likewise.
75742         * m4/stdint_h.m4: Likewise.
75743         * m4/intmax_t.m4: Likewise.
75744         * m4/uintmax_t.m4: Likewise.
75745
75746 2004-04-18  Jim Meyering  <jim@meyering.net>
75747
75748         * m4/prereq.m4: Don't forbid jm_ prefix.
75749
75750         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
75751         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
75752         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
75753         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
75754         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
75755         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
75756         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
75757         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
75758         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
75759         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
75760         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
75761         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
75762         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
75763         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
75764         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
75765         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
75766         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
75767         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
75768         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
75769
75770 2004-04-18  Jim Meyering  <jim@meyering.net>
75771
75772         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
75773         failure, don't leak memory and do call END_UTMP_ENT.
75774
75775 2004-04-16  Jim Meyering  <jim@meyering.net>
75776
75777         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
75778         coreutils' stat program.
75779         (gl_PREREQ): Don't require jm_PREREQ_STAT.
75780
75781 2004-04-11  Paul Eggert  <eggert@twinsun.com>
75782
75783         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
75784         C89.
75785         (CHAR_BIT): Remove, since we assume C89.
75786         Include <stdint.h> if available, as per current Autoconf CVS advice.
75787
75788 2004-03-31  Jim Meyering  <jim@meyering.net>
75789
75790         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
75791         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
75792         * m4/xalloc.m4: Likewise.
75793
75794 2004-03-30  Paul Eggert  <eggert@twinsun.com>
75795
75796         Merge from coreutils.
75797
75798         * m4/inttostr.m4: New file.
75799         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
75800         Require AM_STDBOOL_H and gl_TIMESPEC instead.
75801         Require gl_CLOCK_TIME.
75802         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
75803
75804 2004-03-30  Paul Eggert  <eggert@twinsun.com>
75805
75806         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
75807         not bool, to be more consistent with Unix conventions.
75808         Suggested by Bruno Haible.
75809
75810         Merge from coreutils.
75811
75812         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
75813         * lib/umaxtostr.c: New files.
75814
75815         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
75816         the usual <time.h> dance.
75817         (get_date): Change signature to support fractional time stamps.
75818         All callers changed.
75819         * lib/getdate.y: Include "getdate.h" first, as we can now
75820         assume C89 and don't need to worry about 'const'.
75821         Similarly, include "unlocked-io.h" near start, not in middle.
75822         Include <limits.h>.
75823         (textint.value): Use long int rather than int.
75824         (textint.digits): Use size_t rather than int.
75825         (BILLION, LOG10_BILLION): New constants.
75826         (parser_control): New member rel_ns.  Members day_ordinal,
75827         time_zone, month, day, hour, minutes, rel_year, rel_month,
75828         rel_day, rel_hour, rel_minutes, rel_seconds
75829         are now long int, not int.  Member seconds is now struct timespec,
75830         not int.  New member timespec_seen.  Members dates_seen, days_seen,
75831         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
75832         not int.
75833         (%union.intval): Now long int, not int.
75834         New member timespec.
75835         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
75836         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
75837         (spec): Now is a timespec or an item list.
75838         (timespec, items): New nonterminals.
75839         (time, rel, relunit, number, get_date):
75840         Add support for fractional seconds.
75841         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
75842         (gmtime, localtime, mktime): Remove decls; not needed with C89.
75843         (to_hour): First arg is now long int, not int.
75844         (to_year): Returns long int, not int.
75845         Don't treat year -70 like 70.
75846         (tm_diff): Returns long int, not int.
75847         (lookup_word): Use bool instead of int when appropriate.
75848         (yylex): Use size_t for count, not int.
75849         Detect overflow when parsing large integer constants.
75850         Add support for fractions.
75851         (get_date): Make pointers 'const' if possible.
75852         Use more-portable code to detect integer overflow.
75853         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
75854         Don't use ctime; it's not reliable if the year has >4 digits.
75855
75856         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
75857         This is for compatibility with BSD.
75858
75859         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
75860         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
75861         From coreutils' system.h.
75862
75863         * lib/userspec.c: Don't include "posixver.h".
75864         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
75865         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
75866         compatible extension.  Simplify code by removing a boolean int
75867         that was always nonzero if a string was nonnull.
75868
75869 2004-03-30  Jim Meyering  <jim@meyering.net>
75870
75871         Merge from coreutils.
75872
75873         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
75874         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
75875         on some systems one must include <grp.h> before it.
75876         Reported by Christian Krackowizer.
75877
75878 2004-03-30  Jim Meyering  <jim@meyering.net>
75879
75880         Merge from coreutils.
75881
75882         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
75883
75884         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
75885         an empty input stream.
75886
75887         * lib/readtokens.c: Include <stdbool.h>.
75888         (readtoken): Use `size_t' rather than int/long.
75889         All callers adjusted.
75890         Use `bool' rather than `int' where appropriate.
75891         Use memset rather than an explicit loop.
75892         Use x2nrealloc rather than xrealloc.
75893         Allow the use of `\0' as a delimiter.
75894         (readtokens): Likewise.
75895         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
75896
75897 2004-03-30  Jim Meyering  <jim@meyering.net>
75898
75899         * m4/realloc.m4: Remove file, since now it does no more than
75900         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
75901         the `configure.ac' section of module/realloc.
75902         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
75903
75904 2004-03-30  Bruno Haible  <bruno@clisp.org>
75905
75906         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
75907         nonnull.
75908
75909 2004-03-29  Paul Eggert  <eggert@twinsun.com>
75910
75911         Merge changes to getloadavg.c from coreutils and Emacs.
75912
75913         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
75914         Define to an expression, not to the empty string.
75915         Include cloexec.h and xalloc.h.
75916         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
75917         Use set_cloexec_flag rather than rolling our own.
75918         * lib/cloexec.c, lib/cloexec.h: New files.
75919
75920 2004-03-29  Paul Eggert  <eggert@twinsun.com>
75921
75922         * m4/cloexec.m4: New file.
75923
75924 2004-03-18  Paul Eggert  <eggert@twinsun.com>
75925
75926         * lib/getopt.h: Sync with libc CVS.
75927
75928 2004-03-18  Paul Eggert  <eggert@twinsun.com>
75929             Bruno Haible  <bruno@clisp.org>
75930
75931         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
75932         mbswidth.
75933
75934 2004-03-18  Paul Eggert  <eggert@twinsun.com>
75935             Bruno Haible  <bruno@clisp.org>
75936
75937         * lib/mbswidth.h: Include <wchar.h> only if
75938         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
75939         <wchar.h>.
75940         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
75941
75942 2004-03-09  Paul Eggert  <eggert@twinsun.com>
75943
75944         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
75945         Sync with libc CVS.
75946         * lib/getopt_int.h: New file, also synced from libc.
75947
75948 2004-03-09  Paul Eggert  <eggert@twinsun.com>
75949
75950         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
75951         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
75952         Bring back getopt.c, getopt.h, getopt1.c.
75953
75954 2004-03-07  Paul Eggert  <eggert@twinsun.com>
75955
75956         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
75957         All uses changed.  Check for sa_sigaction member; this fixes
75958         a bug first reported by Jason Andrade in
75959         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
75960
75961 2004-03-07  Paul Eggert  <eggert@twinsun.com>
75962
75963         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
75964         '#if' expressions.  Unlike the code it replaces, it does not
75965         depend on (defined _SC_PAGESIZE).  However, it does depend on
75966         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
75967         first reported by Jason Andrade in
75968         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
75969
75970 2004-02-25  Simon Josefsson  <jas@extundo.com>
75971
75972         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
75973
75974 2004-02-25  Simon Josefsson  <jas@extundo.com>
75975
75976         * lib/strdup.h: New file.
75977         * lib/strdup.c: Include it.
75978         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
75979         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
75980
75981 2004-02-23  Karl Berry  <karl@gnu.org>
75982
75983         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
75984         (from fencepost.gnu.org:/gd/gnuorg).
75985
75986 2004-02-23  Karl Berry  <karl@gnu.org>
75987
75988         * config/srclistvars.sh (GNUORG) [karl]: redefine.
75989         * config/srclist.txt: add maintain/standards documents.
75990
75991 2004-02-18  Bruno Haible  <bruno@clisp.org>
75992
75993         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
75994         Reported by Derek Robert Price <derek@ximbiot.com>.
75995
75996 2004-02-16  Karl Berry  <karl@gnu.org>
75997
75998         * config/mkinstalldirs, install-sh: update from automake.
75999
76000 2004-02-06  Karl Berry  <karl@gnu.org>
76001
76002         * m4/po.m4: update from gettext 0.14.1.
76003
76004 2004-02-06  Karl Berry  <karl@gnu.org>
76005
76006         * lib/config.charset: update from gettext 0.14.1.
76007
76008 2004-02-05  Paul Eggert  <eggert@twinsun.com>
76009
76010         Add comments and code, prompted by suggestions from Bruno Haible
76011         for sh-quote.
76012         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
76013         describing the enum quoting_style values.
76014         * lib/quotearg.c (quotearg_alloc): New function.
76015         (quotearg_buffer_restyled): Treat lone { and } as special.
76016         Treat = as special.  Work around bug with older shells
76017         that "see" a '\' that is really the 2nd byte of a multibyte char.
76018         Quote empty string with shell_quoting_style.
76019
76020 2004-02-03  Bruno Haible  <bruno@clisp.org>
76021
76022         * m4/pipe.m4: New file, from GNU gettext.
76023
76024 2004-02-03  Bruno Haible  <bruno@clisp.org>
76025
76026         * lib/pipe.h: New file, from GNU gettext.
76027         * lib/pipe.c: New file, from GNU gettext.
76028
76029 2004-01-27  Bruno Haible  <bruno@clisp.org>
76030
76031         * m4/execute.m4: New file, from GNU gettext.
76032
76033 2004-01-27  Bruno Haible  <bruno@clisp.org>
76034
76035         * lib/execute.h: New file, from GNU gettext.
76036         * lib/execute.c: New file, from GNU gettext.
76037         * lib/w32spawn.h: New file, from GNU gettext.
76038
76039 2004-01-24  Paul Eggert  <eggert@twinsun.com>
76040
76041         Merge from diffutils.
76042
76043         * lib/file-type.c (file_type): Add typed memory objects.
76044         * lib/file-type.h (S_TYPEISTMO): New macro.
76045
76046         * lib/c-stack.h (c_stack_action): Remove argv argument.
76047         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
76048         (die): Don't calculate message unless segv_action returns.
76049         (get_stack_location, min_address_from_argv, max_address_from_argv,
76050         volatile stack_base, volatile_stack_size): Remove.
76051         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
76052         that every segmentation violation is a stack overflow.  (Ouch!)
76053         See Debian bug 136249 (still outstanding) for more info about why
76054         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
76055
76056 2004-01-24  Paul Eggert  <eggert@twinsun.com>
76057
76058         Exit-status fix from coreutils.
76059
76060         Use exit_failure consistently in place of EXIT_FAILURE,
76061         so that program exit statuses are consistent on failure.
76062
76063         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
76064         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
76065         * lib/argmatch.h: Comment fix to match the above.
76066         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
76067         Now a macro referring to exit_failure, instead of a separate
76068         variable.  Include "exitfail.h" to get it.
76069         * lib/xstrtol.h: Include "exitfail.h".
76070         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
76071
76072         * lib/long-options.c (parse_long_options): Use prototype
76073         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
76074         for clarity.
76075
76076 2004-01-21  Jim Meyering  <jim@meyering.net>
76077
76078         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
76079         so as not to conflict with a different-sized __mktime_internal
76080         function in GNU libc.
76081         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
76082         Problem building statically-linked `ls' reported by Michael Brunnbauer.
76083
76084 2004-01-20  Karl Berry  <karl@gnu.org>
76085
76086         * config/config.guess: update from config.
76087
76088         * config/srclistvars.sh: GNUWWWLICENSES for karl.
76089
76090 2004-01-20  Bruno Haible  <bruno@clisp.org>
76091
76092         Safer stack allocation.
76093         * lib/setenv.c: Include allocsa.h.
76094         (alloca): Remove fallback definition.
76095         (freea): Remove macro.
76096         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
76097         instead of freea.
76098
76099 2004-01-20  Bruno Haible  <bruno@clisp.org>
76100
76101         * m4/eealloc.m4: New file, from GNU gettext.
76102
76103 2004-01-20  Bruno Haible  <bruno@clisp.org>
76104
76105         * m4/allocsa.m4: New file, from GNU gettext.
76106
76107 2004-01-20  Bruno Haible  <bruno@clisp.org>
76108
76109         * lib/xallocsa.h: New file, from GNU gettext.
76110         * lib/xallocsa.c: New file, from GNU gettext.
76111
76112 2004-01-20  Bruno Haible  <bruno@clisp.org>
76113
76114         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
76115
76116 2004-01-20  Bruno Haible  <bruno@clisp.org>
76117
76118         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
76119         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
76120         specially.
76121
76122 2004-01-20  Bruno Haible  <bruno@clisp.org>
76123
76124         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
76125         patch.
76126
76127 2004-01-20  Bruno Haible  <bruno@clisp.org>
76128
76129         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
76130
76131 2004-01-20  Bruno Haible  <bruno@clisp.org>
76132
76133         * lib/eealloc.h: New file.
76134
76135 2004-01-20  Bruno Haible  <bruno@clisp.org>
76136
76137         * lib/binary-io.h: Avoid warnings on Cygwin.
76138
76139 2004-01-20  Bruno Haible  <bruno@clisp.org>
76140
76141         * lib/allocsa.h: New file, from GNU gettext.
76142         * lib/allocsa.c: New file, from GNU gettext.
76143
76144 2004-01-18  Karl Berry  <karl@gnu.org>
76145
76146         * doc/gpl.texi, doc/lgpl.texi: new files.
76147
76148 2004-01-18  Karl Berry  <karl@gnu.org>
76149
76150         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
76151         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
76152
76153 2004-01-15  Paul Eggert  <eggert@twinsun.com>
76154
76155         Merge from coreutils.
76156
76157         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
76158         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
76159         (gl_DEFAULT_POSIX2_VERSION): Move
76160         the documentation from 'configure' into 'config.hin',
76161         so that 'configure --help' isn't burdened by it and
76162         we don't have to worry about its formatting there.
76163         Reword the documentation so that it's more succinct
76164         and can be run together into a single paragraph.
76165         * m4/same.m4 (gl_SAME): Check for pathconf.
76166
76167 2004-01-15  Paul Eggert  <eggert@twinsun.com>
76168
76169         Merge from coreutils.
76170
76171         * lib/posixver.c: Include posixver.h.
76172
76173         * lib/same.c: Include <stdbool.h>, <limits.h>.
76174         (_POSIX_NAME_MAX): Define if not defined.
76175         (MIN): New macro.
76176         (same_name): If file names are silently truncated, report
76177         that the file names are the same if they are the same after
76178         the silent truncation.
76179
76180         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
76181         conversion function.
76182         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
76183         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
76184         longer needed.
76185
76186 2004-01-15  Jim Meyering  <jim@meyering.net>
76187
76188         Merge from coreutils.
76189
76190         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
76191         if no library is required.
76192         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
76193         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
76194         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
76195         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
76196         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
76197         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
76198         value, $ac_cv_search_crypt, if it's "none required".
76199         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
76200         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
76201         not gl_FUNC_GETLOADAVG.
76202         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
76203         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
76204
76205 2004-01-15  Jim Meyering  <jim@meyering.net>
76206
76207         Merge from coreutils.
76208
76209         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
76210         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
76211         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
76212
76213         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
76214         optional configure-time default.
76215
76216         * lib/version-etc.c (version_etc_copyright): Update copyright date.
76217
76218         * lib/xreadlink.c (xreadlink): Correct outdated comment.
76219
76220 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
76221
76222         Merge from coreutils.
76223
76224         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
76225         value, $ac_cv_search_nanosleep, if it's "none required".
76226
76227 2004-01-14  Paul Eggert  <eggert@twinsun.com>
76228
76229         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
76230         with like-named macro in fnmatch.c.
76231         (EXT): Use an internal constant instead.
76232
76233         Merge fnmatch patches from glibc.
76234         * lib/fnmatch.c (mbsinit): Remove define.
76235         Add libc_hidden_ver (__fnmatch, fnmatch).
76236         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
76237         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
76238
76239 2004-01-14  Karl Berry  <karl@gnu.org>
76240
76241         * config/install-sh: update from automake.
76242
76243 2004-01-13  Karl Berry  <karl@gnu.org>
76244
76245         * config/install-sh: update from automake.
76246
76247 2004-01-09  Karl Berry  <karl@gnu.org>
76248
76249         * config/install-sh: update from automake.
76250
76251 2004-01-05  Karl Berry  <karl@gnu.org>
76252
76253         * config/config.{sub,guess}: update from config.
76254
76255 2003-12-31  Karl Berry  <karl@gnu.org>
76256
76257         * config/depcomp: update from automake.
76258
76259 2003-12-14  Karl Berry  <karl@gnu.org>
76260
76261         * lib/config.charset: update from gettext-runtime.
76262
76263 2003-12-03  Paul Eggert  <eggert@twinsun.com>
76264
76265         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
76266         Bug reported by Alfred M. Szmidt.
76267
76268 2003-12-03  Bruno Haible  <bruno@clisp.org>
76269
76270         * m4/gettext.m4: Upgrade from gettext-0.13.
76271         * m4/po.m4: Upgrade from gettext-0.13.
76272         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
76273         * m4/intmax.m4: New file, from gettext-0.13.
76274         * m4/printf-posix.m4: New file, from gettext-0.13.
76275
76276 2003-11-29  Karl Berry  <karl@gnu.org>
76277
76278         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
76279
76280 2003-11-25  Paul Eggert  <eggert@twinsun.com>
76281             Bruno Haible  <bruno@clisp.org>
76282
76283         * lib/printf-parse.h: Don't include sys/types.h.
76284         (ARG_NONE): New macro.
76285         (char_directive): Change type of *arg_index fields to size_t.
76286         * lib/printf-parse.c: Don't include sys/types.h.
76287         (SSIZE_MAX): Remove macro.
76288         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
76289         Remove unnecessary overflow check.
76290         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
76291         fields.
76292
76293 2003-11-25  Bruno Haible  <bruno@clisp.org>
76294
76295         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
76296
76297 2003-11-25  Bruno Haible  <bruno@clisp.org>
76298
76299         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
76300         gt_TYPE_SSIZE_T.
76301
76302 2003-11-24  Paul Eggert  <eggert@twinsun.com>
76303
76304         * modules/alloca: Remove dependency on xalloc.
76305
76306 2003-11-24  Paul Eggert  <eggert@twinsun.com>
76307
76308         * lib/alloca.c: Remove dependency on xalloc module.
76309         (xalloc_die): Remove.
76310         (memory_full) [!defined emacs]: New macro.
76311         [!defined emacs]: Don't include xalloc.h.
76312         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
76313         address arithmetic overflows.  Change datatypes a bit to avoid
76314         unnecessary casts.
76315
76316 2003-11-22  Jim Meyering  <jim@meyering.net>
76317
76318         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
76319         s/size/size_t/.
76320
76321 2003-11-21  Karl Berry  <karl@gnu.org>
76322
76323         * config/config.{sub,guess}: update from config.
76324
76325 2003-11-18  Karl Berry  <karl@gnu.org>
76326
76327         * config/config.{sub,guess}: update from config.
76328
76329         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
76330
76331 2003-11-17  Paul Eggert  <eggert@twinsun.com>
76332
76333         * README: Mention that S+T cannot overflow if S is the size of
76334         an existing object and T is sufficiently small.
76335
76336 2003-11-17  Jim Meyering  <jim@meyering.net>
76337
76338         On systems without utime and without a utimes function capable of
76339         dealing with a NULL struct utimbuf* argument, this utime replacement
76340         could -- in unusual circumstances -- leak a file descriptor.
76341         * lib/utime.c: Include <unistd.h> and <errno.h>.
76342         (utime_null): Be sure to close `fd' and to preserve errno.
76343         Reported by Geoff Collyer via Arnold Robbins.
76344
76345 2003-11-17  Bruno Haible  <bruno@clisp.org>
76346
76347         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
76348         (Depends-on): Add xsize.
76349
76350 2003-11-17  Bruno Haible  <bruno@clisp.org>
76351
76352         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
76353
76354 2003-11-17  Bruno Haible  <bruno@clisp.org>
76355
76356         * lib/vasnprintf.c (alloca): Remove fallback definition.
76357         (freea): Remove definition.
76358         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
76359         Reported by Paul Eggert.
76360
76361 2003-11-16  Paul Eggert  <eggert@twinsun.com>
76362             Bruno Haible  <bruno@clisp.org>
76363
76364         Protect against address arithmetic overflow.
76365         * lib/printf-args.h: Include stddef.h.
76366         (arguments): Change type of field 'count' to size_t.
76367         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
76368         'unsigned int' where appropriate.
76369         * lib/printf-parse.h: Include sys/types.h.
76370         (char_directive): Change type of *arg_index fields to ssize_t.
76371         (char_directives): Change type of fields 'count', max_*_length to
76372         size_t.
76373         * lib/printf-parse.c: Include sys/types.h and xsize.h.
76374         (SSIZE_MAX): Define fallback value.
76375         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
76376         instead of 'int' where appropriate. Check a_allocated, d_allocated
76377         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
76378         * lib/vasnprintf.c: Include xsize.h.
76379         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
76380         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
76381         overflow. Avoid wraparound when converting a width or precision from
76382         decimal to binary.
76383
76384 2003-11-16  Bruno Haible  <bruno@clisp.org>
76385
76386         Update from GNU gettext.
76387         * lib/printf-parse.c: Generalize to it can be compiled for wide
76388         strings.
76389         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
76390         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
76391         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
76392         SNPRINTF): New macros.
76393         Don't include <alloca.h> if the file is used inside libintl.
76394         (local_wcslen): New function, for Solaris 2.5.1.
76395         (VASNPRINTF): Use it instead of wcslen.
76396
76397 2003-11-16  Bruno Haible  <bruno@clisp.org>
76398
76399         * lib/xsize.h (xmax): New function.
76400         (xsum, xsum3, xsum4): Declare as "pure" functions.
76401
76402 2003-11-12  Paul Eggert  <eggert@twinsun.com>
76403
76404         * modules/xalloc (Files): Undo latest change, since xalloc.h
76405         no longer needs SIZE_MAX or PTRDIFF_MAX.
76406
76407 2003-11-12  Paul Eggert  <eggert@twinsun.com>
76408
76409         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
76410         gl_PTRDIFF_MAX.
76411
76412 2003-11-12  Paul Eggert  <eggert@twinsun.com>
76413
76414         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
76415         "return", to pacify some unknown compiler.  Problem reported
76416         by Joerg Schilling.
76417
76418 2003-11-12  Paul Eggert  <eggert@twinsun.com>
76419
76420         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
76421         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
76422         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
76423         heuristic is just as accurate as far as we know, and it removes a
76424         dependency on size_max.m4 and ptrdiff_max.m4.
76425
76426 2003-11-11  Bruno Haible  <bruno@clisp.org>
76427
76428         * modules/xsize (Files): Add m4/size_max.m4.
76429         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
76430
76431 2003-11-11  Bruno Haible  <bruno@clisp.org>
76432
76433         * m4/size_max.m4: New file.
76434         * m4/ptrdiff_max.m4: New file.
76435         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
76436         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
76437         (gl_XALLOC): Invoke it.
76438
76439 2003-11-11  Bruno Haible  <bruno@clisp.org>
76440
76441         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
76442         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
76443         defined.
76444
76445 2003-11-10  Paul Eggert  <eggert@twinsun.com>
76446
76447         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
76448         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
76449         rejected some allocations of exactly SIZE_MAX - 2 bytes.
76450         From Bruno Haible.
76451         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
76452         not (size_t) -1, since it's defined here.
76453
76454 2003-11-09  Karl Berry  <karl@gnu.org>
76455
76456         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
76457
76458 2003-11-06  Paul Eggert  <eggert@twinsun.com>
76459
76460         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
76461         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
76462         Reject sizes of exactly SIZE_MAX bytes.
76463         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
76464         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
76465
76466 2003-11-05  Bruno Haible  <bruno@clisp.org>
76467
76468         * lib/xsize.h: Include limits.h, to avoid a possible collision with
76469         SIZE_MAX defined in <limits.h> on Solaris.
76470
76471 2003-11-04  Jim Meyering  <jim@meyering.net>
76472
76473         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
76474         variable names, rather than @VAR@.
76475         * modules/poll: Likewise.
76476
76477 2003-11-04  Bruno Haible  <bruno@clisp.org>
76478
76479         * modules/xsize: New file.
76480         * modules/linebreak: Depend on xsize.
76481         * MODULES.html.sh (func_all_modules): Add xsize.
76482
76483 2003-11-04  Bruno Haible  <bruno@clisp.org>
76484
76485         * m4/xsize.m4: New file.
76486
76487 2003-11-04  Bruno Haible  <bruno@clisp.org>
76488
76489         * lib/xsize.h: New file.
76490         * lib/linebreak.c: Include xsize.h.
76491         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
76492         argument for overflow.
76493         Suggested by Paul Eggert.
76494
76495 2003-11-03  Karl Berry  <karl@gnu.org>
76496
76497         * config/config.{guess,sub}: update from config.
76498
76499 2003-11-03  Jim Meyering  <jim@meyering.net>
76500
76501         * modules/userspec (lib_SOURCES): Add userspec.h.
76502         (Include): Add "userspec.h".
76503         Improve description.
76504
76505 2003-11-03  Jim Meyering  <jim@meyering.net>
76506
76507         * lib/userspec.c: Include "userspec.h".
76508         * lib/userspec.h: New file.
76509
76510 2003-11-03  Bruno Haible  <bruno@clisp.org>
76511
76512         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
76513
76514 2003-11-03  Bruno Haible  <bruno@clisp.org>
76515
76516         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
76517         available, to avoid (extremely rare) race condition.
76518         Suggested by Paul Eggert.
76519
76520 2003-11-02  Karl Berry  <karl@gnu.org>
76521
76522         * config/srclist.txt (vasprintf.c): sync broken, sigh.
76523
76524 2003-10-31  Paul Eggert  <eggert@twinsun.com>
76525
76526         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
76527         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
76528         (read_filesystem_list): Set and use me_type_malloced.
76529         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
76530         whatever the type happens to be), for brevity and consistency.
76531         Check for size calculation overflow on Alphas running OSF/1.
76532
76533 2003-10-31  Jim Meyering  <jim@meyering.net>
76534
76535         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
76536
76537         * lib/linebuffer.c: Include <string.h> for declaration of memset.
76538
76539 2003-10-30  Paul Eggert  <eggert@twinsun.com>
76540             Bruno Haible  <bruno@clisp.org>
76541
76542         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
76543         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
76544
76545 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
76546
76547         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
76548         netbsd*-gnu*.  Suggested by Robert Millan.
76549
76550 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76551
76552         * modules/group-member: Depend on stdbool.
76553
76554 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76555
76556         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
76557
76558 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76559
76560         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
76561         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
76562         after the 'gnu' in these cases.  This fixes some bugs in the
76563         previous change, and is based on suggestions by Robert Millan.
76564
76565 2003-10-29  Paul Eggert  <eggert@twinsun.com>
76566
76567         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
76568         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
76569         no longer needed.
76570         * lib/quotearg.c (quotearg_n_options): Use it.
76571         * lib/group-member.c: Include <stdbool.h>.
76572         (free_group_info): Arg is now const *; don't free arg.
76573         (get_group_info): Now returns bool and accepts struct group_info *,
76574         rather than returning a malloc'ed struct group_info *.
76575         All uses changed.  Check for overflow in internal size calculation.
76576
76577         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
76578         rather than xmalloc/xrealloc.
76579         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
76580         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
76581         conformance bug: the old code used a pointer after freeing the
76582         storage that it addressed.
76583         * lib/hash.c (hash_initialize): Simplify the code by using
76584         xalloc_oversized rather than doing it by hand.
76585         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
76586         the buffer preserved.  Use free and xmalloc instead.
76587         * lib/quotearg.c (quotearg_n_options): Likewise.
76588         Use a simpler test for size overflow.  Don't use xalloc_oversized
76589         because unsigned int might be wider than size_t (!); this suggests
76590         that we should switch from unsigned int to size_t for slot numbers.
76591
76592 2003-10-28  Paul Eggert  <eggert@twinsun.com>
76593
76594         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
76595         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
76596         NetBSD kernels.  Requested by Richard Stallman.
76597
76598 2003-10-27  Paul Eggert  <eggert@twinsun.com>
76599
76600         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
76601         to allocate the returned structure.  Do not allocate a subarray,
76602         as x2nrealloc will do that.
76603         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
76604         instead of xnrealloc.
76605         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
76606
76607 2003-10-27  Bruno Haible  <bruno@clisp.org>
76608
76609         * lib/stdbool_.h: Better support for BeOS.
76610
76611 2003-10-26  Paul Eggert  <eggert@twinsun.com>
76612
76613         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
76614         now uses inline.
76615
76616 2003-10-26  Paul Eggert  <eggert@twinsun.com>
76617
76618         * lib/xalloc.h (xalloc_oversized): New static inline function, for
76619         callers that want to do their own size-overflow checking.  Include
76620         <stdbool.h>, since xalloc_oversized returns bool.
76621         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
76622         to use xalloc_oversized.
76623
76624         Add two functions x2realloc, x2nrealloc, for programs that grow
76625         arrays dynamically by doubling their sizes.
76626         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
76627         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
76628         New functions.
76629
76630         Port to C99 semantics for 'inline' of external functions.
76631         Bug reported by Bruno Haible.
76632         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
76633         with the old contents of xnmalloc.
76634         (xnmalloc, xmalloc): Use it.
76635         (xnrealloc_inline): New static inline function,
76636         with the old contents of xnrealloc.
76637         (xnrealloc, xrealloc): Use it.
76638
76639         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
76640         that.
76641
76642 2003-10-26  Karl Berry  <karl@gnu.org>
76643
76644         * config/srclist.txt (COPYING.DOC): no longer available from
76645         /gd/gnuorg; don't know where the ultimate source is.
76646
76647 2003-10-25  Paul Eggert  <eggert@twinsun.com>
76648
76649         Fix several address-calculation bugs in the hash modules,
76650         plus some minor code cleanup.
76651
76652         * lib/hash.h: Include <stdbool.h>, for bool.
76653         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
76654         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
76655         hash_get_n_entries, hash_get_max_bucket_length,
76656         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
76657         hash_rehash): Use size_t rather than unsigned.
76658         * lib/hash.c (struct hash_table, hash_get_n_buckets,
76659         hash_get_n_buckets_used, hash_get_n_entries,
76660         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
76661         hash_get_entries, hash_do_for_each, hash_string, is_prime,
76662         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
76663         Likewise.
76664         (SIZE_MAX): Define if not defined.
76665         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
76666         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
76667         hash_print):
76668         Use const * when possible.
76669         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
76670         (check_tuning): Fix bug: if tuning parameters were very close to
76671         0 or 1, rounding errors could have caused subscript violations.
76672         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
76673         (hash_initialize): Add 'fail:' label
76674         to free table and return NULL, and use it to simplify code.
76675         Use calloc rather than clearing the storage ourself.
76676         (hash_initialize, hash_rehash): Check for arithmetic overflow in
76677         buffer size calculations.
76678         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
76679         Include <stddef.h>, for size_t.
76680         * lib/hash-pjw.c (hash_pjw): Likewise.
76681         Switch to method described by Bruno Haible.
76682         Include <limits.h>, for CHAR_BIT.
76683         (SIZE_BITS): New macro.
76684
76685 2003-10-23  Paul Eggert  <eggert@twinsun.com>
76686
76687         * m4/getline.m4 (AM_FUNC_GETLINE):
76688         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
76689         hosts.  Problem reported by Derek Robert Price in
76690         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
76691         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
76692         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
76693
76694 2003-10-21  Paul Eggert  <eggert@twinsun.com>
76695
76696         * lib/getndelim2.c (getndelim2): When size calculation overflows,
76697         ceiling the allocation at NMAX bytes rather than silently
76698         discarding input bytes before NMAX is reached.  This makes
76699         a difference only if NMAX exceeds SIZE_MAX / 2.
76700
76701         * lib/obstack.c: Merge from glibc.
76702         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
76703         Add libc_hidden_def (_obstack_newchunk).
76704         (_obstack_free) [! defined _LIBC]: Remove.
76705         [defined _LIBC]: Make a strong alias from obstack_free, rather than
76706         a clone of the function body.
76707         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
76708         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
76709
76710         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
76711         glibc.
76712         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
76713         arg to memcpy.
76714
76715         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
76716         (obstack_ptr_grow_fast, obstack_int_grow_fast):
76717         Don't use lvalue casts, as GCC plans to remove support for them
76718         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
76719         was also present in the non-GCC version, indicating that this
76720         code had always been buggy and had never been widely used.
76721         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
76722         Use the fast variant of each macro, rather than copying the
76723         definiens of the fast variant; that way, we'll be more likely to
76724         catch future bugs in the fast variants.
76725
76726 2003-10-20  Bruno Haible  <bruno@clisp.org>
76727
76728         * modules/wait-process: New file.
76729         * MODULES.html.sh (func_all_modules): Add wait-process.
76730
76731 2003-10-20  Bruno Haible  <bruno@clisp.org>
76732
76733         * m4/wait-process.m4: New file.
76734
76735 2003-10-20  Bruno Haible  <bruno@clisp.org>
76736
76737         * lib/wait-process.h: New file, from GNU gettext.
76738         * lib/wait-process.c: New file, from GNU gettext.
76739
76740 2003-10-19  Jim Meyering  <jim@meyering.net>
76741
76742         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
76743         HPUX 10.20.
76744
76745 2003-10-18  Karl Berry  <karl@gnu.org>
76746
76747         * config/config.guess: update from config.
76748
76749 2003-10-16  Paul Eggert  <eggert@twinsun.com>
76750
76751         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
76752         (getgroups): First arg is int, not size_t.
76753         Don't let 'free' mangle errno.
76754
76755 2003-10-16  Paul Eggert  <eggert@twinsun.com>
76756
76757         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
76758
76759 2003-10-16  Karl Berry  <karl@gnu.org>
76760
76761         * config/config.{guess,sub}: update from config.
76762
76763 2003-10-16  Jim Meyering  <jim@meyering.net>
76764
76765         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
76766         memcpy.
76767
76768 2003-10-15  Paul Eggert  <eggert@twinsun.com>
76769
76770         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
76771         (SIZE_MAX): Remove.
76772         (new_exclude, add_exclude_file): Initial size no longer needs to
76773         be a power of 2.
76774         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
76775         our own address arithmetic overflow checking.
76776
76777         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
76778         (fnmatch): Do not alloca more than 2000 wide characters;
76779         instead, use malloc for large buffers.
76780         Check for address arithmetic overflow, and return -1
76781         with errno set to ENOMEM in that case.
76782         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
76783         (NEW_PATTERN): Do not alloca more than 8000 bytes;
76784         instead, return -1.  Check for address arithmetic overflow.
76785
76786 2003-10-14  Paul Eggert  <eggert@twinsun.com>
76787
76788         Handle invalid suffixes and overflow independently, so that
76789         callers can treat them independently as needed.  Fix some bugs in
76790         suffix handling, e.g., "100k@" was not diagnosed as an invalid
76791         suffix for a human-readable blocksize.  The major caller-visible
76792         change is the addition of a new
76793         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
76794         that both overflow and suffix chars were found.
76795
76796         * lib/human.c (humblock): Don't check separately for invalid suffix
76797         char; that is xstrtoumax's job (now that its bug is fixed).
76798         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
76799         INTMAX_MAX]: New macros.
76800         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
76801         TYPE_MAXIMUM): New macros.
76802         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
76803         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
76804         if overflow occurs, as it's what __strtol does and it's more useful
76805         in practice.
76806         (__xstrtol): If __strtol reports some error other than ERANGE,
76807         reflect it to the caller as LONGINT_INVALID.  If it reports
76808         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
76809         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
76810         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
76811         value.
76812         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
76813         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
76814         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
76815         [defined UINTMAX_MAX]: New macros.
76816
76817 2003-10-14  Bruno Haible  <bruno@clisp.org>
76818
76819         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
76820
76821 2003-10-14  Bruno Haible  <bruno@clisp.org>
76822
76823         * m4/sig_atomic_t: New file, from GNU gettext.
76824         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
76825
76826 2003-10-14  Bruno Haible  <bruno@clisp.org>
76827
76828         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
76829         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
76830         Also use volatile where needed.
76831
76832 2003-10-12  Paul Eggert  <eggert@twinsun.com>
76833
76834         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
76835         Change maintainer from Bruno Haible to 'all'.
76836
76837 2003-10-12  Paul Eggert  <eggert@twinsun.com>
76838
76839         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
76840
76841 2003-10-12  Paul Eggert  <eggert@twinsun.com>
76842
76843         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
76844         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
76845         and define in terms of the other primitives.
76846         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
76847         (SIZE_MAX): Define if not already defined.
76848         (array_size_overflow): New function.
76849         (xalloc_die): Abort instead of exiting if 'error' returns.
76850         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
76851         (xmalloc, xrealloc): Use them.
76852         (xcalloc): Check for address arithmetic overflow.
76853         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
76854         a bit faster than strcpy.
76855
76856 2003-10-10  Simon Josefsson  <jas@extundo.com>
76857
76858         * modules/argp (Depends-on): Add restrict and strcase.
76859
76860 2003-10-10  Simon Josefsson  <jas@extundo.com>
76861
76862         * m4/argp.m4: Add AC_C_INLINE.
76863
76864 2003-10-08  Paul Eggert  <eggert@twinsun.com>
76865
76866         Merge getpass from libc, plus a few fixes.
76867
76868         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
76869         Include <stdbool.h>.
76870         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
76871         __fsetlocking to empty.
76872         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
76873         do include <bits/libc-lock.h>.
76874         Do not include <fcntl.h>; not needed.
76875         [_LIBC]: Include <wchar.h>.
76876         (NOTCANCEL_MODE): New macro.
76877         (flockfile, funlockfile) [_LIBC]: New macros.
76878         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
76879         [!_LIBC]: New macros.
76880         (call_fclose): New function.
76881         (getpass): Use it.  Save tty stream separately; this simplifies the
76882         code and makes it more reliable if stdin happens to equal stdout.
76883         Invoke __fsetlocking on tty.
76884         Handle thread cancellation if needed.
76885         Namespace cleanup (use __tcgetattr, __getline).
76886         Use bool for Booleans.
76887         [USE_IN_LIBIO]: Handle wide streams.
76888         [!_LIBC]: Unconditionally do the fseek, since we don't know what
76889         stream might go where.
76890
76891         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
76892         doesn't have to include <stdio.h> before us.
76893         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
76894         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
76895         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
76896         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
76897         if not declared, so that we can use getpass.c code from libc without
76898         rewriting it.
76899         (flockfile, ftrylockfile, funlockfile): New macros.
76900
76901 2003-10-08  Paul Eggert  <eggert@twinsun.com>
76902
76903         * modules/getpass: Depend on stdbool.
76904
76905 2003-10-08  Paul Eggert  <eggert@twinsun.com>
76906
76907         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
76908
76909 2003-10-07  Karl Berry  <karl@gnu.org>
76910
76911         * config/config.{guess,sub}: update from config.
76912
76913 2003-10-06  Jim Meyering  <jim@meyering.net>
76914             Bruno Haible  <bruno@clisp.org>
76915
76916         This lets translators provide better translations for the
76917         "Written by ..." part of --version output.
76918         * lib/version-etc.h: Include stdarg.h.
76919         (version_etc_copyright): Declare as readonly.
76920         (version_etc): Make this function variadic with a NULL-terminated list
76921         of author name strings.
76922         (version_etc_va): New declaration.
76923         * lib/version-etc.c: Include stdarg.h, stdlib.h.
76924         (version_etc_copyright): Declare as readonly.
76925         (version_etc_va): New function. Provide a different translatable string
76926         for each possible number of authors < 10. Abbreviate when there are 10
76927         authors or more.
76928         (version_etc): Make this function variadic. Call version_etc_va.
76929         Suggestion from Gary V. Vaughan.
76930
76931         * lib/long-options.h (parse_long_options): Change prototype: the
76932         authors string is moved to the end and becomes variadic.
76933         * lib/long-options.c: Include stdarg.h.
76934         (parse_long_options): Make this function variadic, too.
76935         Call version_etc_va, not version_etc.
76936
76937 2003-10-06  Bruno Haible  <bruno@clisp.org>
76938
76939         * modules/version-etc-2: Remove file.
76940         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
76941
76942 2003-10-06  Bruno Haible  <bruno@clisp.org>
76943
76944         * modules/fatal-signal: New file.
76945         * MODULES.html.sh (func_all_modules): Add fatal-signal.
76946
76947 2003-10-06  Bruno Haible  <bruno@clisp.org>
76948
76949         * m4/fatal-signal.m4: New file.
76950         * m4/signalblocking.m4: New file, from GNU gettext.
76951
76952 2003-10-06  Bruno Haible  <bruno@clisp.org>
76953
76954         * lib/version-etc-2.h: Remove file.
76955         * lib/version-etc-2.c: Remove file.
76956
76957 2003-10-06  Bruno Haible  <bruno@clisp.org>
76958
76959         * lib/fatal-signal.h: New file, from GNU gettext.
76960         * lib/fatal-signal.c: New file, from GNU gettext.
76961
76962 2003-10-05  Paul Eggert  <eggert@twinsun.com>
76963
76964         * README: Rework advice for preventing empty .o files.
76965         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
76966         not <sys/types.h>.
76967
76968 2003-10-04  Karl Berry  <karl@gnu.org>
76969
76970         * lib/argp*: update from libc.
76971
76972 2003-10-04  Karl Berry  <karl@gnu.org>
76973
76974         * config/config.{guess,sub}: update from config.
76975
76976 2003-10-02  Bruno Haible  <bruno@clisp.org>
76977
76978         * modules/lchown (Include): Add lchown.h.
76979         * modules/time_r (Include): Use "..." syntax.
76980         * modules/xgetdomainname (Include): Add xgetdomainname.h.
76981
76982 2003-10-01  Simon Josefsson  <jas@extundo.com>
76983
76984         * MODULES.html.sh (func_all_modules): Move gethostname from section
76985         'based on' to section 'lacking' POSIX:2001.
76986
76987 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
76988
76989         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
76990         to output mode on the same stream.
76991
76992 2003-09-29  Paul Eggert  <eggert@twinsun.com>
76993
76994         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
76995         Fix arg typo in previous patch.
76996
76997 2003-09-28  Jim Meyering  <jim@meyering.net>
76998
76999         * lib/error.c: Correct cpp indentation.
77000
77001 2003-09-27  Paul Eggert  <eggert@twinsun.com>
77002
77003         * modules/free: New file.
77004
77005 2003-09-27  Paul Eggert  <eggert@twinsun.com>
77006
77007         * m4/free.m4: New file.
77008
77009 2003-09-27  Paul Eggert  <eggert@twinsun.com>
77010
77011         * lib/minmax.h (MIN, MAX)
77012         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
77013         Omit the special code that used __typeof__, since we worry that
77014         it could be more trouble than it's worth.  See:
77015         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
77016         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
77017
77018         * lib/free.c: New file.
77019
77020 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
77021
77022         Trivial fixes to Makefile.am parts of module listings.
77023         * modules/strstr: Append strstr.h to lib_SOURCES.
77024         * modules/strcase: Likewise, for strcase.h.
77025
77026 2003-09-27  Karl Berry  <karl@gnu.org>
77027
77028         * config/mkinstalldirs: update from automake.
77029
77030 2003-09-26  Paul Eggert  <eggert@twinsun.com>
77031
77032         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
77033         (error_tail): Do not loop, reallocating temporary buffer, since
77034         the output cannot contain more wide characters than the input
77035         contains bytes, the size must be big enough already.  This avoids
77036         one potential size overflow calculation.  Check for size overflow
77037         when calculating temporary buffer size.  Free temporary buffer
77038         when done, if it was allocated with malloc; this plugs a memory
77039         leak.  Remove casts from void * to pointers, that are no longer
77040         needed now that we're assuming C89 or better.
77041
77042         Merge error changes from glibc.
77043
77044         * lib/error.c, error.h: Update copyright notice header to match glibc.
77045         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
77046         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
77047         Disable cancellation while printing error.
77048         * lib/error.h: Prepend __ to parameter names.
77049
77050 2003-09-26  Jim Meyering  <jim@meyering.net>
77051
77052         * lib/error.c (error_tail): Move some declarations
77053         into inner scope where the local variables are used.
77054
77055 2003-09-26  Bruno Haible  <bruno@clisp.org>
77056
77057         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
77058         stpncpy().
77059         Don't define stpncpy through config.h; it's now done through stpncpy.h.
77060
77061 2003-09-26  Bruno Haible  <bruno@clisp.org>
77062
77063         * lib/stpncpy.h (gnu_stpncpy): New declaration.
77064         (stpncpy): Define as alias for gnu_stpncpy.
77065         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
77066
77067 2003-09-25  Simon Josefsson  <jas@extundo.com>
77068
77069         * lib/xgetdomainname.h: New file.
77070         * lib/xgetdomainname.c: New file.
77071
77072 2003-09-25  Simon Josefsson  <jas@extundo.com>
77073             Bruno Haible  <bruno@clisp.org>
77074
77075         * modules/getdomainname: New file.
77076         * modules/xgetdomainname: New file.
77077         * MODULES.html.sh (func_all_modules): Add getdomainname,
77078         xgetdomainname.
77079
77080 2003-09-25  Simon Josefsson  <jas@extundo.com>
77081             Bruno Haible  <bruno@clisp.org>
77082
77083         * m4/getdomainname.m4: New file.
77084
77085 2003-09-25  Simon Josefsson  <jas@extundo.com>
77086             Bruno Haible  <bruno@clisp.org>
77087
77088         * lib/getdomainname.h: New file.
77089         * lib/getdomainname.c: New file.
77090
77091 2003-09-25  Karl Berry  <karl@gnu.org>
77092
77093         * lib/argp-fmtstream.c, argp-help.c: update from libc.
77094
77095 2003-09-25  Karl Berry  <karl@gnu.org>
77096
77097         * config/install-sh: update from automake.
77098
77099 2003-09-25  Bruno Haible  <bruno@clisp.org>
77100
77101         * modules/version-etc-2: New file, from modules/version-etc with
77102         modifications.
77103         * MODULES.html.sh (func_all_modules): Add version-etc-2.
77104
77105 2003-09-25  Bruno Haible  <bruno@clisp.org>
77106
77107         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
77108         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
77109
77110 2003-09-24  Simon Josefsson  <jas@extundo.com>
77111
77112         * modules/xgethostname: Add xgethostname.h.
77113
77114 2003-09-24  Paul Eggert  <eggert@twinsun.com>
77115
77116         * lib/linebuffer.c (freebuffer): Don't free the argument, just
77117         the buffer associated with the argument.  Bug reported by
77118         Simon Josefsson.
77119
77120 2003-09-24  Paul Eggert  <eggert@twinsun.com>
77121
77122         * README: Document assumptions that 'int' is at least 32 bits
77123         wide, that integer arithmetic is 2's complement without overflow,
77124         that there are no holes in integer values, that adding sizes of
77125         two nonoverlapping objects can't overflow, and that all-bits-zero
77126         yields scalar zero.  Fix spelling and capitalization typos.
77127
77128 2003-09-19  Karl Berry  <karl@gnu.org>
77129
77130         * lib/argp.h: update from libc.
77131
77132 2003-09-17  Paul Eggert  <eggert@twinsun.com>
77133
77134         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
77135         to avoid spurious warnings like "AC_RUN_IFELSE was called before
77136         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
77137
77138 2003-09-17  Paul Eggert  <eggert@twinsun.com>
77139
77140         * gnulib-tool: Use "test -h", not "test -L", for portability
77141         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
77142         (tags_regexp): Remove, since \| doesn't conform to POSIX.
77143         (sed_extract_prog): Issue s commands one-by-one, rather than
77144         using \| in one s command.
77145
77146 2003-09-16  Paul Eggert  <eggert@twinsun.com>
77147
77148         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
77149         input error, instead of returning NULL the next time we are called
77150         (and therefore losing track of errno).
77151
77152 2003-09-16  Bruno Haible  <bruno@clisp.org>
77153
77154         * gnulib-tool (func_create_testdir): Warn about duplicated
77155         dependencies.
77156
77157 2003-09-15  Paul Eggert  <eggert@twinsun.com>
77158
77159         * modules/argmatch, modules/fatal, modules/obstack,
77160         modules/xalloc, modules/xgethostname: Sort dependencies by
77161         importance, not alphabetically.
77162
77163 2003-09-15  Paul Eggert  <eggert@twinsun.com>
77164
77165         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
77166         fails, so that the caller gets the proper errno.
77167
77168         * lib/readutmp.c (read_utmp): Likewise.
77169         Check for fstat error.  Close stream and free storage
77170         when failing.
77171
77172 2003-09-14  Karl Berry  <karl@gnu.org>
77173
77174         * config/srclist.txt (strdup.c): disable for c89 changes.
77175
77176 2003-09-14  Jim Meyering  <jim@meyering.net>
77177
77178         * lib/getloadavg.c: Correct cpp indentation.
77179         * lib/strdup.c: Likewise.
77180         * lib/vasnprintf.c: Likewise.
77181
77182 2003-09-14  Bruno Haible  <bruno@clisp.org>
77183
77184         * modules/fwriteerror: New file.
77185         * MODULES.html.sh (func_all_modules): Add fwriteerror.
77186
77187 2003-09-14  Bruno Haible  <bruno@clisp.org>
77188
77189         * lib/fwriteerror.h: New file.
77190         * lib/fwriteerror.c: New file.
77191
77192 2003-09-12  Paul Eggert  <eggert@twinsun.com>
77193
77194         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
77195         modules/xgethostname, modules/xalloc: Depend on exit.
77196
77197 2003-09-12  Paul Eggert  <eggert@twinsun.com>
77198
77199         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
77200
77201         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
77202         and AC_MINIX, too, so that their extensions are available.
77203
77204         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
77205         This macro has been superseded by gl_BACKUPFILE.
77206
77207         More patches to assume C89 or better.
77208
77209         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
77210
77211         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
77212         unconditionally.
77213         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
77214         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
77215         Include <string.h>, <stdlib.h> unconditionally.
77216         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
77217         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
77218         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
77219         headers or for string.h.
77220         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
77221         or strtoul.
77222
77223         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
77224         headers.
77225         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
77226         * m4/userspec.m4 (gl_USERSPEC): Likewise.
77227         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
77228         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
77229         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77230         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
77231         memcpy, memset.
77232         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
77233         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
77234         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
77235         strtol.
77236         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
77237         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
77238         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
77239         strtoul.
77240
77241 2003-09-12  Paul Eggert  <eggert@twinsun.com>
77242
77243         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
77244         * lib/obstack.c [!defined _LIBC]: Likewise.
77245         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
77246         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
77247         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
77248
77249         More changes to assume C89 or better.
77250
77251         * lib/error.c (error_tail): Assume vprintf.
77252
77253         * lib/argmatch.c (getenv): Remove decl.
77254         * lib/progreloc.c (get_full_program_name): Define via prototype.
77255         * lib/setenv.c (clearenv): Likewise.
77256         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
77257         needed.
77258         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
77259         (malloc, memcpy): Remove decls.
77260         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
77261         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
77262         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
77263         (memcpy): Remove macro.
77264         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
77265         (__P): Remove.  All uses removed.
77266         (PTR): Remove.  All uses changed to void *.
77267         (CHAR_BIT, NULL): Remove.
77268         (spaces, zeros, memset_space, memset_zero)
77269         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
77270         Remove.
77271         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
77272         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
77273         Define with prototype.
77274         Remove now-unnecessary prototype decl.
77275         (extra_args_spec): Assume ANSI C.  All uses changed.
77276         (extra_args_spec_iso): Remove.
77277         (my_strftime, emacs_strftimeu): Define via prototype.
77278         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
77279         unconditionally.
77280         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
77281         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
77282         (strtoul, strtol): Remove decls.
77283         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
77284         LONG_MAX): Remove.
77285         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
77286         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
77287         (LOCALE_PARAM_PROTO): New macro.
77288         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
77289         (INTERNAL (strtol), strtol): Define with a prototype.
77290         (PARAMS): Remove.  All uses removed.
77291         * lib/tempname.c: Include <string.h> unconditionally.
77292         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
77293         * lib/xgethostname.c (main): Define with a prototype.
77294         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
77295         Include <stdlib.h> unconditionally.
77296         (calloc, malloc, realloc, free): Remove decls.
77297         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
77298         Include <stdlib.h> unconditionally.  Sort include file names.
77299         (strtod): Remove.
77300         (xstrtod): Define with a prototype.
77301         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
77302         (strtol, strtoul): Remove decls.
77303
77304 2003-09-11  Paul Eggert  <eggert@twinsun.com>
77305
77306         More patches to assume C89 or better.
77307         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
77308         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
77309         string.h, memchr, STDC_HEADERS.
77310
77311 2003-09-11  Paul Eggert  <eggert@twinsun.com>
77312
77313         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
77314         Include <stdlib.h>, <string.h> unconditionally.
77315         Remove now-unnecessary cast to char *.
77316         * lib/strnlen.c: Include <string.h> unconditionally.
77317         * lib/yesno.c (yesno): Define with a prototype.
77318
77319 2003-09-11  Bruno Haible  <bruno@clisp.org>
77320
77321         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
77322
77323 2003-09-10  Jim Meyering  <jim@meyering.net>
77324
77325         * lib/error.c: Correct indentation of cpp directives.
77326
77327 2003-09-10  Bruno Haible  <bruno@clisp.org>
77328
77329         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
77330         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
77331         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
77332         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
77333         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
77334         <stdlib.h> and <string.h> checks.
77335         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
77336         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
77337
77338 2003-09-10  Bruno Haible  <bruno@clisp.org>
77339
77340         * lib/strcspn.c: Include <string.h> unconditionally.
77341         * lib/strpbrk.c: Include <string.h> unconditionally.
77342         * lib/strstr.c: Include <string.h> unconditionally.
77343         * lib/unicodeio.c: Include <string.h> unconditionally.
77344         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
77345         * lib/unsetenv.c: Likewise.
77346         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
77347         * lib/yesno.c: Include <stdlib.h> unconditionally.
77348         (rpmatch): Add prototype.
77349
77350 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77351
77352         More patches to assume C89 or better.
77353         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
77354         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
77355         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
77356         or for string.h.
77357         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
77358         stdlib.h.
77359         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
77360         C headers.
77361         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
77362         string.h.
77363         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
77364         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
77365         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
77366         or for string.h.
77367         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
77368         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
77369         C headers.
77370         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
77371         memcpy.
77372         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
77373         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
77374         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
77375         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
77376         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
77377         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
77378         string.h, free.
77379         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
77380         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
77381         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
77382         C headers, or for string.h.
77383         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
77384         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
77385         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
77386         headers, memory.h, stdlib.h, string.h, strings.h.
77387         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
77388         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
77389         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
77390         strchr.
77391         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
77392         headers, memory.h, string.h.
77393         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
77394         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
77395         free.
77396         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
77397         headers.
77398         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
77399         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
77400         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
77401         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
77402         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
77403
77404 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77405
77406         More K&R removal.
77407
77408         * lib/acosl.c (main): Use a prototype.
77409         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
77410         tanl.c: Likewise.
77411
77412         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
77413
77414         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
77415         (getopt, etopt_long, getopt_long_only, _getopt_internal)
77416         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
77417         with a prototype.
77418         * lib/getopt.c (const): Remove macro.
77419         Include <string.h> unconditionally.
77420         (my_index): Remove; all uses changed to strchr.
77421         (strlen): Remove decl.
77422         (exchange): Remove forward decl; no longer needed.
77423         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
77424         Define with prototype.
77425         * lib/getopt1.c (const): Remove macro.
77426         (getopt_long, getopt_long_only, main): Define with prototype.
77427
77428         * lib/getugroups.c: Include <string.h> unconditionally.
77429
77430         * lib/getusershell.c: Include <stdlib.h> unconditionally.
77431         (getusershell, setusershell, endusershell, readname, main):
77432         Define with prototypes.
77433
77434         * lib/group-member.c: Include group-member.h first.
77435         Include <stdlib.h> unconditionally.
77436
77437         * lib/hard-locale.c: Include hard-locale.h first.
77438         Include <stdlib.h>, <string.h> unconditionally.
77439
77440         * lib/hash.c (free, malloc): Remove decls.
77441         Include <stdlib.h> unconditionally.
77442
77443         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
77444         (getenv): Do not declare.
77445
77446         * lib/idcache.c: Include <string.h> unconditionally.
77447
77448         * lib/long-options.c: Include long-options.h first, to test interface.
77449         Include <stdlib.h> unconditionally.
77450
77451         * lib/makepath.c: Include makepath.h first, to test interface.
77452         Include <stdlib.h> and <string.h> unconditionally.
77453
77454         * lib/linebuffer.c: Include <stdlib.h>.
77455         (free): Remove decl.
77456
77457         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
77458         stddef.h. rpl_malloc returns void *, not char *.
77459         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
77460         prototype.
77461
77462         * lib/md5.h: Include <limits.h> unconditionally.
77463         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
77464         (__P): Remove; all uses removed.
77465         * lib/md5.c: Include "md5.h" first.
77466         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
77467         md5_buffer, md5_process_bytes, md5_process_block):
77468         Define with prototypes.
77469         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
77470         * lib/sha.c: Include "sha.h" first.
77471         Include <stdlib.h>, <string.h> unconditionally.
77472
77473         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
77474         * lib/memcmp.c (__ptr_t): Likewise.
77475         * lib/memrchr.c (__ptr_t): Likewise.
77476         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
77477         Include <string.h> unconditionally.
77478         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
77479         * lib/memchr.c: Include <stdlib.h> unconditionally.
77480         * lib/memchr.c (LONG_MAX): Remove.
77481         * lib/memrchr.c (LONG_MAX): Likewise.
77482         * lib/memchr.c (__memchr): Define via a prototype.
77483         * lib/memrchr.c (__memrchr): Likewise.
77484         * lib/memcmp.c (__P): Remove, and remove all uses.
77485         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
77486         Remove forward decls; no longer needed.
77487         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
77488         Use types required by C89 in prototype.
77489
77490         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
77491         * lib/savedir.c: Likewise.
77492         * lib/mkdir.c (free): Remove decl.
77493         * lib/rmdir.c (rmdir): Define with a prototype.
77494         * lib/savedir.c: Include savedir.h first, to test interface.
77495
77496         * lib/mktime.c (STDC_HEADERS): Remove.
77497         Include <stdlib.h>, <string.h> unconditionally.
77498
77499         * lib/modechange.c: Include <stdlib.h> unconditionally.
77500         (malloc): Remove decl.
77501
77502         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
77503         (free): Remove decl.
77504
77505         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
77506         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
77507         (This type really should be intptr_t, but that's a C99ism.)
77508         (_obstack_memcpy): Remove: all uses changed to memcpy.
77509         Include <string.h> unconditionally.
77510         (struct obstack): Assume __STDC__ for types of members
77511         chunkfun, freefun, extra_arg.
77512         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
77513         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
77514         obstack_begin, obstack_specify_allocation,
77515         obstack_specify_allocation_with_arg, obstack_chunkfun,
77516         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
77517         Remove unprototyped decls and the macros that use them.
77518         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
77519         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
77520         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
77521         (defined __STDC__ && __STDC__)]:
77522         Remove nonprototyped code.
77523         Include <stdlib.h> unconditionally.
77524         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
77525         _obstack_allocated_p, _obstack_free, obstack_free,
77526         _obstack_memory_used, print_and_abort):
77527         Define using prototypes.
77528         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
77529         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
77530         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
77531         obstack_next_free, obstack_object_size, obstack_room) [0]:
77532         Remove unused, unprototyped code.
77533
77534         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
77535
77536         * lib/physmem.c (physmem_total, physmem_available, main): Define
77537         with prototypes.
77538
77539         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
77540         (main): Define with a prototype.
77541
77542         * lib/posixver.c (getenv): Remove decl.
77543
77544         * lib/putenv.c (malloc): Returns void *, not char *.
77545         Include <string.h> unconditionally.
77546         (strchr, memcpy, NULL): Do not define.
77547
77548         * lib/readtokens.c: Include readtokens.h first, to test interface.
77549         Include <stdlib.h>, <string.h> unconditionally.
77550         (init_tokenbuffer): Define with a prototype.
77551
77552         * lib/regex.c (PARAMS): Remove.  All uses removed.
77553         All uses of _RE_ARGS removed, too.
77554         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
77555         unconditionally.
77556         (bzero): Assume memset exists.
77557         (memcmp, memcpy, NULL): Remove.
77558         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
77559         char, or assignments to local vars of type signed char.
77560         (init_syntax_once, PREFIX(extract_number_and_incr),
77561         PREFIX(print_partial_compiled_pattern),
77562         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
77563         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
77564         PREFIX(regex_grow_registers), PREFIX(regex_compile),
77565         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
77566         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
77567         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
77568         wcs_compile_range, byte_compile_range, truncate_wchar,
77569         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
77570         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
77571         count_mbs_length, wcs_re_match_2_internal,
77572         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
77573         PREFIX(alt_match_null_string_p),
77574         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
77575         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
77576         regfree, PREFIX(extract_number)): Define with prototype.  Remove
77577         now-unnecessary declaration, if any.
77578         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
77579         regcomp, regexec):
77580         Remove now-unnecessary casts among pointer types.
77581         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
77582
77583         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
77584         (free): Remove decl.
77585
77586         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
77587
77588         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
77589         (free): Remove decl.
77590
77591         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
77592         * lib/xgetcwd.c: Likewise.
77593
77594         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
77595         (free): Remove decl.
77596
77597         * lib/strchrnul.c (strchrnul): Define with a prototype.
77598         Fix bug: c_in was not converted to char before searching.
77599
77600         The following changes are not K&R related:
77601
77602         * lib/group-member.h: Include <sys/types.h>, so that this file is
77603         self-contained.
77604         * lib/makepath.h: Likewise.
77605
77606         * lib/getusershell.c (readname, default_index, line_size, readname):
77607         Use size_t, not int, for sizes.
77608         (readname): If the size overflows, report an error instead of
77609         looping forever.
77610
77611 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77612
77613         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
77614         libc.
77615
77616 2003-09-09  Paul Eggert  <eggert@twinsun.com>
77617
77618         * README: New section: portability guidelines.
77619
77620 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
77621
77622         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
77623         C89 spec.
77624
77625 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
77626
77627         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
77628
77629 2003-09-08  Paul Eggert  <eggert@twinsun.com>
77630
77631         Assume C89 or better; remove K&R cruft.
77632         A few of these changes were first proposed by Derek Robert Price
77633         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
77634
77635         * lib/addext.c: Include <string.h> unconditionally.
77636         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
77637         Don't declare getenv or malloc.
77638
77639         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
77640         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
77641         (NULL): Remove.
77642         (find_stack_direction, alloca): Use prototypes.
77643
77644         * lib/atexit.c (atexit): Define using a prototype.
77645
77646         * lib/basename.c, dirname.c, stripslash.c:
77647         Include <string.h> unconditionally.
77648
77649         * lib/bcopy.c: Include <stddef.h>.
77650         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
77651
77652         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
77653
77654         * lib/error.h (error, error_at_line, error_print_progname)
77655         [! (defined (__STDC__) && __STDC__)]: Remove decls.
77656         * lib/error.c: Include error.h first, to check interface.
77657         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
77658         (VA_START): Remove; all uses changeed to va_start.
77659         (exit, strerror): Remove decls.
77660         (error_print_progname): Prototype uncondionally.
77661         Don't include <errno.h>; no longer needed.
77662         (private_strerror): Remove.
77663         (error_tail): Always define.
77664         (error, error_at_line): Assume C89 or better; always use prototypes.
77665         * lib/fatal.c: Include "fatal.h" first, to test interface.
77666         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
77667         (VA_START): Remove; all uses changed to va_start.
77668         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
77669         this case.
77670         (exit): Remove decl.
77671         (fatal): Prototype unconditionally.  Assume va_start works.
77672         Abort at end, to pacify gcc.
77673
77674         * lib/euidaccess.c (main): Define with a prototype.
77675
77676         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
77677
77678         * lib/exitfail.c: Include <stdlib.h> unconditionally.
77679
77680         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
77681         prototypes.
77682         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
77683         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
77684         (getenv): Remove decl.
77685         (fnmatch): Define using a prototype.
77686         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
77687         (FCT): Define using a prototype.
77688
77689         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
77690
77691         * lib/gethostname.c: Include <stddef.h>.
77692         (gethostname): Define with prototype.  Length is size_t, not int.
77693
77694 2003-09-08  Paul Eggert  <eggert@twinsun.com>
77695
77696         Assume C89 or better; remove K&R cruft.
77697         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
77698         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
77699         string.h, getenv, malloc.
77700         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
77701         headers.
77702         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
77703         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
77704         do not check for strerror.
77705         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
77706         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
77707         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
77708         do not check for doprnt or vprintf.
77709         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
77710         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
77711
77712 2003-09-08  Paul Eggert  <eggert@twinsun.com>
77713
77714         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
77715         getversion.c should have been removed then, but was accidentally
77716         preserved.
77717
77718         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
77719         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
77720
77721 2003-09-08  Karl Berry  <karl@gnu.org>
77722
77723         * config/config.sub, config.guess, srclistvars.sh: update from savannah
77724                 config, forget about prep.
77725
77726         * config/depcomp, missing: update from automake.
77727
77728 2003-09-07  Paul Eggert  <eggert@twinsun.com>
77729
77730         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
77731         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
77732
77733 2003-09-07  Paul Eggert  <eggert@twinsun.com>
77734
77735         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
77736         copy_tm_result.  Bug reported by Simon Josefsson in
77737         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
77738
77739 2003-09-06  Paul Eggert  <eggert@twinsun.com>
77740
77741         * m4/time_r.m4: New file.
77742         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
77743         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
77744         is. Check for timegm declaration.
77745         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
77746         Do not check for gmtime_r.
77747         Replace mktime if __mktime_internal does not exist and if mktime
77748         hasn't been replaced already.
77749
77750 2003-09-06  Paul Eggert  <eggert@twinsun.com>
77751
77752         * lib/time_r.c, lib/time_r.h: New files.
77753
77754         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
77755         __localtime_r.
77756         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
77757         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
77758
77759         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
77760         __gmtime_r.
77761         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
77762         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
77763         Include <time_r.h>.
77764
77765         * lib/timegm.c: Switch to glibc implementation, with the following
77766         changes:
77767         [defined HAVE_CONFIG_H]: Include <config.h>.
77768         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
77769         (__mktime_internal) [!defined _LIBC]: New decl.
77770         (__gmtime_r) [!defined _LIBC]: New macro and function.
77771         (timegm): Use a prototype, since gnulib assumes C89.
77772         Do not bother declaring tmp to be const, as it's not really usefu.
77773         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
77774         (timegm): Declare only if HAVE_DECL_TIMEGM.
77775
77776 2003-09-06  Paul Eggert  <eggert@twinsun.com>
77777
77778         * MODULES.html.sh (func_all_modules): Add time_r.
77779         * modules/time_r: New file.
77780         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
77781         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
77782
77783 2003-09-03  Paul Eggert  <eggert@twinsun.com>
77784
77785         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
77786         Bug reported by Lute Kamstra in
77787         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
77788
77789         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
77790         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
77791         course with correspondingly smaller numbers for tomorrow and
77792         yesterday.  From Tadayoshi Funaba.  Originally installed into
77793         sh-utils on 1999-08-07, but the patch got lost (I guess during the
77794         coreutils merge?).
77795
77796 2003-08-31  Simon Josefsson  <jas@extundo.com>
77797
77798         * modules/timegm: New file.
77799         * MODULES.html.sh (func_all_modules): Add timegm.
77800
77801 2003-08-31  Simon Josefsson  <jas@extundo.com>
77802
77803         * m4/timegm.m4: New file.
77804
77805 2003-08-31  Simon Josefsson  <jas@extundo.com>
77806
77807         * lib/timegm.h: New file.
77808         * lib/timegm.c: New file.  Based on
77809         wget-1.8.2/src/http.c:mktime_from_utc.
77810
77811 2003-08-31  Karl Berry  <karl@gnu.org>
77812
77813         * lib/argp.h: update from libc.
77814
77815 2003-08-28  Bruno Haible  <bruno@clisp.org>
77816
77817         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
77818         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
77819         followed by '#define fnmatch fnmatch_posix' gives an error.
77820
77821 2003-08-28  Bruno Haible  <bruno@clisp.org>
77822
77823         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
77824         warning on QNX, which defines O_BINARY to 000000.
77825
77826 2003-08-27  Jim Meyering  <jim@meyering.net>
77827
77828         * m4/mkstemp.m4: Require that the system mkstemp be able to create
77829         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
77830         would fail after 32.  Reported by Danny Levinson.  Details here:
77831         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
77832
77833 2003-08-24  Bruno Haible  <bruno@clisp.org>
77834
77835         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
77836         MSVC7 <stdio.h> is included later.
77837
77838 2003-08-22  Simon Josefsson  <jas@extundo.com>
77839
77840         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
77841
77842 2003-08-20  Karl Berry  <karl@gnu.org>
77843
77844         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
77845
77846 2003-08-20  Bruno Haible  <bruno@clisp.org>
77847
77848         * modules/progname: New file.
77849         * MODULES.html.sh (func_all_modules): Add progname.
77850
77851 2003-08-20  Bruno Haible  <bruno@clisp.org>
77852
77853         * lib/progname.h: New file, from GNU gettext.
77854         * lib/progname.c: New file, from GNU gettext.
77855         * lib/progreloc.c: New file, from GNU gettext.
77856
77857 2003-08-19  Jim Meyering  <jim@meyering.net>
77858
77859         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
77860         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
77861
77862 2003-08-19  Bruno Haible  <bruno@clisp.org>
77863
77864         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
77865         more.
77866
77867 2003-08-19  Bruno Haible  <bruno@clisp.org>
77868
77869         * lib/xstrdup.c: Assume <string.h> exists.
77870
77871 2003-08-18  Paul Eggert  <eggert@twinsun.com>
77872
77873         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
77874         in makefile rules.
77875
77876 2003-08-18  Jim Meyering  <jim@meyering.net>
77877
77878         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
77879         * m4/lib-ld.m4: Likewise.
77880
77881 2003-08-18  Jim Meyering  <jim@meyering.net>
77882
77883         * lib/setenv.h: Indent nested cpp directive.
77884         * lib/vasnprintf.c: Remove trailing blanks.
77885
77886 2003-08-17  Simon Josefsson  <jas@extundo.com>
77887
77888         * modules/xstrndup: New file.
77889         * MODULES.html.sh (func_all_modules): Add xstrndup.
77890
77891 2003-08-17  Simon Josefsson  <jas@extundo.com>
77892
77893         * modules/argp: Fix autoconf macro name. Add more dependencies.
77894
77895 2003-08-17  Simon Josefsson  <jas@extundo.com>
77896
77897         * m4/xstrndup.m4: New file.
77898
77899 2003-08-17  Simon Josefsson  <jas@extundo.com>
77900
77901         * m4/argp.m4: New file.
77902
77903 2003-08-17  Simon Josefsson  <jas@extundo.com>
77904             Bruno Haible  <bruno@clisp.org>
77905
77906         * lib/xstrndup.h: New file.
77907         * lib/xstrndup.c: New file.
77908
77909 2003-08-17  Bruno Haible  <bruno@clisp.org>
77910
77911         * modules/strndup (Files, Include): Add lib/strndup.h.
77912
77913 2003-08-17  Bruno Haible  <bruno@clisp.org>
77914
77915         * modules/euidaccess (Files): Add lib/euidaccess.h.
77916
77917 2003-08-17  Bruno Haible  <bruno@clisp.org>
77918
77919         * lib/strndup.h: New file.
77920
77921 2003-08-17  Bruno Haible  <bruno@clisp.org>
77922
77923         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
77924         like AC_GNU_SOURCE.
77925         * modules/extensions (configure.ac): Comment out the invocation of
77926         gl_USE_SYSTEM_EXTENSIONS.
77927
77928 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77929
77930         Merges from coreutils, etc.
77931         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
77932         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
77933         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
77934         fixing a typo.
77935         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
77936         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
77937
77938 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77939
77940         Document merge from coreutils.
77941         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
77942         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
77943         * modules/utime: Add m4/utimes-null.m4.
77944
77945 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77946
77947         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
77948         space, undoing this 2003-08-12 change:
77949         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
77950
77951 2003-08-16  Paul Eggert  <eggert@twinsun.com>
77952
77953         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
77954         strtoul.c from libc, undoing this 2003-08-12 change:
77955         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
77956
77957 2003-08-16  Jim Meyering  <jim@meyering.net>
77958
77959         Merges from coreutils.
77960         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
77961         prefix.  Adjust cache variables similarly.  Create 500 rather than
77962         just 300 files, to exercise bug on Darwin6.5, too.
77963         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
77964         $missing_dir.
77965         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
77966         AM_SYS_POSIX_TERMIOS.
77967         Reported by mkc@mathdogs.com.
77968         Also change use of $am_cv_sys_posix_termios
77969         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
77970         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
77971         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
77972         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
77973         in /proc/mounts until it finds one with matching device number.  This
77974         is unnecessary when the FILE argument *is* a mount point.  No stat call
77975         is necessary in that case.  So, disable the statvfs-testing code on
77976         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
77977         as RedHat bug# 84846.
77978         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
77979         to 1MB, so as not to render systems with no stack size limit (e.g.,
77980         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
77981         Include <unistd.h>.  On some systems,
77982         it is required for the definition of _SC_PAGESIZE.
77983
77984 2003-08-16  Jim Meyering  <jim@meyering.net>
77985
77986         Merge from coreutils.
77987         * lib/xstrtoimax.c: #else #if -> #elif.
77988         * lib/xstrtoumax.c: Likewise.
77989
77990 2003-08-16  Jim Meyering  <jim@meyering.net>
77991
77992         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
77993         * m4/utimes.m4: Removed.
77994         * m4/utimes-null.m4: Renamed from utimes.m4.
77995
77996         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
77997         to 1MB, so as not to render systems with no stack size limit (e.g.,
77998         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
77999         Include <unistd.h>.  On some systems,
78000         it is required for the definition of _SC_PAGESIZE.
78001
78002 2003-08-16  Jim Meyering  <jim@meyering.net>
78003         and Paul Eggert  <eggert@cs.ucla.edu>
78004
78005         Merges from coreutils, etc.
78006
78007         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
78008         using the latest version from cvs.  This avoids problems with #line
78009         directives using a vendor (Sun) compiler.
78010         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
78011         Don't set GETGROUPS_LIB here; now it's
78012         done via getgroups.m4's wrapper function.
78013         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
78014         rather than just in sh-util/configure.in, so that the
78015         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
78016         same.
78017         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
78018         AC_FUNC_GETLOADAVG where to find getloadavg.c.
78019         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
78020         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
78021         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
78022         Remove code that is now done by the newly-required macros.
78023         Append $(EXEEXT) to DF_PROG.
78024         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
78025         Do not invoke or require the following here,
78026         since prereq.m4 or some gnulib .m4 now does this for us:
78027         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
78028         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
78029         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
78030         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
78031         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
78032         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
78033         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
78034         AC_FUNC_OBSTACK.
78035         Do not replace the following functions, as this is now the job
78036         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
78037         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
78038         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
78039         atexit getpass, strdup, getpagesize.
78040         Replace 'raise'.
78041         Do not check for the following functions, as this is now the job
78042         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
78043         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
78044         setregid.
78045         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
78046         Check for sys/sysctl.h.
78047         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
78048         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
78049         of checking for ssize_t ourselves.
78050
78051         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
78052         Require every macro that gnulib/modules/* suggests for us.
78053         (jm_PREREQ_ADDEXT): New macro.
78054         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
78055         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
78056
78057         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
78058         (gl_PHYSMEM): Use it.
78059         Also check for `table' function.
78060         Check for new headers and functions.
78061         Add check for sys/sysmp.h.
78062         With suggestions from Kaveh Ghazi.
78063         Ignore headers that are present but cannot be compiled.  This
78064         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
78065         C 5.4.
78066
78067 2003-08-15  Paul Eggert  <eggert@twinsun.com>
78068
78069         Document merge from coreutils.
78070         * modules/userspec: Depend on posixver.
78071         * modules/strftime: Depend on tzset.
78072
78073 2003-08-15  Paul Eggert  <eggert@twinsun.com>
78074
78075         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
78076         rather than tab, after '#' in shell-script copyright notices.
78077         Suggested by Bruno Haible.
78078
78079 2003-08-15  Paul Eggert  <eggert@twinsun.com>
78080
78081         * config/srclist-update: Use three spaces, rather than tab, after '#'
78082         in shell-script copyright notices.  Suggested by Bruno Haible.
78083         Remove unnecessary parenthesization in regular expression.
78084
78085 2003-08-15  Jim Meyering  <jim@meyering.net>
78086
78087         Merge from coreutils.
78088         * lib/xgethostname.c: Include <stdlib.h>.
78089         (xghostname): Don't exit for anything other than memory-related
78090         failure; just return NULL.
78091         * lib/userspec.c: Include "posixver.h".
78092         (parse_user_spec): Accept `.' as a separator only
78093         in pre-POSIX-200112 mode.
78094         * lib/strtoimax.c: Use #elif rather than #else #if.
78095         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
78096         Remove function, now that we can rely on a working tzset function.
78097         [!_LIBC]: Ensure that the required autoconf test has been run.
78098         [!defined _NL_CURRENT && HAVE_STRFTIME]:
78099         Use underlying_strftime for %r.
78100         * lib/sha.c: Merge in some clean-up and optimization changes from
78101         glibc.
78102         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
78103         Ensure that it is a multiple of 64.
78104         Rearrange loop exit tests so as to avoid performing an
78105         additional fread after encountering an error or EOF.
78106         * lib/realloc.c: Update copyright date.
78107
78108 2003-08-15  Jim Meyering  <jim@meyering.net>
78109         and Paul Eggert  <eggert@twinsun.com>
78110
78111         Merge from coreutils.
78112         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
78113         member but strut utmpx does not.  Needed for AIX 4.3.3.
78114         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
78115
78116 2003-08-15  Jim Meyering  <jim@meyering.net>
78117         and Paul Eggert  <eggert@cs.ucla.edu>
78118
78119         Merges from coreutils, etc.
78120         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
78121         Require gl_FUNC_TZSET_CLOBBER.
78122         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
78123         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
78124         members.
78125
78126 2003-08-14  Paul Eggert  <eggert@twinsun.com>
78127
78128         Help the merge from coreutils.
78129         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
78130         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
78131         * m4/tzset.m4: Use it too.
78132
78133 2003-08-14  Paul Eggert  <eggert@twinsun.com>
78134
78135         * modules/tzset: New file.
78136
78137 2003-08-14  Jim Meyering  <jim@meyering.net>
78138
78139         Merges from coreutils.
78140         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
78141         variable names, rather than @FNMATCH_H@.
78142         * modules/alloca: Likewise for $(ALLOCA_H).
78143
78144         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
78145         the three copies of the literal target, `fnmatch.h'.
78146         * modules/alloca (alloca.h): Likewise.
78147
78148 2003-08-14  Jim Meyering  <jim@meyering.net>
78149
78150         Merge from coreutils.
78151         * m4/tzset.m4: New file.
78152         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
78153         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
78154         otherwise, AIX 5.1 systems would end up using the latter.
78155         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
78156         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
78157         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
78158         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
78159
78160 2003-08-14  Jim Meyering  <jim@meyering.net>
78161
78162         Merge from coreutils.
78163         * lib/obstack.h: Whitespace changes.
78164         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
78165         and xcalloc return values.
78166         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
78167         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
78168         hang on OSF/1 5.1 for DIR on both local and remote file systems.
78169         Reported by (and fix confirmed by) Nelson H. F. Beebe.
78170         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
78171         error from mntctl.
78172         Use mntctl's return value to drive the entry-processing loop, since
78173         we can't rely on the value of the vmt_length member in the last
78174         entry.  On some systems doing so could result in exhausting
78175         virtual memory.  Based in part on a patch from Mike Jetzer.
78176
78177 2003-08-14  Jim Meyering  <jim@meyering.net>
78178         and Paul Eggert  <eggert@twinsun.com>
78179
78180         Merges from coreutils, plus other fixes.
78181         * lib/physmem.c: Merge in portability changes from gcc/libiberty
78182         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
78183         for credits and details.  Thanks to Kaveh Ghazi for helping
78184         to keep these files in sync.
78185         (ARRAY_SIZE): Define it.
78186         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
78187         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
78188         (memcasecmp): Don't assume size_t fits in unsigned int.
78189         Remove casts and duplicate code.
78190         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
78191         (memcpy): Remove definition.
78192         Merge in some clean-up and optimization changes from glibc.
78193         [BLOCKSIZE]: Move definition to top of file.
78194         Ensure that it is a multiple of 64.
78195         Rearrange loop exit tests so as to avoid performing an
78196         additional fread after encountering an error or EOF.
78197         * lib/md5.h (md5_uintptr): Define.
78198         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
78199         return to the initial working directory.  Preserve errno
78200         for caller.
78201         * lib/idcache.c: Include "xalloc.h".
78202         (xmalloc, xrealloc): Remove decls.
78203         (getuser): Remove casts no longer required in C89.
78204         * lib/human.c: Include stdio.h, for sprintf.
78205         * lib/group-member.c: Include "xalloc.h".
78206         (xmalloc, xrealloc): Remove decls.
78207         (get_group_info): Remove casts no longer required in C89.
78208         * lib/getusershell.c (readname): Remove casts no longer required in
78209         C89.
78210         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
78211         * lib/getline.c: Whitespace fix, from coreutils.
78212
78213 2003-08-13  Paul Eggert  <eggert@twinsun.com>
78214
78215         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
78216         Check for isascii.
78217
78218         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
78219         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
78220         Undo previous (whitespace-only) change.
78221
78222 2003-08-13  Paul Eggert  <eggert@twinsun.com>
78223
78224         * lib/exclude.c: Include <ctype.h>
78225         (IN_CTYPE_DOMAIN): New macro.
78226         (is_space): New fn.
78227         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
78228         and empty lines.
78229
78230         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
78231         Undo previous (whitespace-only) change.
78232
78233 2003-08-13  Paul Eggert  <eggert@twinsun.com>
78234
78235         * config/srclist-update: Change update back to the old behavior,
78236         leaving whitespace alone.  Use one 'sed' command rather than a
78237         pipeline.
78238         (fixlicense): Now a variable, not a function.
78239         (remove_trailing_blanks): Remove.
78240         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
78241         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
78242         Undo previous (whitespace-only) change.
78243
78244 2003-08-12  Paul Eggert  <eggert@twinsun.com>
78245
78246         Merge from coreutils.
78247         * modules/euidaccess: Add lib_SOURCES, include for new
78248         file euidaccess.h
78249
78250 2003-08-12  Paul Eggert  <eggert@twinsun.com>
78251
78252         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
78253         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
78254         Normalize leading white space and remove trailing white space.
78255
78256         Merge from coreutils
78257         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
78258
78259         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
78260         0.12.1.  These files are now being upgraded automatically by
78261         ../config/srclist-update.
78262
78263 2003-08-12  Paul Eggert  <eggert@twinsun.com>
78264
78265         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
78266         Normalize leading white space and remove trailing white space.
78267         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
78268         notice, as per ../config/srclist-update.
78269
78270         Merge from coreutils.
78271         * lib/euidaccess.h: New file.
78272         * lib/euidaccess.c: Include it.
78273         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
78274         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
78275         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
78276
78277 2003-08-12  Paul Eggert  <eggert@twinsun.com>
78278
78279         * config/srclist-update: Add copyright notice.
78280         (remove_id_lines, remove_trailing_blanks): New constants.
78281         (fixfile): Use them to normalize spacing a bit in copied files.
78282         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
78283         Normalize leading white space and remove trailing white space.
78284
78285         * config/texinfo.tex: Sync with texinfo.
78286
78287         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
78288         strtoul.c from libc, to merge coreutils whitespace changes.
78289
78290         * config/srclist.txt: Get the following m4 files from gettext:
78291         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
78292         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
78293         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
78294         wint_t.m4.
78295
78296 2003-08-12  Karl Berry  <karl@gnu.org>
78297
78298         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
78299         been made.
78300
78301 2003-08-11  Paul Eggert  <eggert@twinsun.com>
78302
78303         * modules/gnu-source, m4/gnu-source.m4:
78304         Remove; we're assuming Autoconf 2.54 or later now.
78305         Suggested by Bruno Haible.
78306         * MODULES.html.sh (func_all_modules): Remove gnu-source.
78307
78308 2003-08-11  Bruno Haible  <bruno@clisp.org>
78309
78310         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
78311
78312 2003-08-11  Bruno Haible  <bruno@clisp.org>
78313
78314         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
78315         (vasnprintf): Use it instead of wcslen.
78316
78317 2003-08-11  Bruno Haible  <bruno@clisp.org>
78318
78319         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
78320         value to ensure that _Bool promotes to int. Use #define for _Bool when
78321         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
78322
78323 2003-08-10  Karl Berry  <karl@gnu.org>
78324
78325         * lib/regex.h: update from libc (whitespace fix).
78326
78327 2003-08-09  Paul Eggert  <eggert@twinsun.com>
78328
78329         Merge some files from coreutils.  These changes were
78330         originally made by Jim Meyering.
78331         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
78332         many older Unixes require this.
78333         * lib/alloca.c (alloca): Remove cast to argument of free;
78334         no longer needed in C89.
78335         * lib/alloca_.h, regex.h: Fix white space to match
78336         what GNU indent does.
78337
78338 2003-08-09  Paul Eggert  <eggert@twinsun.com>
78339
78340         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
78341         apparently Emacs's Unicode mode got confused before my 2003-08-05
78342         checkin.
78343
78344 2003-08-08  Paul Eggert  <eggert@twinsun.com>
78345
78346         * m4/extensions.m4: New file.
78347         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
78348         Require gl_USE_SYSTEM_EXTENSIONS.
78349         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
78350         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
78351
78352 2003-08-08  Paul Eggert  <eggert@twinsun.com>
78353
78354         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
78355         * modules/extensions, modules/gnu-source: New files.
78356         * modules/timespec, modules/unlocked-io: Depend on extensions.
78357
78358 2003-08-07  Paul Eggert  <eggert@twinsun.com>
78359
78360         * modules/restrict: New file.
78361         * MODULES.html.sh (func_all_modules): Add restrict.
78362         * modules/regex: Depend on restrict.
78363
78364 2003-08-07  Paul Eggert  <eggert@twinsun.com>
78365
78366         * m4/restrict.m4: New file.
78367         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
78368
78369 2003-08-07  Bruno Haible  <bruno@clisp.org>
78370
78371         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
78372         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
78373
78374 2003-08-07  Bruno Haible  <bruno@clisp.org>
78375
78376         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
78377         makes the module 'getndelim2' compatible with the module 'getline'.
78378
78379 2003-08-05  Paul Eggert  <eggert@twinsun.com>
78380
78381         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
78382         byte with "\201" to avoid glitches when editing that source file
78383         with multi-gnome-terminal.
78384
78385 2003-08-05  Paul Eggert  <eggert@twinsun.com>
78386
78387         * lib/bumpalloc.h: Remove.
78388
78389 2003-08-05  Paul Eggert  <eggert@twinsun.com>
78390
78391         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
78392         * modules/bumpalloc: Remove.
78393
78394 2003-08-04  Paul Eggert  <eggert@twinsun.com>
78395
78396         * lib/getloadavg.c: Change copyright notice and spacing to conform to
78397         GNU coding style.
78398
78399         Merge from coreutils.
78400         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
78401         1. From glibc.
78402         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
78403         from Karl Berry, implemented by Jim Meyering.
78404         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
78405         from Dmitry V. Levin.
78406         Remove anachronistic cast of xrealloc.
78407         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
78408         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
78409         type. Otherwise, it wouldn't compile with at least /bin/cc on
78410         ymp-cray-unicos9.0.2.X.
78411         Combine two mostly-identical uses of alloca into one.
78412         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
78413
78414 2003-08-04  Dave Love  <d.love@dl.ac.uk>
78415
78416         [From Emacs.]
78417
78418         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
78419         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
78420         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
78421         obsolete NLIST_NAME_UNION.
78422         [__GNU__]: Undef BSD and FSCALE.
78423         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
78424
78425 2003-08-03  Paul Eggert  <eggert@twinsun.com>
78426
78427         * lib/stdbool_.h (_Bool): Make it signed char, instead of
78428         an enum type, so that it's guaranteed to promote to int.  See:
78429         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
78430
78431 2003-08-03  Karl Berry  <karl@gnu.org>
78432
78433         * config/depcomp: update from automake.
78434
78435 2003-07-31  Paul Eggert  <eggert@twinsun.com>
78436
78437         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
78438         (strerror): Don't assume that a printable int fits in 14 bytes.
78439
78440 2003-07-31  Bruno Haible  <bruno@clisp.org>
78441
78442         * modules/getpass-gnu: New file.
78443         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
78444
78445 2003-07-31  Bruno Haible  <bruno@clisp.org>
78446
78447         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
78448
78449 2003-07-24  Karl Berry  <karl@gnu.org>
78450
78451         * config/missing: update from automake.
78452
78453 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
78454             Bruno Haible  <bruno@clisp.org>
78455
78456         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
78457         * lib/getline.c (getline, getdelim): Likewise.
78458         Remove _GNU_SOURCE define; now it's defined in config.h through
78459         m4/getline.m4.
78460
78461 2003-07-23  Karl Berry  <karl@gnu.org>
78462
78463         * config/config.sub: update from prep.
78464
78465 2003-07-22  Paul Eggert  <eggert@twinsun.com>
78466
78467         * modules/xalloc (Depends-on): Add exitfail.
78468         * modules/xmemcoll: Likewise.
78469
78470 2003-07-22  Paul Eggert  <eggert@twinsun.com>
78471
78472         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
78473         over-parenthesization in macros.
78474
78475         Sync with coreutils.
78476
78477         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
78478         required by C99.
78479
78480         Use `exit_failure' for xalloc and xmemcoll instead of their own
78481         private exit-failure variables.
78482         * lib/xalloc.h (xalloc_exit_failure): Remove.
78483         * lib/xmalloc.c: Likewise.  Include exitfail.h.
78484         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
78485         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
78486         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
78487         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
78488
78489 2003-07-20  Jim Meyering  <jim@meyering.net>
78490
78491         * modules/closeout (Depends-on): Add exitfail.
78492         Suggestion from Bruno Haible.
78493
78494 2003-07-19  Karl Berry  <karl@gnu.org>
78495
78496         * config/config.sub: update from prep.
78497
78498 2003-07-18  Paul Eggert  <eggert@twinsun.com>
78499
78500         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
78501         Remove.
78502         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
78503         to test that it can stand by itself.  Include "exitfail.h".
78504         Clients should set exit_failure instead.
78505         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
78506
78507 2003-07-18  Bruno Haible  <bruno@clisp.org>
78508
78509         * modules/getndelim2: New file.
78510         * modules/getline: Share files with module getndelim2.
78511         * modules/getnline: Depend on getndelim2 instead of sharing files with
78512         it. Add getnline.c to lib_SOURCES.
78513         * MODULES.html.sh (func_all_modules): Add getndelim2.
78514
78515 2003-07-18  Bruno Haible  <bruno@clisp.org>
78516
78517         * m4/getndelim2.m4: New file.
78518         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
78519         invoke gl_PREREQ_GETNDELIM2.
78520         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
78521         gl_PREREQ_GETNDELIM2.
78522         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
78523         gl_GETNDELIM2.
78524
78525 2003-07-18  Bruno Haible  <bruno@clisp.org>
78526
78527         * lib/getndelim2.h: New file.
78528         * lib/getndelim2.c: Make into a module of its own. Include config.h,
78529         getndelim2.h.
78530         (getndelim2): Make non-static. Change return type to ssize_t.
78531         * lib/getline.h: Change argument names.
78532         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
78533         * lib/getnline.c: Include getndelim2.h.
78534
78535 2003-07-18  Andreas Schwab  <schwab@suse.de>
78536
78537         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
78538
78539 2003-07-17  Karl Berry  <karl@gnu.org>
78540
78541         * config/config.sub: update from prep.
78542
78543 2003-07-17  Bruno Haible  <bruno@clisp.org>
78544
78545         * modules/getnline: New file.
78546         * modules/getline: Add lib/getndelim2.c to source file list.
78547         * MODULES.html.sh (func_all_modules): Add getnline.
78548
78549 2003-07-17  Bruno Haible  <bruno@clisp.org>
78550
78551         * m4/getnline.m4: New file.
78552
78553 2003-07-17  Bruno Haible  <bruno@clisp.org>
78554
78555         * m4/Makefile.am.in: Remove file.
78556         * m4/Makefile.am: Remove file.
78557         * m4/Makefile.in: Remove file.
78558
78559 2003-07-17  Bruno Haible  <bruno@clisp.org>
78560
78561         * lib/getnline.h: New file.
78562         * lib/getnline.c: New file.
78563         * lib/getndelim2.c: New file, extracted from getline.c.
78564         (getndelim2): Renamed from getdelim2, with added nmax argument.
78565         * lib/getline.c: Include getndelim2.c.
78566         (getdelim2): Moved out to getndelim2.c.
78567         (getline, getdelim): Update.
78568
78569 2003-07-17  Bruno Haible  <bruno@clisp.org>
78570
78571         * lib/Makefile.am: Remove file.
78572         * lib/Makefile.in: Remove file.
78573
78574 2003-07-17  Bruno Haible  <bruno@clisp.org>
78575
78576         * configure.in: Remove file.
78577         * Makefile.in: Remove file.
78578
78579 2003-07-17  Bruno Haible  <bruno@clisp.org>
78580
78581         * MODULES.html.sh: Put the </BODY> right before </HTML>.
78582
78583 2003-07-16  Karl Berry  <karl@gnu.org>
78584
78585         * config/srclist-update: was running fixlicense twice, which caused
78586                 texinfo.tex to be nullified for some reason.  Simplify,
78587                 $gplsrc is no longer needed as far as I can see?
78588
78589 2003-07-16  Jim Meyering  <jim@meyering.net>
78590
78591         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
78592
78593 2003-07-15  Paul Eggert  <eggert@twinsun.com>
78594
78595         * config/srclist.txt: Get the following files from gettext-runtime/intl
78596         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
78597         ref-del.sin.  From Bruno Haible.
78598         * config/srclist-update (fixfile): Change grep pattern again, since the
78599         previous fix didn't work (there was another trailing $).  Use
78600         '[$]' to escape the $s.
78601
78602 2003-07-15  Karl Berry  <karl@gnu.org>
78603
78604         * lib/vasnprintf.c: update from gettext.
78605
78606 2003-07-15  Karl Berry  <karl@gnu.org>
78607
78608         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
78609         gets expanded when surrounded by '$'.
78610
78611 2003-07-15  Jim Meyering  <jim@meyering.net>
78612
78613         * modules/save-cwd: Don't depend on error.  From Derek Price.
78614
78615 2003-07-15  Jim Meyering  <jim@meyering.net>
78616
78617         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
78618
78619 2003-07-14  Simon Josefsson  <jas@extundo.com>
78620
78621         * modules/mempcpy: New file.
78622         * MODULES.html.sh (func_all_modules): Add mempcpy.
78623
78624 2003-07-14  Simon Josefsson  <jas@extundo.com>
78625
78626         * m4/mempcpy.m4: New file.
78627
78628 2003-07-14  Simon Josefsson  <jas@extundo.com>
78629
78630         * lib/mempcpy.h: New file.
78631         * lib/mempcpy.c: New file.
78632
78633 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78634
78635         * modules/getdate, modules/posixtm: Depend on mktime.
78636
78637 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78638
78639         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
78640         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
78641         unicodeio.c, unicodeio.h, unlocked-io.h:
78642         Switch from LGPL to GPL.
78643
78644 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78645
78646         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
78647         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
78648         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
78649         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
78650         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
78651         updated automatically by ../config/srclist-update.  This changes
78652         their license from LPGL to GPL.
78653
78654 2003-07-14  Paul Eggert  <eggert@twinsun.com>
78655
78656         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
78657         assumed to refer to the root of the most recent stable gettext version.
78658         * config/srclistvars.sh: Add defaults for eggert.
78659         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
78660         Match "This program" as well as "The program".  This is needed
78661         for gettext.
78662
78663 2003-07-14  Jim Meyering  <jim@meyering.net>
78664
78665         Don't emit diagnostics.  Let callers do that.
78666         * lib/save-cwd.c: Don't include "error.h".
78667         (save_cwd): Don't call error.  Ensure that errno is valid
78668         when returning nonzero.
78669
78670         * lib/save-cwd.h (restore_cwd): Update prototype.
78671         * lib/save-cwd.c (restore_cwd): Remove two parameters.
78672         Simplify.  Don't call error upon failure.  Let callers do that.
78673         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
78674         when auditing is enabled.  But don't bother updating the #if.
78675
78676 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
78677
78678         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
78679         it breaks C++ compilation.
78680         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
78681
78682 2003-07-10  Simon Josefsson  <jas@extundo.com>
78683
78684         * modules/strchrnul (Makefile.am): Add strchrnul.h.
78685
78686 2003-07-10  Jim Meyering  <jim@meyering.net>
78687
78688         * m4/clock_time.m4: Remove trailing blank.
78689         * m4/intmax_t.m4: Likewise.
78690
78691 2003-07-10  Jim Meyering  <jim@meyering.net>
78692
78693         * lib/vasnprintf.c: Remove trailing blanks.
78694         Make cpp indentation consistent.
78695
78696 2003-07-09  Paul Eggert  <eggert@twinsun.com>
78697
78698         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
78699         posixver.c, strftime.c, strnlen.c, strverscmp.c:
78700         Switch from LGPL to GPL.
78701
78702 2003-07-09  Paul Eggert  <eggert@twinsun.com>
78703
78704         * config/srclist.txt: Sort sublists.  Add
78705         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
78706         that differ from gnulib for one reason or another; we'd like this list
78707         to be smaller but for now let's document what we have.
78708
78709 2003-07-08  Paul Eggert  <eggert@twinsun.com>
78710
78711         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
78712         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
78713         and sweeter "eval x=$x".
78714         * config/srclist.txt: Get lib/argp* from glibc.
78715
78716 2003-07-07  Paul Eggert  <eggert@twinsun.com>
78717
78718         * lib/mktime.c: Fix some boundary cases and remove need for floating
78719         point.
78720
78721         Issue a compile-time diagnostic if time_t is floating point, or if
78722         two's complement arithmetic is not in effect, or if arithmetic
78723         right shift does not propagate the sign.  These assumptions were
78724         all in the original code but they weren't checked.
78725
78726         (TIME_T_MIDPOINT, verify): New macros.
78727         (__isleap): Remove; it has integer overflow problems.
78728         (leapyear): New function, without those problems.
78729         (ydhms_tm_diff): Remove; splitting into two parts.
78730         (ydhms_diff): New function, containing the arithmetic part of
78731         the old ydhms_tm_diff function.  Issue a compile-time
78732         diagnostic if we are not using C99 integer division.
78733         Avoid casts when possible.
78734         (guess_time_tm): New function, containing the checking part of
78735         the old ydhms_tm_diff function.  Return the new value, rather than
78736         the difference between it and the old.  Accept a new argument T
78737         so that *T specifies the old value.  Check for overflow in the result.
78738
78739         (__mktime_internal): Use a time_t offset, not a long int offset.
78740         This undoes the 2003-06-04 change, which is no longer needed now
78741         that we have better overflow checking.
78742         (localtime_offset): Likewise.
78743
78744         (__mktime_internal): Avoid harmful overflow on hosts where time_t
78745         and long are 64-bit but int is only 32-bit.
78746         (ydhms_diff): Use long int to store year1 and yday1.
78747         Issue a compile-time diagnostic if long int is not wide enough.
78748
78749         (__mktime_internal): Use long int to store adjusted year and yday.
78750         Use plain C rather than preprocessor commands, if that doesn't
78751         affect efficiency.
78752         Check for overflow (and try to repair) after each probe
78753         rather than checking only at the very end.  This avoids some bugs
78754         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
78755         does not equal GMT offset at maximum time).
78756         Use integer to check for overflow rather than floating point; this
78757         is more portable to non-IEEE hosts, and is a tad faster.
78758         When we detect that we are oscillating between two values,
78759         don't check whether tm_isdst has the requested value, since
78760         we already know the answer.  When tm_isdst has the wrong value,
78761         use a different heuristic to find the right one, based on the
78762         extreme values actually observed in practice in tz2003a,
78763         rather than the (overly optimistic) "previous 3 calendar quarters".
78764
78765         (not_equal_tm, print_tm, check_result): Use "const T" rather than
78766         "T const" to accommodate glibc style.
78767         (check_result): Use less-confusing report format.  "long" -> "long int.
78768         (main): Likewise.
78769         Don't loop if the iteration overflows time_t.
78770         Allow a negative step in the iteration.
78771
78772 2003-07-06  Karl Berry  <karl@gnu.org>
78773
78774         * config/depcomp: update from automake.
78775         * config/config.sub: update from prep.
78776
78777 2003-07-03  Karl Berry  <karl@gnu.org>
78778
78779         * config/config.guess: update from prep.
78780
78781 2003-07-01  Paul Eggert  <eggert@twinsun.com>
78782
78783         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
78784         xreadlink.c now includes it unconditionally.
78785
78786 2003-07-01  Paul Eggert  <eggert@twinsun.com>
78787
78788         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
78789         having it depend on HAVE_SYS_TYPES_H.
78790
78791 2003-07-01  Bruno Haible  <bruno@clisp.org>
78792
78793         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
78794         <sys/types.h> should be sufficient.
78795         Reported by Paul Eggert.
78796
78797 2003-06-26  Karl Berry  <karl@gnu.org>
78798
78799         * config/depcomp: update from automake.
78800
78801 2003-06-26  Bruno Haible  <bruno@clisp.org>
78802
78803         * modules/human: Depend on module stdbool.
78804
78805 2003-06-25  Bruno Haible  <bruno@clisp.org>
78806
78807         * modules/readlink: New file.
78808         * modules/xreadlink: Depend on it.
78809         * MODULES.html.sh (func_all_modules): Add readlink.
78810
78811 2003-06-25  Bruno Haible  <bruno@clisp.org>
78812
78813         * m4/readlink.m4: New file.
78814
78815 2003-06-25  Bruno Haible  <bruno@clisp.org>
78816
78817         * lib/readlink.c: New file.
78818
78819 2003-06-22  Karl Berry  <karl@gnu.org>
78820
78821         * config/srclist.txt: update mkinstalldirs from automake.
78822         * config/mkinstalldirs: update.
78823
78824 2003-06-22  Bruno Haible  <bruno@clisp.org>
78825
78826         Portability to mingw32.
78827         * m4/ssize_t.m4: New file, from GNU gettext.
78828         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
78829         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
78830
78831 2003-06-22  Bruno Haible  <bruno@clisp.org>
78832
78833         * modules/safe-read: Add m4/ssize_t.m4.
78834         * modules/xreadlink: Add m4/ssize_t.m4.
78835
78836 2003-06-20  Bruno Haible  <bruno@clisp.org>
78837
78838         Assume C89, so PARAMS isn't needed.
78839         * lib/unicodeio.h (PARAMS): Remove.
78840         * lib/unicodeio.c: Don't use PARAMS.
78841
78842 2003-06-18  Karl Berry  <karl@gnu.org>
78843
78844         * config/config.{guess,sub}: update from prep.
78845
78846 2003-06-18  Jim Meyering  <jim@meyering.net>
78847
78848         Merge changes from coreutils.
78849         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
78850         Remove explicit declarations of xmalloc and realloc.
78851         Include xalloc.h.
78852         (read_utmp): Remove anachronistic cast of xmalloc.
78853
78854 2003-06-17  Paul Eggert  <eggert@twinsun.com>
78855
78856         Assume C89, so PARAMS isn't needed.
78857         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
78858         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
78859         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
78860         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
78861         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
78862         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
78863         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
78864         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
78865         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
78866         lib/xstrtod.h, lib/xstrtol.h: Likewise.
78867         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
78868         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
78869         no longer needed. Anyway, config.h should always be included before any
78870         other file.
78871
78872 2003-06-11  Simon Josefsson  <jas@extundo.com>
78873
78874         * modules/sysexits: New file.
78875         * MODULES.html.sh (func_all_modules): Add sysexits.
78876
78877 2003-06-11  Simon Josefsson  <jas@extundo.com>
78878
78879         * lib/sysexit_.h: New file.
78880
78881 2003-06-11  Derek Price  <derek@ximbiot.com>
78882
78883         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
78884         necessary.
78885
78886 2003-06-11  Bruno Haible  <bruno@clisp.org>
78887
78888         * m4/sysexits.m4: New file.
78889
78890 2003-06-10  Simon Josefsson  <jas@extundo.com>
78891
78892         * lib/argp.h: New file, from glibc.
78893         * lib/argp-ba.c: New file, from glibc.
78894         * lib/argp-eexst.c: New file, from glibc.
78895         * lib/argp-fmtstream.c: New file, from glibc.
78896         * lib/argp-fmtstream.h: New file, from glibc.
78897         * lib/argp-fs-xinl.c: New file, from glibc.
78898         * lib/argp-help.c: New file, from glibc.
78899         * lib/argp-namefrob.h: New file, from glibc.
78900         * lib/argp-parse.c: New file, from glibc.
78901         * lib/argp-pv.c: New file, from glibc.
78902         * lib/argp-pvh.c: New file, from glibc.
78903         * lib/argp-xinl.c: New file, from glibc.
78904
78905 2003-06-10  Simon Josefsson  <jas@extundo.com>
78906
78907         * modules/strchrnul: New file.
78908
78909 2003-06-10  Simon Josefsson  <jas@extundo.com>
78910
78911         * modules/argp: New file.
78912
78913 2003-06-10  Simon Josefsson  <jas@extundo.com>
78914
78915         * m4/strchrnul.m4: New file.
78916
78917 2003-06-10  Simon Josefsson  <jas@extundo.com>
78918
78919         * lib/strchrnul.h: New file.
78920         * lib/strchrnul.c: New file.
78921
78922 2003-06-10  Bruno Haible  <bruno@clisp.org>
78923
78924         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
78925
78926 2003-06-07  Karl Berry  <karl@gnu.org>
78927
78928         * config/config.{guess,sub}: update from prep.
78929
78930 2003-06-07  Jim Meyering  <jim@meyering.net>
78931
78932         * modules/strtod: Use $(...) notation, not @...@ for
78933         AC_REPLACE'd variables.
78934         * modules/localcharset: Likewise.
78935
78936 2003-06-07  Jim Meyering  <jim@meyering.net>
78937
78938         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
78939         in place of my name in the copyright comment.
78940         Remove definition and uses of __P.
78941
78942         From coreutils.
78943         * lib/stat.c: Don't declare xmalloc explicitly.
78944         Instead, include "xalloc.h".
78945         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
78946         xrealloc, and xcalloc return values.
78947         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
78948         Improve comment.
78949         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
78950
78951 2003-06-07  Bruno Haible  <bruno@clisp.org>
78952
78953         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
78954         avoid AC_CONFIG_LINKS.
78955         * modules/fnmatch (Makefile.am): Use explicit creation rule for
78956         fnmatch.h, to avoid AC_CONFIG_LINKS.
78957         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
78958
78959 2003-06-07  Bruno Haible  <bruno@clisp.org>
78960
78961         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
78962         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
78963         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
78964         directory.
78965         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
78966         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
78967         directory.
78968
78969 2003-06-06  Jim Meyering  <jim@meyering.net>
78970
78971         Merge from coreutils.
78972         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
78973         Consolidate declarations and initializations of *_base* locals.
78974
78975         Merge from coreutils.
78976         This avoids a core dump on systems without GNU putenv,
78977         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
78978         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
78979         (unsetenv): New static function, from GNU libc.
78980         (rpl_putenv): Use it.
78981
78982         * lib/modechange.c: Remove trailing blanks.
78983
78984         Merge from coreutils.
78985         * lib/fsusage.c: Remove declaration of statfs.
78986         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
78987
78988         * lib/posixtm.c: Include <stdbool.h> unconditionally.
78989
78990 2003-06-06  Jim Meyering  <jim@meyering.net>
78991
78992         * lib/stdbool_.h: Renamed from stdbool.h.in.
78993
78994 2003-06-06  Jim Meyering  <jim@meyering.net>
78995             Bruno Haible  <bruno@clisp.org>
78996
78997         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
78998         Adjust Makefile.am snippet not to redirect directly to target.
78999         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
79000
79001 2003-06-05  Paul Eggert  <eggert@twinsun.com>
79002
79003         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
79004         mismatch, look in future quarters as well as past.  This fixes a
79005         bug when processing fall-backwards gaps immediately after a long
79006         period of daylight-saving time.
79007
79008         * lib/mktime.c: Assume freestanding C89 or better.
79009         (HAVE_LIMITS_H): Remove.  Assume it's 1.
79010         (__P): Remove; not used.
79011         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
79012         (mktime, not_equal_tm, print_tm, check_result,
79013         main): Use prototypes.  Use const * where appropriate.
79014         (main): Fix typo in testing code that uncovered by above changes.
79015         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
79016
79017 2003-06-04  Paul Eggert  <eggert@twinsun.com>
79018
79019         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
79020         locale.h, localeconv.  This merges changes from coreutils.
79021
79022         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
79023         It can be removed after the next Autoconf is released.
79024         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
79025         needed.
79026
79027 2003-06-04  Paul Eggert  <eggert@twinsun.com>
79028
79029         * lib/mktime.c: Fix Debian bug 177940
79030         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
79031         (localtime_offset): Now long int, not time_t, because we want it
79032         to be guaranteed to be signed.  All uses changed.
79033         (__mktime_internal): If overflow would occur when adding offset,
79034         don't add it.
79035
79036         Merge 'human' changes from coreutils.  Rewrite to support
79037         locale-specific notations like thousands separators.
79038         * lib/human.c: Simplify authorship notice.
79039         Include human.h immediately after config.h.
79040         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
79041         <limits.h>: Do not include, since human.h does.
79042         (SIZE_MAX, UINTMAX_MAX): New macros.
79043         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
79044         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
79045         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
79046         (power_letter): Renamed from suffixes.
79047         (generate_suffix_backwards): Remove.
79048         (adjust_value): Now takes int style (because of human.h changes)
79049         and long double value (for greater precision on some platforms).
79050         (group_number): New function.
79051         (human_readable): Use it.  Use integer options, not enum.
79052         Put the options before the sizes in the arg list.
79053         Support all the new options.
79054         The old human_readable function has been removed;
79055         use inttostr.h instead.
79056         (human_readable, default_block_size, humblock):
79057         Use uintmax_t, not int, for block sizes.
79058         (human_readable_inexact, block_size_types): Remove.
79059         (block_size_opts): New constant.
79060         (human_options): Renamed from human_block_size, with new signature
79061         that allows block sizes up to UINTMAX_MAX.  All callers changed.
79062         * lib/human.h: Add copyright and authorship notice.
79063         Include <limits.h> and <stdbool.h> unconditionally.
79064         (PARAMS): Remove.  All uses removed.
79065         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
79066         (enum human_inexact_style): Remove tag; now a nameless enum.
79067         (human_floor, human_ceiling, human_round_to_even): Now have
79068         values 2, 0, 1 rather than -1, 1, 0.
79069         (human_group_digits, human_suppress_point_zero, human_autoscale,
79070         human_base_1024, human_SI, human_B): New constants.
79071         (human_readable_inexact, human_block_size): Remove.
79072         (human_readable): Size args are now uintmax_t, not int.
79073         (human_options): New decl.
79074
79075         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
79076         unnecessary now that we assume C89 or better.  This change
79077         imported from coreutils.
79078
79079         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
79080         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
79081         in the 2003-05-30 sync from glibc.
79082
79083         .h files should stand alone, but we shouldn't include <sys/types.h>
79084         if we can get away with just <stddef.h>.
79085
79086         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
79087         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
79088         rather than <sys/types.h>, as we merely need size_t.
79089         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
79090         to get size_t.
79091         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
79092         Include <stdio.h>, to get FILE.
79093         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
79094         memcasecmp.h has included <stddef.h> and all we need is size_t.
79095         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
79096         our interface, instead of including <sys/types.h>
79097
79098 2003-06-04  Paul Eggert  <eggert@twinsun.com>
79099
79100         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
79101         now, as glibc mktime is buggy on non-glibc systems.
79102
79103 2003-06-03  Karl Berry  <karl@gnu.org>
79104
79105         * config/config.sub: update from prep.
79106
79107 2003-06-02  Paul Eggert  <eggert@twinsun.com>
79108
79109         [from coreutils]
79110         Fix some minor time-related bugs with POSIX time arguments.
79111         Some valid time stamps were being rejected (notably -1, and
79112         time stamps before 1900 on 64-bit hosts).  And some invalid
79113         time stamps were being accepted, e.g. September 31.
79114
79115         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
79116         that we can return (time_t) -1 successfully.
79117         * lib/posixtm.c: Likewise.
79118         [HAVE_STDBOOL_H]: Include <stdbool.h>.
79119         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
79120         (t): Remove static var.
79121         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
79122         of static var.  All uses changed.
79123         (year): Do not reject years before 1900; they can occur with
79124         64-bit time_t.
79125         (posix_time_parse): Do not check for out-of-range components;
79126         that is now the caller's responsibility, since our checks were
79127         only approximations.
79128         (posixtime): Use mktime to check for out-of-range components,
79129         since it knows them exactly.
79130         If mktime returns (time_t) -1, check whether an error actually occurred
79131         by invoking localtime on -1.
79132         (main) [TEST_POSIXTIME]: Check for input data errors, and report
79133         posixtime failures better.
79134         Improve the test data (in comments only).
79135
79136 2003-06-02  Karl Berry  <karl@gnu.org>
79137
79138         * config/mkinstalldirs (version): new variable.
79139         (--version): new option.
79140         (usage): improve message.
79141
79142 2003-05-30  Karl Berry  <karl@gnu.org>
79143
79144         * lib/mktime.c: update from libc.
79145
79146 2003-05-30  Bruno Haible  <bruno@clisp.org>
79147
79148         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
79149         * config/config.rpath: Upgrade to gettext-0.12.1.
79150
79151 2003-05-30  Bruno Haible  <bruno@clisp.org>
79152
79153         * m4/gettext.m4: Upgrade to gettext-0.12.1.
79154         * m4/nls.m4: New file, from gettext-0.12.1.
79155         * m4/po.m4: New file, from gettext-0.12.1.
79156         * m4/progtest.m4: Upgrade to gettext-0.12.1.
79157
79158 2003-05-30  Bruno Haible  <bruno@clisp.org>
79159
79160         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
79161         * lib/localcharset.h: Likewise.
79162         * lib/localcharset.c: Likewise.
79163
79164 2003-05-29  Karl Berry  <karl@gnu.org>
79165
79166         * config/config.rpath: update from gettext.
79167
79168 2003-05-28  Paul Eggert  <eggert@twinsun.com>
79169
79170         Assume the headers required for C89 freestanding compilers.
79171         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
79172         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
79173         * m4/human.m4 (gl_HUMAN): Likewise.
79174         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
79175         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
79176         * m4/userspec.m4 (gl_USERSPEC): Likewise.
79177         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
79178         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
79179         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
79180
79181 2003-05-28  Paul Eggert  <eggert@twinsun.com>
79182
79183         Assume the headers required for C89 freestanding compilers.
79184         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
79185         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
79186         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
79187         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
79188         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
79189         define, since <limits.h> is guaranteed to do that.
79190         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
79191         * lib/exclude.c: Include <stdbool.h> unconditionally.
79192         * lib/tempname.c: Include <stddef.h> unconditionally.
79193         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
79194         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
79195         <stddef.h> does that.
79196         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
79197         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
79198         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
79199         needed.
79200         * lib/xstrtol.c: Likewise.
79201         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
79202         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
79203
79204         * lib/addext.c (addext): Use assignment rather than cast, to avoid
79205         warnings on some platforms.
79206
79207         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
79208         arbitrarily.
79209
79210 2003-05-26  Jim Meyering  <jim@meyering.net>
79211
79212         Merge in a change from coreutils:
79213         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
79214         that is guaranteed to be `no'.  Use `no_such_member' to indicate
79215         that condition, rather than `-1' which is slightly misleading.
79216         Change the name of the cache variable to have the gl_ prefix.
79217         Prompted by a patch from Richard Dawe for DJGPP.
79218
79219 2003-05-24  Karl Berry  <karl@gnu.org>
79220
79221         * config/config.guess: update from prep.
79222
79223 2003-05-22  Karl Berry  <karl@gnu.org>
79224
79225         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
79226
79227 2003-05-20  Karl Berry  <karl@gnu.org>
79228
79229         * config/config.guess: update from prep.
79230
79231 2003-05-18  Karl Berry  <karl@gnu.org>
79232
79233         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
79234         might actually be set by the user.
79235
79236         * config/depcomp, install-sh, mdate-sh: update from automake.
79237
79238 2003-05-17  Bruno Haible  <bruno@clisp.org>
79239
79240         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
79241         invalid expansion for AC_EGREP_CPP.
79242         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
79243         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
79244         Suggested by Akim Demaille <akim@epita.fr> in
79245         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
79246
79247 2003-05-12  Jim Meyering  <jim@meyering.net>
79248
79249         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
79250         the space-padded-by-default conversion specifiers, %e, %k, %l.
79251
79252 2003-05-12  Bruno Haible  <bruno@clisp.org>
79253
79254         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
79255         the string is longer than 4 KB.
79256
79257 2003-05-11  Karl Berry  <karl@gnu.org>
79258
79259         * config/config.{guess,sub}: update from prep.
79260
79261 2003-05-09  Bruno Haible  <bruno@clisp.org>
79262
79263         * modules/error: Add m4/strerror_r.m4 to file list.
79264
79265 2003-05-03  Bruno Haible  <bruno@clisp.org>
79266
79267         Upgrade to Unicode-4.0.
79268         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
79269         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
79270         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
79271         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
79272         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
79273         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
79274         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
79275         Change width of U+E0100..U+E01EF from 1 to 0.
79276
79277 2003-04-25  Jim Meyering  <jim@meyering.net>
79278
79279         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
79280         of type size_t, not int.
79281
79282 2003-04-25  Bruno Haible  <bruno@clisp.org>
79283
79284         * lib/copy-file.c: Include <stddef.h>, for size_t.
79285
79286 2003-04-21  Paul Eggert  <eggert@twinsun.com>
79287
79288         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
79289         code which expansion is under static control.  Patch imported from
79290         Akim Demaille's patch to Bison; see
79291         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
79292
79293 2003-04-14  Bruno Haible  <bruno@clisp.org>
79294
79295         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
79296
79297 2003-04-11  Jim Meyering  <jim@meyering.net>
79298
79299         Merge changes from Coreutils.
79300
79301         2003-03-22  Jim Meyering  <jim@meyering.net>
79302
79303         * lib/strftime.c (widen): Cast alloca return value to proper type.
79304
79305         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
79306
79307         From GNU libc.
79308         * lib/strftime.c (my_strftime): Handle very large width
79309         specifications for numeric values correctly.  Improve checks for
79310         overflow.
79311
79312         2003-01-19  Jim Meyering  <jim@meyering.net>
79313
79314         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
79315         definitions.
79316         (nl_get_alt_digit) [! defined my_strftime]: Define.
79317         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
79318         _nl_get_alt_digit and _nl_get_walt_digit.
79319
79320         * lib/strftime.c (my_strftime): Merge in locale-related changes from
79321         libc. These changes have no effect outside of _LIBC.
79322
79323 2003-04-10  Bruno Haible  <bruno@clisp.org>
79324
79325         * modules/findprog: New file.
79326         * MODULES.html.sh (func_all_modules): Add it.
79327
79328 2003-04-10  Bruno Haible  <bruno@clisp.org>
79329
79330         * m4/findprog.m4: New file.
79331         * m4/eaccess.m4: New file.
79332
79333 2003-04-10  Bruno Haible  <bruno@clisp.org>
79334
79335         * lib/findprog.h: New file, from GNU gettext.
79336         * lib/findprog.c: New file, from GNU gettext.
79337
79338 2003-04-05  Jim Meyering  <jim@meyering.net>
79339
79340         Merge changes from Coreutils.
79341
79342         * lib/exclude.h (PARAMS): Remove definition and uses.
79343         * lib/exclude.c: Remove uses of `PARAMS'.
79344
79345         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
79346         Add test-cases for DOS filenames. Declare program_name.
79347         (main): Set up program_name.  Patch by Rich Dawe.
79348
79349         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
79350         error from mntctl.
79351         Use mntctl's return value to drive the entry-processing loop, since
79352         we can't rely on the value of the vmt_length member in the last
79353         entry.  On some systems doing so could result in exhausting
79354         virtual memory.  Based in part on a patch from Mike Jetzer.
79355
79356 2003-04-04  Bruno Haible  <bruno@clisp.org>
79357
79358         * modules/linebreak: New file.
79359         * MODULES.html.sh (func_all_modules): Add it.
79360
79361 2003-04-04  Bruno Haible  <bruno@clisp.org>
79362
79363         * m4/linebreak.m4: New file.
79364
79365 2003-04-04  Bruno Haible  <bruno@clisp.org>
79366
79367         * lib/linebreak.h: New file, from GNU gettext.
79368         * lib/linebreak.c: New file, from GNU gettext with slight
79369         modifications.
79370         * lib/lbrkprop.h: New file, from GNU gettext.
79371
79372 2003-04-03  Bruno Haible  <bruno@clisp.org>
79373
79374         * modules/utf8-ucs4: New file.
79375         * modules/utf16-ucs4: New file.
79376         * modules/ucs4-utf8: New file.
79377         * modules/ucs4-utf16: New file.
79378         * MODULES.html.sh (func_all_modules): Add them.
79379
79380 2003-04-03  Bruno Haible  <bruno@clisp.org>
79381
79382         * m4/utf-ucs4.m4: New file.
79383         * m4/ucs4-utf.m4: New file.
79384
79385 2003-04-03  Bruno Haible  <bruno@clisp.org>
79386
79387         * lib/utf8-ucs4.h: New file, from GNU gettext.
79388         * lib/utf16-ucs4.h: New file, from GNU gettext.
79389         * lib/ucs4-utf8.h: New file, from GNU gettext.
79390         * lib/ucs4-utf16.h: New file, from GNU gettext.
79391
79392 2003-04-02  Bruno Haible  <bruno@clisp.org>
79393
79394         * modules/binary-io: New file.
79395         * MODULES.html.sh (func_all_modules): Add it.
79396
79397 2003-04-02  Bruno Haible  <bruno@clisp.org>
79398
79399         * lib/binary-io.h: New file, from GNU gettext.
79400
79401 2003-04-01  Bruno Haible  <bruno@clisp.org>
79402
79403         * modules/pathname: New file.
79404         * MODULES.html.sh (func_all_modules): Add it.
79405
79406 2003-04-01  Bruno Haible  <bruno@clisp.org>
79407
79408         * lib/pathname.h: New file, from GNU gettext.
79409         * lib/concatpath.c: New file, from GNU gettext.
79410
79411 2003-03-30  Bruno Haible  <bruno@clisp.org>
79412
79413         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
79414
79415 2003-03-30  Bruno Haible  <bruno@clisp.org>
79416
79417         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
79418         function chown() doesn't exist.
79419
79420 2003-03-28  Bruno Haible  <bruno@clisp.org>
79421
79422         * modules/copy-file: New file.
79423         * MODULES.html.sh (func_all_modules): Add it.
79424
79425 2003-03-28  Bruno Haible  <bruno@clisp.org>
79426
79427         * m4/copy-file.m4: New file.
79428
79429 2003-03-28  Bruno Haible  <bruno@clisp.org>
79430
79431         * lib/copy-file.h: New file, from GNU gettext.
79432         * lib/copy-file.c: New file, from GNU gettext.
79433
79434 2003-03-18  Jim Meyering  <jim@meyering.net>
79435
79436         * lib/quote.c (quote_n): Fix typo in comment.
79437
79438 2003-03-18  Bruno Haible  <bruno@clisp.org>
79439
79440         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
79441         checking.
79442         * m4/onceonly_2_57.m4: Likewise.
79443
79444 2003-03-17  Bruno Haible  <bruno@clisp.org>
79445
79446         * m4/onceonly.m4: Require autoconf 2.54 or newer.
79447         (m4_quote): Remove macro.
79448         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
79449
79450 2003-03-14  Jim Meyering  <jim@meyering.net>
79451
79452         Merge changes from Coreutils.
79453         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
79454         to be const, in order to avoid warnings.
79455         (obstack_room): Likewise.
79456         (obstack_empty_p): Likewise.
79457
79458 2003-03-14  Bruno Haible  <bruno@clisp.org>
79459
79460         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
79461         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
79462
79463 2003-03-13  Paul Eggert  <eggert@twinsun.com>
79464
79465         Merge changes from Bison.
79466         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
79467         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
79468         when compiling Bison 1.875's `bitset bset = obstack_alloc
79469         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
79470         * lib/hash.c: Include <stdbool.h> unconditionally.
79471
79472 2003-03-13  Paul Eggert  <eggert@twinsun.com>
79473
79474         * m4/onceonly.m4 (m4_quote): New macro.
79475         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
79476         Quote AC_FOREACH variable-expansions properly.
79477
79478 2003-03-13  Paul Eggert  <eggert@twinsun.com>
79479
79480         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
79481
79482 2003-03-09  Paul Eggert  <eggert@twinsun.com>
79483
79484         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
79485         Reported by Bruce Becker; see:
79486         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
79487
79488 2003-03-03  Paul Eggert  <eggert@twinsun.com>
79489             Bruno Haible  <bruno@clisp.org>
79490
79491         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
79492         Reported by John Hughes, see
79493         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
79494
79495 2003-02-20  Bruno Haible  <bruno@clisp.org>
79496
79497         * MODULES.html.sh (func_all_modules): Add poll.
79498
79499 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
79500
79501         * modules/poll: New file.
79502
79503 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
79504
79505         * lib/poll_.h: New file.
79506         * lib/poll.c: New file.
79507
79508 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
79509
79510         * m4/poll.m4: New file.
79511
79512 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
79513
79514         * modules/mathl: New file.
79515
79516 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
79517
79518         * lib/mathl.h: New file.
79519         * lib/acosl.c: New file.
79520         * lib/asinl.c: New file.
79521         * lib/atanl.c: New file.
79522         * lib/ceill.c: New file.
79523         * lib/cosl.c: New file.
79524         * lib/expl.c: New file.
79525         * lib/floorl.c: New file.
79526         * lib/frexpl.c: New file.
79527         * lib/ldexpl.c: New file.
79528         * lib/logl.c: New file.
79529         * lib/sincosl.c: New file.
79530         * lib/sinl.c: New file.
79531         * lib/sqrtl.c: New file.
79532         * lib/tanl.c: New file.
79533         * lib/trigl.c: New file.
79534         * lib/trigl.h: New file.
79535
79536 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
79537
79538         * m4/mathl.m4: New file.
79539
79540 2003-02-18  Bruno Haible  <bruno@clisp.org>
79541
79542         * MODULES.html.sh (func_all_modules): Add mathl.
79543
79544 2003-02-17  Bruno Haible  <bruno@clisp.org>
79545
79546         * modules/mkdtemp: New module.
79547         * MODULES.html.sh (func_all_modules): Add it.
79548
79549 2003-02-17  Bruno Haible  <bruno@clisp.org>
79550
79551         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
79552
79553 2003-02-17  Bruno Haible  <bruno@clisp.org>
79554
79555         * lib/mkdtemp.h: New file, from GNU gettext.
79556         * lib/mkdtemp.c: New file, from GNU gettext.
79557
79558 2003-02-02  Jim Meyering  <jim@meyering.net>
79559
79560         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
79561         e.g. glibc-2.2.93.
79562
79563 2003-01-31  Bruno Haible  <bruno@clisp.org>
79564
79565         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
79566         'rpl_rename'.
79567         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
79568         'rpl_strnlen'.
79569         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
79570         'rpl_strtod'.
79571         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
79572         'rpl_utime'.
79573
79574 2003-01-31  Bruno Haible  <bruno@clisp.org>
79575
79576         * lib/rename.c: #undef rename before defining rpl_rename.
79577         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
79578
79579 2003-01-30  Bruno Haible  <bruno@clisp.org>
79580
79581         * modules/vasnprintf, modules/vasprintf: New modules.
79582         * MODULES.html.sh (func_all_modules): Add them.
79583
79584 2003-01-30  Bruno Haible  <bruno@clisp.org>
79585
79586         * m4/signed.m4: New file, from GNU gettext.
79587         * m4/longdouble.m4: New file, from GNU gettext.
79588         * m4/wchar_t.m4: New file, from GNU gettext.
79589         * m4/wint_t.m4: New file, from GNU gettext.
79590         * m4/vasnprintf.m4: New file.
79591         * m4/vasprintf.m4: New file.
79592
79593 2003-01-30  Bruno Haible  <bruno@clisp.org>
79594
79595         * lib/printf-args.h: New file, from GNU gettext.
79596         * lib/printf-args.c: New file, from GNU gettext.
79597         * lib/printf-parse.h: New file, from GNU gettext.
79598         * lib/printf-parse.c: New file, from GNU gettext.
79599         * lib/vasnprintf.h: New file, from GNU gettext.
79600         * lib/vasnprintf.c: New file, from GNU gettext.
79601         * lib/asnprintf.c: New file, from GNU gettext.
79602         * lib/vasprintf.h: New file, from GNU gettext with modifications.
79603         * lib/vasprintf.c: New file, from GNU gettext.
79604         * lib/asprintf.c: New file, from GNU gettext.
79605
79606 2003-01-29  Bruno Haible  <bruno@clisp.org>
79607
79608         * modules/stpncpy: New module.
79609         * MODULES.html.sh (func_all_modules): Add it.
79610
79611 2003-01-29  Bruno Haible  <bruno@clisp.org>
79612
79613         * m4/stpncpy.m4: New file.
79614
79615 2003-01-29  Bruno Haible  <bruno@clisp.org>
79616
79617         * lib/stpncpy.h: New file, from GNU gettext with modifications.
79618         * lib/stpncpy.c: New file, from GNU gettext with modifications.
79619
79620 2003-01-28  Bruno Haible  <bruno@clisp.org>
79621
79622         * modules/c-ctype: New module.
79623         * MODULES.html.sh (func_all_modules): Add it.
79624
79625 2003-01-28  Bruno Haible  <bruno@clisp.org>
79626
79627         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
79628         Paul Eggert.
79629         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
79630         Paul Eggert.
79631
79632 2003-01-27  Bruno Haible  <bruno@clisp.org>
79633
79634         * modules/xsetenv: New module.
79635         * MODULES.html.sh (func_all_modules): Add it.
79636
79637 2003-01-27  Bruno Haible  <bruno@clisp.org>
79638
79639         * lib/xsetenv.h: New file, from GNU gettext.
79640         * lib/xsetenv.c: New file, from GNU gettext.
79641
79642 2003-01-23  Jim Meyering  <jim@meyering.net>
79643
79644         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
79645         from working on systems without dirfd (at least Irix and OSF1/Tru64).
79646
79647 2003-01-23  Bruno Haible  <bruno@clisp.org>
79648
79649         * modules/minmax: New module.
79650         * MODULES.html.sh (func_all_modules): Add it.
79651
79652 2003-01-23  Bruno Haible  <bruno@clisp.org>
79653
79654         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
79655         Eggert.
79656
79657 2003-01-22  Bruno Haible  <bruno@clisp.org>
79658
79659         * modules/exit: New module.
79660         * MODULES.html.sh (func_all_modules): Add it.
79661
79662 2003-01-22  Bruno Haible  <bruno@clisp.org>
79663
79664         * lib/exit.h: New file, from GNU gettext.
79665
79666 2003-01-19  Bruno Haible  <bruno@clisp.org>
79667
79668         * gnulib-tool: Recognize option --extract-maintainer.
79669         (func_get_maintainer): New function.
79670         * modules/*: Add Maintainer entry.
79671
79672 2003-01-16  Jim Meyering  <jim@meyering.net>
79673
79674         * m4/regex.m4: The `regex' struct is both input and output.
79675         Initialize it before each use.  Patch by Tim Waugh.
79676
79677 2003-01-16  Bruno Haible  <bruno@clisp.org>
79678
79679         * MODULES.html.sh: Add a table of contents. Add the module name as
79680         leftmost column. Add hyperlinks.
79681
79682 2003-01-15  Bruno Haible  <bruno@clisp.org>
79683
79684         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
79685
79686 2003-01-15  Bruno Haible  <bruno@clisp.org>
79687
79688         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
79689         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
79690         suffix.
79691
79692 2003-01-15  Bruno Haible  <bruno@clisp.org>
79693
79694         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
79695
79696 2003-01-15  Bruno Haible  <bruno@clisp.org>
79697
79698         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
79699         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
79700
79701 2003-01-14  Jim Meyering  <jim@meyering.net>
79702
79703         * lib/same.c (same_name): Tweak a comment.
79704
79705 2003-01-14  Bruno Haible  <bruno@clisp.org>
79706
79707         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
79708         when a string comparison is sufficient.
79709
79710 2003-01-14  Bruno Haible  <bruno@clisp.org>
79711
79712         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
79713         'unsigned int'.
79714
79715 2003-01-14  Bruno Haible  <bruno@clisp.org>
79716
79717         * lib/hash-pjw.c: Add comment about low quality of this function.
79718
79719 2003-01-13  Bruno Haible  <bruno@clisp.org>
79720
79721         * modules/stpcpy: Distribute lib/stpcpy.h.
79722         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
79723
79724 2003-01-13  Bruno Haible  <bruno@clisp.org>
79725
79726         * modules/*: Add a description.
79727         * modules/strpbrk: Fix Makefile.am snippet.
79728         * modules/strtoimax: Fix dependencies.
79729         * modules/strtoumax: Likewise.
79730
79731 2003-01-13  Bruno Haible  <bruno@clisp.org>
79732
79733         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
79734         * modules/alloca (Makefile.am): All object files depend on alloca.h.
79735         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
79736
79737 2003-01-13  Bruno Haible  <bruno@clisp.org>
79738
79739         * gnulib-tool (func_create_testdir): Store config/* files in the main
79740         directory.
79741         * config.rpath: Move to ...
79742         * config/config.rpath: ... here.
79743         * modules/gettext: Contains config/config.rpath, not config.rpath.
79744         * modules/iconv: Likewise.
79745
79746 2003-01-12  Paul Eggert  <eggert@twinsun.com>
79747
79748         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
79749         to avoid collisions with libcurses and libreadline.
79750
79751         * m4/getstr.m4: Remove.
79752         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
79753
79754 2003-01-12  Paul Eggert  <eggert@twinsun.com>
79755
79756         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
79757         to avoid collisions with libcurses and libreadline.
79758
79759         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
79760         * lib/getstr.h, getstr.c: Remove.
79761         * lib/getline.c: Include "getline.h", to check interface.
79762         Move body of old getstr.c here: this defines MIN_CHUNK and
79763         declares getdelim2, which is renamed from getstr.
79764         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
79765
79766         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
79767         All uses changed.
79768         * lib/linebuffer.h: Likewise.
79769         (readline): Remove backward-compatibility macro.
79770
79771 2003-01-12  Paul Eggert  <eggert@twinsun.com>
79772
79773         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
79774         to avoid collisions with libcurses and libreadline.
79775         * getstr: Remove.
79776         * MODULES.html.sh: Remove getstr.
79777         * modules/getline: Depend on unlocked-io, not getstr.
79778
79779 2003-01-12  Jim Meyering  <jim@meyering.net>
79780
79781         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
79782
79783 2003-01-10  Bruno Haible  <bruno@clisp.org>
79784
79785         * modules/alloca: Change Makefile.am requirements. Simplify Include
79786         requirements. Add lib/alloca_.h to file list.
79787
79788 2003-01-10  Bruno Haible  <bruno@clisp.org>
79789
79790         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
79791
79792 2003-01-10  Bruno Haible  <bruno@clisp.org>
79793
79794         * lib/alloca_.h: New file.
79795         * lib/getdate.y: Unconditionally include alloca.h.
79796         * lib/makepath.c: Likewise.
79797         * lib/setenv.c: Likewise.
79798         * lib/userspec.c: Likewise.
79799
79800 2003-01-09  Karl Berry  <karl@gnu.org>
79801
79802         * MODULES.html.sh: include `dirname $0` in PATH, to find
79803         gnulib-tool.
79804
79805 2003-01-09  Bruno Haible  <bruno@clisp.org>
79806
79807         * modules/stdbool: Change configure.ac, Makefile.am requirements.
79808         Simplify Include requirements. Add lib/stdbool.h.in to file list.
79809
79810 2003-01-09  Bruno Haible  <bruno@clisp.org>
79811
79812         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
79813
79814 2003-01-09  Bruno Haible  <bruno@clisp.org>
79815
79816         * lib/stdbool.h.in: New file.
79817
79818 2003-01-09  Bruno Haible  <bruno@clisp.org>
79819
79820         * gnulib-tool (func_all_modules): Ignore files ending in ~.
79821         * MODULES.html.sh: Likewise.
79822
79823 2003-01-08  Jim Meyering  <jim@meyering.net>
79824
79825         * lib/full-write.c: Undefine and define-away `const' after inclusion
79826         of errno.h, not before.  Suggestion from Bruno Haible.
79827
79828 2003-01-08  Bruno Haible  <bruno@clisp.org>
79829
79830         * modules/full-read: Depend on full-write.
79831
79832 2003-01-08  Bruno Haible  <bruno@clisp.org>
79833
79834         * lib/safe-read.c: Include specification header first, to ensure its
79835         selfcontainedness.
79836         * lib/full-write.c: Likewise.
79837
79838 2003-01-07  Jim Meyering  <jim@meyering.net>
79839
79840         * lib/full-write.c: Rework so that it may serve to define full_read,
79841         too.
79842         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
79843
79844 2003-01-07  Bruno Haible  <bruno@clisp.org>
79845
79846         * lib/strtoimax.c: Include <stdint.h> as an alternative to
79847         <inttypes.h>.
79848         * lib/xstrtol.h: Likewise.
79849         * lib/xstrtoimax.c: Likewise.
79850         * lib/xstrtoumax.c: Likewise.
79851         * lib/human.h: Likewise.
79852
79853         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
79854         on systems that have <inttypes.h> but not <stdint.h>.
79855
79856 2003-01-07  Bruno Haible  <bruno@clisp.org>
79857
79858         * MODULES.html.sh: Add copyright notice.
79859         (missed_files): Omit CVS directory entries.
79860         (func_module): Make it work with sed-3.02.
79861         * MODULES.txt: Remove file.
79862
79863 2003-01-06  Jim Meyering  <jim@meyering.net>
79864
79865         * lib/version-etc.c: Update year in translatable copyright string.
79866
79867 2003-01-03  Karl Berry  <karl@gnu.org>
79868
79869         * config/config.{guess,sub}: update from prep.
79870
79871 2003-01-02  Karl Berry  <karl@gnu.org>
79872
79873         * doc/COPYING.DOC: belatedly updated to 1.2.
79874
79875 2003-01-01  Karl Berry  <karl@gnu.org>
79876
79877         * gnulib-tool (func_verify_module): report module name $module in
79878         error message, not $1.
79879         * gnulib-tool (create-testdir): don't complain if destdir couldn't
79880         be created, only if it doesn't exist.
79881         * gnulib-tool (last_checkin_date): don't expand the $Date here.
79882
79883 2002-12-31  Paul Eggert  <eggert@twinsun.com>
79884
79885         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
79886
79887 2002-12-31  Paul Eggert  <eggert@twinsun.com>
79888
79889         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
79890         memcmp if strcoll doesn't work.
79891
79892 2002-12-31  Bruno Haible  <bruno@clisp.org>
79893
79894         * lib/utime.c (utime_null): No need to call ftruncate if the file was
79895         nonempty.
79896
79897 2002-12-31  Bruno Haible  <bruno@clisp.org>
79898
79899         * lib/memcoll.c (STRCOLL): New macro.
79900         (memcoll): Use it.
79901
79902 2002-12-31  Bruno Haible  <bruno@clisp.org>
79903
79904         * lib/localcharset.h: New file.
79905         * lib/localcharset.c: Include it.
79906         * lib/unicodeio.c: Likewise.
79907
79908 2002-12-31  Bruno Haible  <bruno@clisp.org>
79909
79910         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
79911         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
79912
79913 2002-12-31  Bruno Haible  <bruno@clisp.org>
79914
79915         * lib/getline.h: Include <stddef.h>, for size_t.
79916
79917         * lib/unicodeio.h: Include <stddef.h>, for size_t.
79918         * lib/unicodeio.c: Don't include <stddef.h>.
79919
79920 2002-12-31  Bruno Haible  <bruno@clisp.org>
79921
79922         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
79923         HAVE_TM_ZONE.
79924
79925 2002-12-24  Karl Berry  <karl@gnu.org>
79926
79927         * config/config.guess: update from prep.
79928
79929 2002-12-24  Bruno Haible  <bruno@clisp.org>
79930
79931         General infrasructure.
79932         * m4/README: Rewritten.
79933         * m4/onceonly.m4: New file.
79934         * m4/onceonly_2_57.m4: New file.
79935
79936         Module atexit.
79937         * m4/atexit.m4: New file.
79938
79939         Module strtod.
79940         * m4/strtod.m4: New file.
79941
79942         Module strtol.
79943         * m4/strtol.m4: New file.
79944
79945         Module strtoul.
79946         * m4/strtoul.m4: New file.
79947
79948         Module memchr.
79949         * m4/memchr.m4: New file.
79950
79951         Module memcmp.
79952         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
79953         (jm_FUNC_MEMCMP): Invoke it.
79954
79955         Module memcpy.
79956         * m4/memcpy.m4: New file.
79957
79958         Module memmove.
79959         * m4/memmove.m4: New file.
79960
79961         Module memset.
79962         * m4/memset.m4: New file.
79963
79964         Module strcspn.
79965         * m4/strcspn.m4: New file.
79966
79967         Module strpbrk.
79968         * m4/strpbrk.m4: New file.
79969
79970         Module strstr.
79971         * m4/strstr.m4: New file.
79972
79973         Module strerror.
79974         * m4/strerror.m4: New file.
79975
79976         Module mktime.
79977         * m4/mktime.m4: Renamed from jm-mktime.m4.
79978         (gl_PREREQ_MKTIME): New macro.
79979         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
79980
79981         Module malloc.
79982         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
79983         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
79984         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
79985
79986         Module realloc.
79987         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
79988         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
79989         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
79990
79991         Module strftime.
79992         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
79993         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
79994         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
79995         gl_TM_GMTOFF.
79996         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
79997
79998         Module xalloc.
79999         * m4/xalloc.m4: New file.
80000
80001         Module alloca.
80002         * m4/alloca.m4: New file.
80003
80004         Module putenv.
80005         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
80006         (jm_FUNC_PUTENV): Invoke it.
80007
80008         Module setenv.
80009         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
80010         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
80011         when invoked twice.
80012         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
80013         gt_FUNC_SETENV.
80014
80015         Module memrchr.
80016         * m4/memrchr.m4: New file.
80017
80018         Module stpcpy.
80019         * m4/stpcpy.m4: New file.
80020
80021         Module strcase.
80022         * m4/strcase.m4: New file.
80023
80024         Module strdup.
80025         * m4/strdup.m4: New file.
80026
80027         Module strnlen.
80028         * m4/strnlen.m4: New file.
80029
80030         Module strndup.
80031         * m4/strndup.m4: New file.
80032
80033         Module xstrtod.
80034         * m4/xstrtod.m4: New file.
80035
80036         Module xstrtol.
80037         * m4/xstrtol.m4: New file.
80038
80039         Module getdate.
80040         * m4/getdate.m4: New file.
80041
80042         Module unlocked-io.
80043         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
80044         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
80045         * m4/jm-glibc-io.m4n: Remove file.
80046
80047         Module long-options.
80048         * m4/long-options.m4: New file.
80049
80050         Module md5.
80051         * m4/md5.m4: New file.
80052
80053         Module sha.
80054         * m4/sha.m4: New file.
80055
80056         Module getstr.
80057         * m4/getstr.m4: New file.
80058
80059         Module getline.
80060         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
80061         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
80062         <sys/types.h>, for size_t. Use the function name gnu_getline, not
80063         simply getline. Infoke gl_PREREQ_GETLINE.
80064
80065         Module obstack.
80066         * m4/obstack.m4: New file.
80067
80068         Module hash.
80069         * m4/hash.m4: New file.
80070
80071         Module readtokens.
80072         * m4/readtokens.m4: New file.
80073
80074         Module strverscmp.
80075         * m4/strverscmp.m4: New file.
80076
80077         Module stdbool.
80078         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
80079         OSF/1.
80080
80081         Module strtoll.
80082         * m4/strtoll.m4: New file.
80083
80084         Module strtoull.
80085         * m4/strtoull.m4: New file.
80086
80087         Module strtoimax.
80088         * m4/strtoimax.m4: New file.
80089
80090         Module strtoumax.
80091         * m4/strtoumax.m4: New file.
80092
80093         Module xstrtoimax.
80094         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
80095         jm_AC_PREREQ_XSTRTOIMAX.
80096         Moved the strtol prerequisites to strtol.m4.
80097         Moved the strtoll prerequisites to strtoll.m4.
80098         Moved the strtoimax prerequisites to strtoimax.m4.
80099
80100         Module xstrtoumax.
80101         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
80102         jm_AC_PREREQ_XSTRTOUMAX.
80103         Moved the strtoul prerequisites to strtoul.m4.
80104         Moved the strtoull prerequisites to strtoull.m4.
80105         Moved the strtoumax prerequisites to strtoumax.m4.
80106
80107         Module chown.
80108         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
80109         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
80110
80111         Module dup2.
80112         * m4/dup2.m4: New file.
80113
80114         Module ftruncate.
80115         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
80116         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
80117
80118         Module getgroups.
80119         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
80120         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
80121
80122         Module gettimeofday.
80123         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
80124         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
80125         gl_PREREQ_GETTIMEOFDAY.
80126
80127         Module mkdir.
80128         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
80129         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
80130
80131         Module mkstemp.
80132         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
80133         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
80134         jm_AC_TYPE_UINTMAX_T.
80135         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
80136
80137         Module stat.
80138         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
80139         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
80140
80141         Module lstat.
80142         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
80143         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
80144
80145         Module timespec.
80146         * m4/timespec.m4 (gl_TIMESPEC): New macro.
80147         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
80148         * m4/st_mtim.m4: Indentation.
80149
80150         Module nanosleep.
80151         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
80152         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
80153         gl_PREREQ_NANOSLEEP.
80154
80155         Module regex.
80156         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
80157         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
80158         (gl_REGEX): New macro.
80159
80160         Module rename.
80161         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
80162         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
80163
80164         Module rmdir.
80165         * m4/rmdir.m4: New file.
80166
80167         Module utime.
80168         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
80169         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
80170         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
80171
80172         Module dirname.
80173         * m4/dirname.m4: New file.
80174
80175         Module getopt.
80176         * m4/getopt.m4: New file.
80177
80178         Module unistd-safer.
80179         * m4/unistd-safer.m4: New file.
80180
80181         Module fnmatch.
80182         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
80183         declaration.
80184         (gl_PREREQ_FNMATCH_EXTRA): New macro.
80185         (gl_FUNC_FNMATCH_POSIX): New macro.
80186         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
80187         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
80188         simply fnmatch.
80189
80190         Module exclude.
80191         * m4/exclude.m4: New file.
80192
80193         Module human.
80194         * m4/human.m4: New file.
80195
80196         Module acl.
80197         * m4/acl.m4: Nop.
80198
80199         Module backupfile.
80200         * m4/backupfile.m4: New file.
80201         * m4/d-ino.m4: Indentation.
80202
80203         Module fsusage.
80204         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
80205         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
80206         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
80207
80208         Module dirfd.
80209         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
80210         requirements.
80211
80212         Module euidaccess.
80213         * m4/euidaccess.m4: New file.
80214
80215         Module file-type.
80216         * m4/file-type.m4: New file.
80217
80218         Module fileblocks.
80219         * m4/fileblocks.m4: New file.
80220
80221         Module filemode.
80222         * m4/filemode.m4: New file.
80223
80224         Module isdir.
80225         * m4/isdir.m4: New file.
80226
80227         Module lchown.
80228         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
80229         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
80230
80231         Module makepath.
80232         * m4/makepath.m4: New file.
80233
80234         Module modechange.
80235         * m4/modechange.m4: New file.
80236
80237         Module mountlist.
80238         * m4/mountlist.m4: New file.
80239         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
80240         Indentation.
80241
80242         Module path-concat.
80243         * m4/path-concat.m4: New file.
80244
80245         Module pathmax.
80246         * m4/pathmax.m4: New file.
80247
80248         Module same.
80249         * m4/same.m4: New file.
80250
80251         Module save-cwd.
80252         * m4/save-cwd.m4: New file.
80253
80254         Module savedir.
80255         * m4/savedir.m4: New file.
80256
80257         Module xgetcwd.
80258         * m4/xgetcwd.m4: New file.
80259         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
80260
80261         Module xreadlink.
80262         * m4/xreadlink.m4: New file.
80263
80264         Module safe-read.
80265         * m4/safe-read.m4: New file.
80266
80267         Module safe-write.
80268         * m4/safe-write.m4: New file.
80269
80270         Module closeout.
80271         * m4/closeout.m4: New file.
80272
80273         Module stdio-safer.
80274         * m4/stdio-safer.m4: New file.
80275
80276         Module getpass.
80277         * m4/getpass.m4: New file.
80278
80279         Module getugroups.
80280         * m4/getugroups.m4: New file.
80281
80282         Module group-member.
80283         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
80284         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
80285
80286         Module idcache.
80287         * m4/idcache.m4: New file.
80288
80289         Module userspec.
80290         * m4/userspec.m4: New file.
80291
80292         Module gettime.
80293         * m4/clock_time.m4: New file.
80294         * m4/gettime.m4: New file.
80295
80296         Module settime.
80297         * m4/settime.m4: New file.
80298
80299         Module posixtm.
80300         * m4/posixtm.m4: New file.
80301
80302         Module gethostname.
80303         * m4/gethostname.m4: New file.
80304
80305         Module canon-host.
80306         * m4/canon-host.m4: New file.
80307
80308         Module gettext.
80309         * m4/codeset.m4: New file, from gettext-0.11.5.
80310         * m4/gettext.m4: New file, from gettext-0.11.5.
80311         * m4/glibc21.m4: New file, from gettext-0.11.5.
80312         * m4/iconv.m4: New file, from gettext-0.11.5.
80313         * m4/intdiv0.m4: New file, from gettext-0.11.5.
80314         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
80315         * m4/inttypes.m4: New file, from gettext-0.11.5.
80316         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
80317         * m4/isc-posix.m4: New file, from gettext-0.11.5.
80318         * m4/lcmessage.m4: New file, from gettext-0.11.5.
80319         * m4/lib-ld.m4: New file, from gettext-0.11.5.
80320         * m4/lib-link.m4: New file, from gettext-0.11.5.
80321         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
80322         * m4/progtest.m4: New file, from gettext-0.11.5.
80323         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
80324         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
80325         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
80326
80327         Module localcharset.
80328         * m4/localcharset.m4: New file.
80329
80330         Module hard-locale.
80331         * m4/hard-locale.m4: New file.
80332
80333         Module mbswidth.
80334         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
80335         onceonly macros.
80336         * m4/mbrtowc.m4: Add comment.
80337
80338         Module memcasecmp.
80339         * m4/memcasecmp.m4: New file.
80340
80341         Module memcoll.
80342         * m4/memcoll.m4: New file.
80343
80344         Module unicodeio.
80345         * m4/unicodeio.m4: New file.
80346
80347         Module rpmatch.
80348         * m4/rpmatch.m4: New file.
80349
80350         Module yesno.
80351         * m4/yesno.m4: New file.
80352
80353         Module exitfail.
80354         * m4/exitfail.m4: New file.
80355
80356         Module c-stack.
80357         * m4/c-stack.m4 (gl_C_STACK): New macro.
80358         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
80359
80360         Module error.
80361         * m4/error.m4 (gl_ERROR): New macro.
80362         (jm_PREREQ_ERROR): Use onceonly macros.
80363
80364         Module fatal.
80365         * m4/fatal.m4: New file.
80366
80367         Module getloadavg.
80368         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
80369         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
80370
80371         Module getpagesize.
80372         * m4/getpagesize.m4: New file.
80373
80374         Module getusershell.
80375         * m4/getusershell.m4: New file.
80376
80377         Module physmem.
80378         * m4/physmem.m4: New file.
80379
80380         Module posixver.
80381         * m4/posixver.m4: New file.
80382
80383         Module quotearg.
80384         * m4/quotearg.m4: New file.
80385
80386         Module quote.
80387         * m4/quote.m4: New file.
80388
80389         Module readutmp.
80390         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
80391
80392         Module sig2str.
80393         * m4/sig2str.m4: New file.
80394
80395         Other.
80396         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
80397         ulonglong.m4.
80398         * m4/intmax_t.m4: New file.
80399         * m4/d-type.m4: Indentation.
80400         * m4/jm-macros.m4: Update.
80401         * m4/prereq.m4 (jm_PREREQ): Update.
80402         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
80403         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
80404         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
80405         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
80406         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
80407         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
80408         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
80409         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
80410         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
80411         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
80412         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
80413         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
80414         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
80415         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
80416         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
80417         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
80418         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
80419         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
80420         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
80421
80422 2002-12-24  Bruno Haible  <bruno@clisp.org>
80423
80424         * MODULES.txt: Update according to m4/ changes.
80425
80426         Module gettext.
80427         * config.rpath: New file, from gettext-0.11.5.
80428
80429         * modules/*: New module descriptions.
80430         * gnulib-tool: New file.
80431         * MODULES.html.sh: New file.
80432
80433 2002-12-21  Karl Berry  <karl@gnu.org>
80434
80435         * doc/fdl.texi: update to version 1.2.
80436
80437 2002-12-19  Karl Berry  <karl@gnu.org>
80438
80439         * config/config.guess: update from prep.
80440
80441 2002-12-18  Bruno Haible  <bruno@clisp.org>
80442
80443         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
80444         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
80445
80446 2002-12-17  Bruno Haible  <bruno@clisp.org>
80447
80448         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
80449         stdlib.h, string.h.
80450
80451 2002-12-17  Bruno Haible  <bruno@clisp.org>
80452
80453         * lib/canon-host.c (strdup): Remove unused declaration.
80454
80455         * lib/fsusage.c: Include full_read.h.
80456         (get_fs_usage): Use full_read instead of safe_read.
80457
80458         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
80459
80460 2002-12-12  Karl Berry  <karl@gnu.org>
80461
80462         * config/config.guess: update from prep.
80463
80464 2002-12-11  Bruno Haible  <bruno@clisp.org>
80465
80466         * m4/setenv.m4: New file, from gettext-0.11.5.
80467
80468 2002-12-11  Bruno Haible  <bruno@clisp.org>
80469
80470         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
80471         not unsetenv().
80472         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
80473         modifications:
80474
80475         2002-12-11  Bruno Haible  <bruno@clisp.org>
80476
80477                 * setenv.c (alloca): Fall back to malloc.
80478                 (freea): New macro.
80479                 (setenv): Use freea() to free memory allocated with alloca().
80480
80481         2002-11-13  Bruno Haible  <bruno@clisp.org>
80482
80483                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
80484                 function declarations.
80485                 * unsetenv.c (unsetenv): Likewise.
80486
80487         2002-03-04  Bruno Haible  <bruno@clisp.org>
80488
80489                 Portability to AIX 4.3.3.
80490                 * unsetenv.c: New file, extracted from setenv.c.
80491                 * setenv.c: Move the unsetenv() function to unsetenv.c.
80492
80493         2001-12-20  Bruno Haible  <bruno@clisp.org>
80494
80495                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
80496                 use malloc instead. For SunOS 4.
80497
80498         2001-12-11  Bruno Haible  <bruno@clisp.org>
80499
80500                 * setenv.c: Declare alloca.
80501                 (compar_fn_t): New typedef.
80502                 (KNOWN_VALUE, STORE_VALUE): Use it.
80503
80504         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
80505         setenv.h.
80506
80507 2002-12-10  Paul Eggert  <eggert@twinsun.com>
80508
80509         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
80510         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
80511         Choose values that are less likely to collide with system fnmatch
80512         options.
80513         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
80514         defined (e.g., a pure POSIX system).
80515         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
80516         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
80517
80518 2002-12-06  Paul Eggert  <eggert@twinsun.com>
80519
80520         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
80521         a pain in practice to deal with generated m4 files.  This change
80522         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
80523
80524         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
80525         and jm-glibc-io.m4, as they are no longer a special case.
80526         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
80527         kludge and the auto-generation stuff.  Check only whether the
80528         functions are declared, not whether they exist, since older hosts
80529         that don't declare the functions can't use the optimization anyway.
80530
80531 2002-12-06  Jim Meyering  <jim@meyering.net>
80532
80533         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
80534
80535         Merge in changes from libc's misc/error.c, in preparation
80536         for the merge of gnulib's changes back into libc.
80537
80538         * lib/error.c (_): Define only if not already defined.
80539         Move definition to follow all #include directives.
80540         Include unlocked-io.h only if !_LIBC.
80541         [_LIBC]: Include <libio/libioP.h>.
80542         [USE_IN_LIBIO]: Include <libio/iolibio.h>
80543         (fflush): Tweak definition to use INTUSE.
80544         (putc): Define.
80545
80546 2002-12-05  Paul Eggert  <eggert@twinsun.com>
80547
80548         * lib/alloca.c [defined emacs]: Include "lisp.h".
80549         (xalloc_die) [defined emacs]: New macro.
80550         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
80551         [! defined emacs]: Include <xalloc.h>.
80552         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
80553         (pointer): Typedef to POINTER_TYPE *.
80554         (malloc): Remove decl; we now always use xmalloc.
80555         (alloca): Use old-style definition, since Emacs needs this.
80556         Check for arithmetic overflow when computing combined size.
80557
80558 2002-12-04  Paul Eggert  <eggert@twinsun.com>
80559
80560         Do not generate unlocked-io.h automatically, since it's easier to
80561         maintain it by hand.
80562
80563         * lib/unlocked-io.h: New file, from GNU diffutils,
80564         but with proper copyright notice and attribution.
80565         * lib/gen-uio: Remove.
80566         * lib/Makefile.am: Add copyright notice.
80567         (libfetish_a_SOURCES): Add unlocked-io.h.
80568         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
80569         (DISTCLEANFILES, io_functions): Remove macros.
80570         (EXTRA_DIST): Remove gen_uio.
80571         (unlocked-io.h): Remove rule.
80572
80573 2002-12-04  Jim Meyering  <jim@meyering.net>
80574
80575         Reflect the fact that stat.c and lstat.c are no longer generated.
80576         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
80577         (DISTCLEANFILES): Likewise.
80578         (EXTRA_DIST): Likewise.
80579         (all_local): Don't depend on stat.c or lstat.c.
80580         (stat.c, lstat.c): Remove rules.
80581         (EXTRA_DIST): Remove xstat.in.
80582
80583         * lib/xstat.in: Remove file.  Contents moved into stat.c.
80584         * lib/stat.c: New file.  Contents mostly from xstat.in.
80585         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
80586         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
80587
80588         * lib/safe-read.c: Rework so that it may serve to define safe_write,
80589         too.
80590         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
80591
80592 2002-12-03  Jim Meyering  <jim@meyering.net>
80593
80594         * lib/safe-read.c, safe-write.c: Change variable names and comments,
80595         but not semantics, to minimize the differences between these two files.
80596         (safe_read): Change comment to mention SAFE_READ_ERROR.
80597
80598         * lib/safe-read.c (IS_EINTR): Define.
80599         (safe_read): Use IS_EINTR in place of in-function cpp directives.
80600
80601 2002-12-02  Jim Meyering  <jim@meyering.net>
80602
80603         * lib/safe-read.c (EINTR): Define.
80604         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
80605         (INT_MAX): Provide fallback.
80606         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
80607
80608         * lib/safe-read.h (SAFE_READ_ERROR): Define.
80609
80610 2002-12-02  Bruno Haible  <bruno@clisp.org>
80611
80612         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
80613         Define, taken from safe-read.c.
80614         (INT_MAX): Provide fallback.
80615         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
80616         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
80617
80618         * lib/safe-read.c (EINTR): Remove definition.
80619         (safe_read): Don't use EINTR if it is absent.
80620
80621 2002-12-01  Jim Meyering  <jim@meyering.net>
80622
80623         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
80624         zero.
80625         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
80626
80627 2002-11-27  Paul Eggert  <eggert@twinsun.com>
80628
80629         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
80630         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
80631         with `if (! (value < limit)) abort ();', for readability.
80632
80633 2002-11-26  Karl Berry  <karl@gnu.org>
80634
80635         * lib/strdup.c: copy from libc again, with jim's ok.
80636         * lib/.cppi-disable: re-add strdup.c
80637
80638 2002-11-25  Karl Berry  <karl@gnu.org>
80639
80640         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
80641         instead of "strtol.c".
80642
80643 2002-11-25  Karl Berry  <karl@gnu.org>
80644
80645         * config/install-sh: update from automake for variable quoting, $0 in
80646         error msgs, etc.
80647
80648         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
80649         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
80650         entry.
80651
80652 2002-11-25  Jim Meyering  <jim@meyering.net>
80653
80654         * lib/mktime.c: Sync from libc, now that it has the latest fix.
80655
80656 2002-11-24  Karl Berry  <karl@gnu.org>
80657
80658         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
80659         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
80660
80661 2002-11-24  Jim Meyering  <jim@meyering.net>
80662
80663         Update from coreutils:
80664
80665         * lib/mktime.c: Merge in changes from libc.
80666
80667         Avoid a link-time failure on some Linux systems.
80668         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
80669         (otherwise).
80670         (__mon_yday): Declare with the STATIC attribute.
80671         (__mktime_internal): Likewise.
80672         Based on a report from Greg Schafer.
80673
80674 2002-11-23  Jim Meyering  <jim@meyering.net>
80675
80676         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
80677         Use `unsigned', not `int', as type of index.
80678
80679         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
80680
80681         * lib/fsusage.c: Remove unneeded parentheses around operands of
80682         `defined'.
80683
80684 2002-11-22  Paul Eggert  <eggert@twinsun.com>
80685
80686         * lib/quotearg.h: Allow multiple inclusion by surrounding with
80687         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
80688         so that we can be included first.
80689         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
80690         * lib/quotearg.c: Include quotearg.h immediately after config.h.
80691         No need to include stddef.h or sys/types.h any more.
80692         Surround local include files with "", not "<>".
80693         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
80694         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
80695         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
80696         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
80697         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
80698         (ISPRINT): Remove; no longer needed now that we assume C89.
80699
80700         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
80701         Preserve errno.
80702
80703         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
80704         quotearg_char): Use SIZE_MAX rather than
80705         (size_t) -1 when we are talking about "infinity".
80706
80707         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
80708
80709 2002-11-22  Paul Eggert  <eggert@twinsun.com>
80710
80711         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
80712         hint that one should use `if (! x) abort ();' rather than `assert
80713         (x);', and anyway it's one less thing to worry about configuring.
80714         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
80715         hash_rehash, hash_insert): Use abort rather than assert.
80716
80717 2002-11-22  Bruno Haible  <bruno@clisp.org>
80718
80719         * lib/safe-read.h: Assume C89. Add comments.
80720         (safe_read): Change return type to size_t.
80721         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
80722         byte counts > SSIZE_MAX correctly.
80723         * lib/safe-write.h: New file.
80724         * lib/safe-write.c: New file.
80725         * lib/full-read.h: New file.
80726         * lib/full-read.c: New file.
80727         * lib/full-write.h: Assume C89. Add comments.
80728         * lib/full-write.c: Include safe-write.h.
80729         (full_write): Rewritten to use safe_write.
80730         Suggested by Jim Meyering and Paul Eggert.
80731
80732 2002-11-21  Jim Meyering  <jim@meyering.net>
80733
80734         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
80735
80736         Merge in changes from the coreutils.
80737
80738         2002-09-25  Paul Eggert  <eggert@twinsun.com>
80739         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
80740         <stdint.h>.
80741         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
80742         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
80743         int.  Work more efficiently if X is the same width as uintmax_t.
80744         Do not compare X to -1, to avoid bogus compiler warning.
80745         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
80746         Don't assume that f_frsize and f_bsize are the same type.
80747
80748         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
80749         warning on FreeBSD.
80750
80751         * lib/makepath.c (make_path): Restore umask *before* creating the final
80752         component.
80753         (make_path): Minor reformatting.
80754
80755         * lib/xmalloc.c: Adjust to work with new autoconf macros,
80756         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
80757         HAVE_MALLOC/HAVE_REALLOC.
80758
80759         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
80760         dummy ones.  At least on GNU/Linux systems, `auto' means something
80761         else.
80762         From Michael Stone.
80763
80764 2002-11-21  Bruno Haible  <bruno@clisp.org>
80765
80766         Remove case insensitive option matching.
80767         * lib/argmatch.h (argcasematch): Remove declaration.
80768         (ARGCASEMATCH): Remove macro.
80769         (__xargmatch_internal): Remove case_sensitive argument.
80770         (XARGMATCH): Update.
80771         (XARGCASEMATCH): Remove macro.
80772         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
80773         case_sensitive argument.
80774         (argcasematch): Remove function.
80775         (__xargmatch_internal): Remove case_sensitive argument.
80776         (main): Use XARGMATCH instead of XARGCASEMATCH.
80777
80778         * lib/xmalloc.c: Change compile-time error message. Add comment about
80779         required autoconf version.
80780
80781 2002-11-20  Paul Eggert  <eggert@twinsun.com>
80782
80783         Merge argmatch cleanups from Bison.  Assume C89.
80784
80785         * lib/argmatch.c: Include config.h here, not in argmatch.h.
80786         Include stdlib.h, for EXIT_FAILURE.
80787         Always include <string.h>, since we assume C89.
80788         (EXIT_FAILURE): Remove pre-C89 bug workaround.
80789         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
80790         Include <stddef.h> instead, since it's all we need for size_t.
80791         (PARAMS): Remove.  All uses removed.
80792         (ARRAY_CARDINALITY): Do not bother to #undef.
80793         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
80794         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
80795         Remove unnecessary parentheses.
80796         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
80797         Insert necessary parentheses.
80798         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
80799         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
80800
80801 2002-11-19  Bruno Haible  <bruno@clisp.org>
80802
80803         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
80804         * lib/mbswidth.h: Include <stddef.h>, for size_t.
80805
80806         * lib/mbswidth.h (PARAMS): Remove macro.
80807         (mbswidth, mbsnwidth): Use ANSI C function declarations.
80808         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
80809
80810         * lib/gcd.h (PARAMS): Remove macro.
80811         (gcd): Use ANSI C function declarations.
80812         * lib/gcd.c (gcd): Likewise.
80813
80814 2002-11-15  Bruno Haible  <bruno@clisp.org>
80815
80816         * lib/strcspn.c: Include <stddef.h>.
80817         (strcspn): Use ANSI C function declaration. Change return type to
80818         size_t. Use NULL.
80819         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
80820         (strpbrk): Use NULL.
80821         * lib/strpbrk.h (PARAMS): Remove macro.
80822         (strpbrk): Use ANSI C function declaration.
80823         * lib/strstr.c: Don't include <sys/types.h>.
80824         * lib/strstr.h (PARAMS): Remove macro.
80825         (strstr): Use ANSI C function declarations.
80826
80827 2002-11-14  Karl Berry  <karl@gnu.org>
80828
80829         * config/mkinstalldirs: `do' on separate line, instead of
80830         `for var; do'.
80831
80832 2002-11-06  Bruno Haible  <bruno@clisp.org>
80833
80834         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
80835         * lib/gcd.c (gcd): Likewise.
80836
80837 2002-11-05  Bruno Haible  <bruno@clisp.org>
80838
80839         * lib/gcd.h: New file, from gettext-0.11.5.
80840         * lib/gcd.c: New file, from gettext-0.11.5.
80841
80842 2002-11-05  Bruno Haible  <bruno@clisp.org>
80843
80844         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80845         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80846         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80847         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
80848
80849         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
80850         <libintl.h>.
80851         * lib/makepath.c: Include gettext.h instead of <locale.h> and
80852         <libintl.h>.
80853
80854         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
80855         * lib/human.c: Include gettext.h instead of <libintl.h>.
80856         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
80857         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
80858         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
80859         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
80860         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
80861         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
80862         (textdomain): Remove definition.
80863         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
80864
80865         * lib/long-options.c: Remove include of <libintl.h> and definition of
80866         _.
80867         * lib/same.c: Remove include of <libintl.h> and definition of _.
80868
80869 2002-11-04  Owen Taylor  <otaylor@redhat.com>
80870
80871         * lib/config.charset: A few additions for Solaris.
80872
80873 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
80874
80875         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
80876         * lib/localcharset.c (locale_charset): Declare as extern "C".
80877
80878 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
80879
80880         * lib/config.charset: msdos in uk_UA uses CP1125.
80881
80882 2002-11-04  Bruno Haible  <bruno@clisp.org>
80883
80884         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
80885         * lib/strcase.h: New file, from GNU gettext-0.11.5.
80886         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
80887         * lib/strstr.h: New file, from GNU gettext-0.11.5.
80888         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
80889
80890 2002-11-04  Bruno Haible  <bruno@clisp.org>
80891
80892         * lib/localcharset.c (locale_charset): Don't return an empty string.
80893
80894 2002-11-04  Bruno Haible  <bruno@clisp.org>
80895
80896         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
80897         aliases.
80898
80899 2002-11-04  Bruno Haible  <bruno@clisp.org>
80900
80901         * lib/config.charset: Update for newest glibc. Add canonical names
80902         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
80903
80904 2002-11-04  Bruno Haible  <bruno@clisp.org>
80905
80906         * lib/config.charset: Add support for NetBSD.
80907
80908 2002-11-04  Bruno Haible  <bruno@clisp.org>
80909
80910         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
80911
80912 2002-11-01  Bruno Haible  <bruno@clisp.org>
80913
80914         * configure.in: Add AC_CONFIG_AUX_DIR call.
80915         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
80916         test/Makefile.
80917         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
80918
80919 2002-09-28  Karl Berry  <karl@gnu.org>
80920
80921         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
80922         installed automake until the next release, since changes have been
80923         made.
80924
80925 2002-09-25  Karl Berry  <karl@gnu.org>
80926
80927         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
80928         * lib/getopt*: copy from libc/posix.
80929         * lib/gettext.h: copy from gettext.
80930         * lib/.cppi-disable: add strdup.c, gettext.h.
80931
80932 2002-09-25  Karl Berry  <karl@gnu.org>
80933
80934         * config/srclist.txt: enable gettext.h check.
80935         * config/config.{guess,sub}: update from prep.
80936         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
80937                 from automake 1.6.3.
80938         See srclist*.
80939
80940 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
80941
80942         * regex.c (PATFETCH): Remove the translating fetch.
80943         (PATFETCH_RAW): Rename to PATFETCH.
80944         (set_image_of_range): New fun.
80945         (SET_RANGE_TABLE_WORK_AREA): Use it.
80946         (regex_compile): Don't translate the pattern chars so eagerly.
80947         Only do it when inserting an `exactn' bytecode or when handling
80948         a char-range.
80949         (mutually_exclusive_p): Avoid empty statement.
80950
80951 2002-07-06  Jim Meyering  <meyering@lucent.com>
80952
80953         * m4/README: Don't mention Makefile.am.in.
80954         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
80955
80956 2002-07-01  Jim Meyering  <meyering@lucent.com>
80957
80958         * lib/c-stack.c: Include sys/time.h.
80959         From Volker Borchert.
80960
80961 2002-06-26  Paul Eggert  <eggert@twinsun.com>
80962
80963         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
80964
80965 2002-06-26  Paul Eggert  <eggert@twinsun.com>
80966
80967         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
80968         New macro.  Use it uniformly instead of
80969         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
80970         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
80971         reported by Vin Shelton.
80972
80973 2002-06-22  Paul Eggert  <eggert@twinsun.com>
80974
80975         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
80976         Do not assume SA_SIGINFO behavior.
80977         Bug reported by Jim Meyering on NetBSD 1.5.2.
80978
80979 2002-06-22  Jim Meyering  <meyering@lucent.com>
80980
80981         * m4/c-stack.m4: New file, from diffutils-2.8.2.
80982         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
80983
80984         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
80985         now that configure.ac uses AC_GNU_SOURCE.
80986         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
80987         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
80988
80989         Update to latest tools.  Suggestions from Paul Eggert.
80990         * m4/stdbool.m4: New file, from diffutils-2.8.2.
80991         * m4/gnu-source.m4: Update from diffutils-2.8.2.
80992         * m4/fnmatch.m4: Likewise.
80993         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
80994         to AC_HEADER_STDBOOL
80995
80996 2002-06-22  Jim Meyering  <meyering@lucent.com>
80997
80998         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
80999         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
81000
81001 2002-06-22  Jim Meyering  <meyering@lucent.com>
81002
81003         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
81004
81005         * lib/exitfail.c, exitfail.h: Likewise.
81006         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
81007
81008         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
81009         of fnmatch.h.
81010         (EXTRA_DIST): Add fnmatch_loop.c.
81011         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
81012
81013         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
81014         * lib/fnmatch.c: Update from diffutils-2.8.2.
81015         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
81016         * lib/fnmatch.h: Remove file.
81017
81018 2002-06-21  Jim Meyering  <meyering@lucent.com>
81019
81020         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
81021         * m4/mbrtowc.m4: Likewise.
81022
81023         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
81024         * m4/mbswidth.m4: Reflect name change:
81025         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
81026         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
81027
81028         * m4/lib-link.m4: Update from gettext-0.11.2.
81029         * m4/gettext.m4: Likewise.
81030
81031         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
81032         From Alfred M. Szmidt.
81033
81034 2002-06-18  Paul Eggert  <eggert@twinsun.com>
81035
81036         * lib/file-type.h: Report an error if neither S_ISREG nor
81037         S_IFREG is defined, instead of using a test specific to glibc
81038         2.2.  This should be safe, since POSIX requires S_ISREG and
81039         Unix Version 7 had S_IFREG.  We don't need to check for
81040         <sys/types.h> since we don't use any symbols that it defines.
81041
81042 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
81043
81044         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
81045         $@-t, so that each temporary file name is unique and valid in the first
81046         8 characters, for operation under DOS.
81047
81048 2002-06-15  Paul Eggert  <eggert@twinsun.com>
81049
81050         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
81051
81052 2002-06-15  Jim Meyering  <meyering@lucent.com>
81053
81054         Work even with DJGPP 2.03, which lacks support for symlinks.
81055         From Richard Dawe.
81056         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
81057         is defined.
81058         * lib/lchown.c (S_ISLNK): Likewise.
81059
81060 2002-06-15  Jim Meyering  <meyering@lucent.com>
81061
81062         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
81063         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
81064         have been included before this file.
81065
81066 2002-06-14  Jim Meyering  <meyering@lucent.com>
81067
81068         * lib/file-type.h: Use the version from diffutils-2.8.2.
81069         * lib/file-type.c: Likewise.
81070
81071 2002-06-07  Jim Meyering  <meyering@lucent.com>
81072
81073         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
81074         They're needed at least for NetBSD 1.5.2.
81075         ($statxfs_includes): Include those same headers.
81076         ($statxfs_includes): Include sys/vfs.h if available.
81077         ($statxfs_includes): Likewise for sys/statvfs.h.
81078         Check for the following members in both structs statfs and statvfs:
81079         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
81080
81081 2002-06-01  Jim Meyering  <meyering@lucent.com>
81082
81083         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
81084         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
81085
81086 2002-05-28  Jim Meyering  <meyering@lucent.com>
81087
81088         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
81089         Reported by Volker Borchert.
81090
81091 2002-05-27  Jim Meyering  <meyering@lucent.com>
81092
81093         Fix a problem seen only on nonconforming systems whereby ls.c's
81094         use of localtime, and then of gettimeofday would cause trouble:
81095         the localtime call used to initialize rpl_gettimeofday's save
81096         mechanism would clobber ls's current local time information so
81097         that in any long listing the first file would always be listed
81098         with date 1970-01-01.  Analysis by Volker Borchert.
81099
81100         * lib/gettimeofday.c (localtime): Undefine.
81101         (rpl_localtime): New function.
81102
81103 2002-05-27  Jim Meyering  <meyering@lucent.com>
81104
81105         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
81106         localtime.
81107
81108         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
81109         use the replacement function; it wouldn't resolve at link time.
81110         Reported by Volker Borchert.
81111
81112 2002-05-22  Jim Meyering  <meyering@lucent.com>
81113
81114         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
81115         file-type.h.
81116         * lib/file-type.h: New file.
81117         * lib/file-type.c (file_type): New file/function.  Extracted from
81118         diffutils.
81119
81120 2002-04-30  Jim Meyering  <meyering@lucent.com>
81121
81122         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
81123
81124 2002-04-29  Paul Eggert  <eggert@twinsun.com>
81125
81126         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
81127
81128 2002-04-29  Paul Eggert  <eggert@twinsun.com>
81129
81130         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
81131         Do not check for alloca.h (no longer used) or stdbool.h (was never
81132         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
81133
81134 2002-04-29  Paul Eggert  <eggert@twinsun.com>
81135
81136         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
81137
81138 2002-04-29  Jim Meyering  <meyering@lucent.com>
81139
81140         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
81141         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
81142         Use AC_FUNC_STRNLEN here instead.
81143
81144         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
81145         With autoconf-2.53a, it's part of AC_PROG_CC.
81146
81147 2002-04-28  Paul Eggert  <eggert@twinsun.com>
81148
81149         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
81150         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
81151
81152 2002-04-28  Paul Eggert  <eggert@twinsun.com>
81153
81154         * lib/sig2str.h, lib/sig2str.c: New files.
81155         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
81156
81157 2002-04-28  Paul Eggert  <eggert@twinsun.com>
81158
81159         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
81160         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
81161         of 127, since 64 is the largest conceivable number for ancient
81162         nonstandard hosts.
81163         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
81164
81165 2002-04-28  Jim Meyering  <meyering@lucent.com>
81166
81167         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
81168
81169 2002-04-24  Jim Meyering  <meyering@lucent.com>
81170
81171         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
81172         (jm_PREREQ): Use it.
81173
81174         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
81175         mach/mach.h fcntl.h.
81176         Check for this function: setlocale.
81177
81178 2002-04-24  Jim Meyering  <meyering@lucent.com>
81179
81180         * lib/gettext.h: New file, from Gettext.
81181         * lib/Makefile.am (INCLUDES): Remove -I../intl.
81182         (libfetish_a_SOURCES): Add gettext.h.
81183
81184 2002-04-16  Jim Meyering  <meyering@lucent.com>
81185
81186         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
81187         ut_pid, ut_id, ut_exit.
81188
81189 2002-04-16  Jim Meyering  <meyering@lucent.com>
81190
81191         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
81192         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
81193         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
81194
81195 2002-04-12  Jim Meyering  <meyering@lucent.com>
81196
81197         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
81198         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
81199         existence of the getmntinfo function.  Needed for Darwin 5.3.
81200
81201         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
81202         This is necessary at least on Darwin 5.3.
81203
81204         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
81205         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
81206         strnlen.o in the library, and that makes some versions of ranlib
81207         object.
81208
81209 2002-04-12  Jim Meyering  <meyering@lucent.com>
81210
81211         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
81212
81213 2002-04-09  Jim Meyering  <meyering@lucent.com>
81214
81215         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
81216         to be more precise.  Rather than saying we're checking whether the
81217         function `works', say what we're testing.
81218         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
81219         Reported by Bruno Haible.
81220
81221 2002-03-10  Jim Meyering  <meyering@lucent.com>
81222
81223         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
81224         Suggestion from Santiago Vila.
81225
81226 2002-03-08  Jim Meyering  <meyering@lucent.com>
81227
81228         * lib/rename.c: Mention that this wrapper is needed also on
81229         mips-dec-ultrix4.4 systems.
81230
81231 2002-03-02  Jim Meyering  <meyering@lucent.com>
81232
81233         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
81234         not HAVE_CLOCK_SETTIME.
81235
81236 2002-02-27  Paul Eggert  <eggert@twinsun.com>
81237
81238         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
81239         Check for clock_settime.
81240
81241 2002-02-27  Paul Eggert  <eggert@twinsun.com>
81242
81243         * lib/nanosleep.h: Rename to....
81244         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
81245
81246         * lib/gettime.c: New file.
81247         * lib/settime.c: New file.
81248         * lib/stime.c: Remove.
81249
81250         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
81251         timespec.h.  Remove nanosleep.h.
81252
81253 2002-02-25  Paul Eggert  <eggert@twinsun.com>
81254
81255         * m4/acl.m4: New file.
81256         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
81257         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
81258
81259 2002-02-25  Paul Eggert  <eggert@twinsun.com>
81260
81261         * lib/acl.c, lib/acl.h: New files.
81262         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
81263
81264 2002-02-24  Jim Meyering  <meyering@lucent.com>
81265
81266         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
81267         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
81268         cause trouble.  Reported by Nelson Beebe.
81269
81270 2002-02-23  Paul Eggert  <eggert@twinsun.com>
81271
81272         * lib/path-concat.c (xpath_concat): Reorder code to pacify
81273         compilers that don't know that xalloc_die never returns.
81274
81275 2002-02-20  Jim Meyering  <meyering@lucent.com>
81276
81277         * lib/getdate.c: Regenerate using bison-1.33.
81278
81279 2002-02-17  Jim Meyering  <meyering@lucent.com>
81280
81281         * config/config.guess (main): Don't use `head -1'; it's no longer
81282         portable. Use `sed 1q' instead.
81283
81284 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
81285
81286         * m4/codeset.m4: Upgrade to gettext-0.11.
81287         * m4/gettext.m4: Upgrade to gettext-0.11.
81288         * m4/glibc21.m4: Upgrade to gettext-0.11.
81289         * m4/iconv.m4: Upgrade to gettext-0.11.
81290         * m4/isc-posix.m4: Upgrade to gettext-0.11.
81291         * m4/lcmessage.m4: Upgrade to gettext-0.11.
81292         * m4/lib-ld.m4: New file, from gettext-0.11.
81293         * m4/lib-link.m4: New file, from gettext-0.11.
81294         * m4/lib-prefix.m4: New file, from gettext-0.11.
81295         * m4/progtest.m4: Upgrade to gettext-0.11.
81296
81297 2002-02-15  Paul Eggert  <eggert@twinsun.com>
81298
81299         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
81300         (jm_PREREQ): Use it.
81301
81302 2002-02-15  Paul Eggert  <eggert@twinsun.com>
81303
81304         * lib/posixver.c, lib/posixver.h: New files.
81305         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
81306
81307 2002-02-02  Paul Eggert  <eggert@twinsun.com>
81308             Bruno Haible  <bruno@clisp.org>
81309
81310         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
81311         (fwrite_success_callback): New declaration.
81312         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
81313         print_unicode_char. Call failure callback instead of error.
81314         (fwrite_success_callback): New function.
81315         (exit_failure_callback): New function.
81316         (fallback_failure_callback): New function.
81317         (print_unicode_char): Call unicode_to_mb.
81318
81319 2002-01-26  Jim Meyering  <meyering@lucent.com>
81320
81321         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
81322         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
81323
81324 2002-01-26  Jim Meyering  <meyering@lucent.com>
81325
81326         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
81327
81328 2002-01-22  Paul Eggert  <eggert@twinsun.com>
81329
81330         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
81331
81332 2002-01-22  Jim Meyering  <meyering@lucent.com>
81333
81334         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
81335         Otherwise, some versions of automake would omit the rule that makes
81336         Makefile from Makefile.in.
81337
81338 2002-01-21  Paul Eggert  <eggert@twinsun.com>
81339
81340         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
81341         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
81342         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
81343         (memcoll): Set errno to zero if there is no error.
81344
81345         * lib/quotearg.c (quotearg_buffer_restyled):
81346         Fix bug with quoting buffers containing NUL when backslashing escapes.
81347         This bug was exposed by the other changes in this patch.
81348         (quotearg_n_options): New arg ARGSIZE.
81349         All callers changed.
81350         (quoting_options_from_style): New function.
81351         (quotearg_n_style): Use it.
81352         (quotearg_n_style_mem): New function.
81353
81354         * lib/quotearg.h (quotearg_n_style_mem): New function.
81355
81356 2002-01-19  Jim Meyering  <meyering@lucent.com>
81357
81358         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
81359         Remove useless quotes: DF_PROG="df".
81360         * m4/strnlen.m4: New file.
81361
81362 2002-01-16  Paul Eggert  <eggert@twinsun.com>
81363
81364         * lib/backupfile.c (ISDIGIT): Comment fix.
81365         * lib/getdate.y (ISDIGIT): Likewise.
81366         * lib/posixtm.c (ISDIGIT, year): Likewise.
81367         * lib/strverscmp.c (ISDIGIT): Likewise.
81368         * lib/userspec.c (ISDIGIT): Likewise.
81369
81370 2002-01-16  Jim Meyering  <meyering@lucent.com>
81371
81372         * lib/getdate.y: Add three semicolons, each just before a closing
81373         brace. Bison (as of version 1.31) no longer papers over that mistake.
81374
81375 2002-01-05  Jim Meyering  <meyering@lucent.com>
81376
81377         * lib/version-etc.c (version_etc_copyright): Update copyright year.
81378
81379 2001-12-19  Paul Eggert  <eggert@twinsun.com>
81380
81381         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
81382         not silently exit merely because the output buffer happens to
81383         have nothing pending.
81384
81385 2001-12-18  Paul Eggert  <eggert@twinsun.com>
81386
81387         See the big note in ../ChangeLog.
81388         * lib/human.c (suffixes): Prefer K to k for 1024.
81389         (generate_suffix_backwards): New function.
81390         (human_readable_inexact): Use it.
81391         * lib/xstrtol.c (__xstrtol): If there is no number but there
81392         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
81393         Accept 'K' as well as 'k'.
81394
81395 2001-12-15  Jim Meyering  <meyering@lucent.com>
81396
81397         * lib/regex.h (__restrict_arr): Update from libc.
81398
81399         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
81400         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
81401         (STREQ): Define.
81402
81403 2001-12-14  Jim Meyering  <meyering@lucent.com>
81404
81405         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
81406         Suggestion from Bruno Haible.
81407
81408 2001-12-10  Jim Meyering  <meyering@lucent.com>
81409
81410         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
81411         xrealloc, Instead, include "xalloc.h".
81412         (initbuffer): Don't cast xmalloc return value to char*.
81413         (readline): Reword comment.
81414         Don't cast xrealloc return value to char*
81415         Return NULL, not 0.
81416
81417 2001-12-09  Jim Meyering  <meyering@lucent.com>
81418
81419         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
81420         about `signed and unsigned type in conditional expression'.
81421         * lib/posixtm.c (posix_time_parse): Likewise.
81422
81423         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
81424
81425         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
81426         to avoid a pedantic warning.
81427
81428         * lib/getstr.c: Don't include assert.h.
81429         (getstr): Remove warning-evoking assertions.
81430         Return -1 if offset parameter is out of bounds.
81431         Change the type of a local from int to size_t.
81432
81433         * lib/strftime.c (my_strftime_localtime_r): Include this function
81434         definition in the `#if ! HAVE_TM_GMTOFF' block.
81435
81436         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
81437         Include xalloc.h instead.
81438
81439 2001-12-02  Jim Meyering  <meyering@lucent.com>
81440
81441         * lib/tempname.c: Don't declare getenv, thus reverting the change of
81442         2001-11-18.  It's no longer necessary, now that stdlib.h is always
81443         included.
81444
81445         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
81446         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
81447
81448 2001-11-30  Akim Demaille  <akim@epita.fr>
81449
81450         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
81451         before being defined.
81452
81453 2001-11-27  Paul Eggert  <eggert@twinsun.com>
81454
81455         * lib/quotearg.h (quotearg_n, quotearg_n_style):
81456         First arg is int, not unsigned.
81457         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
81458         (SIZE_MAX, UINT_MAX): New macros.
81459         (quotearg_n_options): Abort if N is negative.
81460         Avoid overflow check on hosts where size_t is 64 bits and int
81461         is 32 bits, as overflow is impossible there.
81462         Fix off-by-one typo that caused unnecessary reallocation.
81463
81464 2001-11-27  Jim Meyering  <meyering@lucent.com>
81465
81466         * lib/tempname.c: Merge with version from libc.
81467         * lib/regex.c: Likewise.
81468
81469         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
81470         systems for which STDC_HEADERS is 0, it was not included, resulting in
81471         a warning about an integer-to-pointer conversion problem with getenv.
81472         Reported by Volker Borchert.
81473
81474 2001-11-26  Jim Meyering  <meyering@lucent.com>
81475
81476         * lib/gtod.h: Remove file.
81477         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
81478         * lib/gettimeofday.c: Don't include gtod.h.
81479         (GTOD_init): Remove function.
81480         (rpl_gettimeofday): Do its job here instead, rather than aborting.
81481         Suggestion from Volker Borchert.
81482
81483 2001-11-23  Jim Meyering  <meyering@lucent.com>
81484
81485         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
81486         it.
81487         * lib/hash.c (struct hash_table): Define it here instead.
81488
81489 2001-11-22  Jim Meyering  <meyering@lucent.com>
81490
81491         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
81492
81493 2001-11-20  Jim Meyering  <meyering@lucent.com>
81494
81495         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
81496         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
81497
81498 2001-11-19  Jim Meyering  <meyering@lucent.com>
81499
81500         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
81501         directory.  Use "conftestXXXXXX" as the template.
81502         Suggestion from Paul Eggert.
81503
81504         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
81505         immediately, so the test doesn't mistakenly hit the max-open-files
81506         limit.
81507
81508 2001-11-18  Paul Eggert  <eggert@twinsun.com>
81509
81510         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
81511         (TEMPORARIES): New macro.
81512         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
81513         removes an artificial limitation (e.g. HP-UX 10.20, where
81514         TMP_MAX is 17576).
81515
81516 2001-11-18  Jim Meyering  <meyering@lucent.com>
81517
81518         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
81519
81520 2001-11-18  Jim Meyering  <meyering@lucent.com>
81521
81522         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
81523         on SunOS 4.
81524
81525         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
81526         files will be created before anything else.
81527
81528 2001-11-17  Paul Eggert  <eggert@twinsun.com>
81529
81530         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
81531         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
81532
81533 2001-11-17  Jim Meyering  <meyering@lucent.com>
81534
81535         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
81536         Prompted by a report from Bob Proulx.
81537
81538         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
81539         Instead, require UTILS_FUNC_MKSTEMP.
81540
81541 2001-11-17  Jim Meyering  <meyering@lucent.com>
81542
81543         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
81544         Now, that's done as part of AC_FUNC_STRTOD.
81545
81546 2001-11-17  Jim Meyering  <meyering@lucent.com>
81547
81548         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
81549         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
81550         rather than group writable.  Patch by Juan F. Codagnone.
81551
81552         * lib/readtokens.c: Remove explicit declarations of xmalloc and
81553         xrealloc, Instead, include "xalloc.h".
81554
81555         * lib/mountlist.c: Include unlocked-io.h after all system headers.
81556         Remove explicit declarations of xmalloc, xrealloc,
81557         and xstrdup.  Instead, include "xalloc.h".
81558
81559         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
81560         unlocked-io.h.
81561         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
81562         Likewise.
81563         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
81564
81565         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
81566         Reported by Padraig Brady.
81567
81568         * lib/mkstemp.c: #undef mkstemp.
81569         Include config.h.
81570         (rpl_mkstemp): Rename from mkstemp.
81571         Protoize.
81572
81573 2001-11-16  Jim Meyering  <meyering@lucent.com>
81574
81575         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
81576         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
81577         determine the amount of total physical memory, use pstat_getstatic.
81578         HPUX-11 doesn't define _SC_PHYS_PAGES.
81579         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
81580         If sysconf couldn't be used to determine the amount of available
81581         physical memory, use both pstat_getstatic and pstat_getdynamic.
81582         Based on a patch from Bob Proulx.
81583
81584 2001-11-10  Jim Meyering  <meyering@lucent.com>
81585
81586         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
81587         (jm_PREREQ): Use it.
81588
81589 2001-11-09  Jim Meyering  <meyering@lucent.com>
81590
81591         * m4/jm-macros.m4: Require autoconf-2.52f.
81592         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
81593         Use these AC_-prefixed names, not the AM_-prefixed ones.
81594
81595         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
81596
81597 2001-11-05  Jim Meyering  <meyering@lucent.com>
81598
81599         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
81600
81601 2001-11-04  Jim Meyering  <meyering@lucent.com>
81602
81603         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
81604         $DEFS.
81605
81606 2001-11-03  Jim Meyering  <meyering@lucent.com>
81607
81608         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
81609         of AC_DEFUN.
81610
81611         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
81612         know the name of the variable in the macro definition.
81613
81614 2001-11-03  Jim Meyering  <meyering@lucent.com>
81615
81616         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
81617         in argmatch_to_argument call.
81618
81619         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
81620         argument.
81621
81622         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
81623         e.g., a fault due to an attempt to free a NULL pointer.
81624
81625 2001-11-01  Jim Meyering  <meyering@lucent.com>
81626
81627         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
81628         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
81629
81630 2001-11-01  Jim Meyering  <meyering@lucent.com>
81631
81632         * lib/dirfd.c, lib/dirfd.h: New files.
81633         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
81634
81635         * lib/hash.c (hash_print) [TESTING]: Clean up.
81636
81637 2001-10-22  Paul Eggert  <eggert@twinsun.com>
81638
81639         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
81640         to avoid a warning if -Wall.
81641
81642 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
81643
81644         * README: New file
81645         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
81646         (per RMS's instructions, this is now the canonical source)
81647         * lgpl/, gpl/: New directories.
81648
81649 2001-10-21  Paul Eggert  <eggert@twinsun.com>
81650
81651         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
81652
81653 2001-10-21  Jim Meyering  <meyering@lucent.com>
81654
81655         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
81656         this code would end up calling gettext even in packages built
81657         with --disable-nls.
81658         * lib/getopt.c (_): Likewise.
81659         * lib/regex.c (_): Likewise.
81660
81661 2001-10-20  Paul Eggert  <eggert@twinsun.com>
81662
81663         * m4/error.m4 (jm_PREREQ_ERROR):
81664         Do not invoke AC_CHECK_FUNCS with strerror_r, as
81665         AC_FUNC_STRERROR_R does that.
81666         Check for strerror declaration.
81667
81668         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
81669         are supposed to have them these days.
81670         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
81671         Merge changes from latest Autoconf CVS.
81672         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
81673         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
81674         POSIX decided to standardize on the int flavor of strerror_r.
81675
81676 2001-10-20  Paul Eggert  <eggert@twinsun.com>
81677
81678         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
81679         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
81680         Use strerror_r that is only a macro, even if it is not a function.
81681         (strerror): Check for HAVE_DECL_STRERROR before declaring.
81682         (private_strerror): Use prototypes, not old-style function definition.
81683         (print_errno_message): New function.
81684         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
81685         char*-flavored one.
81686         (error_tail, error, error_at_line): Use it.
81687
81688 2001-10-11  Jim Meyering  <meyering@lucent.com>
81689
81690         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
81691         and quote_n (1, ... to avoid clobbering a buffer.
81692
81693 2001-10-05  Jim Meyering  <meyering@lucent.com>
81694
81695         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
81696         hash-pjw.h.
81697         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
81698         * lib/hash-pjw.h: New file.
81699
81700 2001-09-30  Jim Meyering  <meyering@lucent.com>
81701
81702         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
81703         `struct fsstat' has the `f_fstypename' member.
81704         Use that to define FS_TYPE, which is now used to make
81705         the getfsstat link test tighter.
81706
81707 2001-09-30  Jim Meyering  <meyering@lucent.com>
81708
81709         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
81710         Include <sys/ucred.h>, for Apple Darwin.
81711         Include sys/mount.h and sys/fs_types.h only if available.
81712         (FS_TYPE): Define.
81713         (read_filesystem_list): Use FS_TYPE.
81714
81715 2001-09-29  Paul Eggert  <eggert@twinsun.com>
81716
81717         * lib/exclude.c (excluded_filename): 0 -> false, since it's
81718         a boolean context.
81719
81720 2001-09-29  Jim Meyering  <meyering@lucent.com>
81721
81722         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
81723         [one-argument getmntent function]): Include stdio.h before mntent.h.
81724         SunOS 4.1.x needs it for the declaration of `FILE'.
81725         Patch by Volker Borchert.
81726
81727         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
81728         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
81729         sys/fs_types.h, and make the link-test for getfsstat guard #include
81730         directives with appropriate #if HAVE_*_H tests so that we can
81731         detect getfsstat on Apple Darwin1.3.7 systems.
81732         Reported by Nelson Beebe.
81733         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
81734
81735 2001-09-28  Paul Eggert  <eggert@twinsun.com>
81736
81737         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
81738         #defines strtoimax.  Also treat the other strto* functions
81739         like strtoimax.
81740
81741         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
81742         Check for strtoul and strtoumax,
81743         as those declarations are made even in the signed case.
81744         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
81745         Likewise, for strtol and strtoimax.
81746
81747 2001-09-28  Paul Eggert  <eggert@twinsun.com>
81748
81749         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
81750         #defines strtoimax.  Also treat the other strto* functions
81751         like strtoimax.
81752
81753         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
81754         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
81755         (strtoimax, strtoumax): Do not declare if already defined as a macro.
81756
81757 2001-09-26  Jim Meyering  <meyering@lucent.com>
81758
81759         Most macros in unlocked-io.h had the wrong number of arguments.
81760         * lib/gen-uio: New script.
81761         (USE_UNLOCKED_IO): Define to 1 if not already defined.
81762         * lib/unlocked-io.hin: Remove file.
81763         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
81764         rather than trying to embed it here.
81765         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
81766         Reported by Padraig Brady.
81767
81768 2001-09-25  Volker Borchert  <bt@teknon.de>
81769
81770         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
81771         `result'.
81772
81773 2001-09-24  Jim Meyering  <meyering@lucent.com>
81774
81775         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
81776
81777 2001-09-23  Jim Meyering  <meyering@lucent.com>
81778
81779         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
81780         instead of the mere test for existence of mntent.h.  The latter
81781         would get a false-positive on AIX 3.4 systems.
81782         In the outer getmntent if-block, don't die if neither of the getmntent
81783         tests succeeds.  Instead, just fall through and continue with the
81784         remaining tests.
81785
81786 2001-09-23  Jim Meyering  <meyering@lucent.com>
81787
81788         * lib/mountlist.c: Remove useless parentheses in #if directives.
81789         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
81790         the deprecated MOUNTED symbol is no longer defined in mntent.h.
81791
81792 2001-09-22  Jim Meyering  <meyering@lucent.com>
81793
81794         * m4/gettext.m4: New file.  From gettext.
81795         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
81796         * m4/progtest.m4: Likewise
81797         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
81798         * m4/glibc21.m4: Likewise.
81799
81800         * m4/libintl.m4: Remove.  No longer used.
81801
81802 2001-09-22  Jim Meyering  <meyering@lucent.com>
81803
81804         * lib/localcharset.c: Update from latest gettext.
81805         * lib/config.charset: Likewise.
81806
81807 2001-09-20  Jim Meyering  <meyering@lucent.com>
81808
81809         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
81810         strtoimax.
81811         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
81812         strtoumax.
81813
81814 2001-09-20  Jim Meyering  <meyering@lucent.com>
81815
81816         * lib/xstrtol.c (strtoimax): Guard declaration with
81817         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
81818         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
81819         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
81820         (strtoumax): Likewise, for completeness (it wasn't necessary).
81821
81822 2001-09-17  Paul Eggert  <eggert@twinsun.com>
81823
81824         * lib/strtoimax.c (HAVE_LONG_LONG):
81825         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
81826         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
81827         to work around bug in IBM C compiler.
81828
81829 2001-09-17  Jim Meyering  <meyering@lucent.com>
81830
81831         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
81832         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
81833         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
81834         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
81835         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
81836         whenever the right hand side need not be expanded by the shell.
81837
81838 2001-09-16  Paul Eggert  <eggert@twinsun.com>
81839
81840         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
81841         library.  It's not correct, as some older glibcs are buggy.
81842         fnmatch wasn't fixed until glibc 2.2.
81843
81844         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
81845         special shell magic here.
81846
81847 2001-09-16  Jim Meyering  <meyering@lucent.com>
81848
81849         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
81850         * m4/jm-macros.m4: Require it.
81851
81852 2001-09-16  Jim Meyering  <meyering@lucent.com>
81853
81854         * lib/mkdir.c: New file.
81855
81856 2001-09-15  Jim Meyering  <meyering@lucent.com>
81857
81858         * m4/jm-macros.m4: Check for help2man.
81859
81860 2001-09-11  Jim Meyering  <meyering@lucent.com>
81861
81862         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
81863         The body, by Paul Eggert, was moved here from configure.in.
81864         * m4/jm-macros.m4: Require UTILS_HOST_OS.
81865
81866 2001-09-04  Paul Eggert  <eggert@twinsun.com>
81867
81868         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
81869         (jm_PREREQ): Use it.
81870
81871 2001-09-04  Paul Eggert  <eggert@twinsun.com>
81872
81873         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
81874         Use ssize_t, not int, to store result of readlink.
81875         Check for ssize_t overflow as well as size_t overflow,
81876         as POSIX says the result of readlink is implementation-defined
81877         when ssize_t overflows.
81878         Remove unnecessary cast to char*.
81879         Use free+malloc instead of realloc, as the storage doesn't need
81880         to be preserved and it's clearer and can be more efficient that way.
81881         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
81882         * lib/xreadlink.h (xreadlink): Update prototype.
81883
81884 2001-09-04  Paul Eggert  <eggert@twinsun.com>
81885
81886         * lib/xgetcwd.c: Revert some of the previous change; intead,
81887         fix the HAVE_GETCWD_NULL code to behave more like the
81888         !HAVE_GETCWD_NULL code used to.
81889
81890         Include "xalloc.h".
81891         (xgetcwd): Do not return NULL when memory is exhausted; instead,
81892         invoke xalloc_die.
81893
81894 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81895
81896         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
81897         sys/param.h, as pathmax.h includes them.
81898
81899 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81900
81901         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
81902         (jm_PREREQ_XGETCWD): New macro.
81903
81904         * m4/getcwd.m4: New file.
81905
81906 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81907
81908         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
81909         like the HAVE_GETCWD_NULL code.
81910         Include pathmax.h if not HAVE_GETCWD.
81911         Do not include xalloc.h.
81912         (INITIAL_BUFFER_SIZE): New symbol.
81913         Do not use xmalloc / xrealloc, since the caller is responsible for
81914         handling errors.  Preserve errno around `free' during failure.
81915         Do not overrun buffer when using getwd.
81916
81917 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81918
81919         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
81920         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
81921         getcwd (NULL, 0).
81922
81923 2001-09-03  Paul Eggert  <eggert@twinsun.com>
81924
81925         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
81926         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
81927         spotted by Jim Meyering.
81928
81929 2001-09-03  Jim Meyering  <meyering@lucent.com>
81930
81931         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
81932         failure.
81933
81934 2001-09-02  Jim Meyering  <meyering@lucent.com>
81935
81936         * lib/error.c: Update from GNU libc.
81937
81938 2001-09-01  Jim Meyering  <meyering@lucent.com>
81939
81940         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
81941         Used by df.
81942
81943 2001-09-01  Jim Meyering  <meyering@lucent.com>
81944
81945         * lib/xreadlink.c: New file.
81946         * lib/xreadlink.h: New file.
81947         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
81948         xreadlink.h.
81949
81950         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
81951         doesn't conflict with sparc Solaris 7's definition in
81952         /usr/include/sys/int_types.h.
81953
81954         * lib/exclude.c: Use `""', not `<>' to #include non-system header
81955         files.
81956         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
81957         and strncasecmp as r-values.  Unixware didn't have declarations.
81958
81959 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81960
81961         * lib/xstrtol.h: Add copyright notice.
81962         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
81963         LONGINT_INVALID_SUFFIX_CHAR.
81964
81965 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81966
81967         * lib/xstrtol.c (strtoimax): New decl.
81968
81969 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81970
81971         * lib/xgetcwd.c: Don't include pathmax.h.
81972         Include stdlib.h and unistd.h if available.
81973         Include xalloc.h.
81974         (xmalloc, xstrdup, free): Remove decls.
81975         (xgetcwd): Don't assume sizes fit in unsigned.
81976         Check for overflow when computing sizes.
81977         Simplify reallocation code.
81978
81979 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81980
81981         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
81982         a directory's st_size can have an arbitrary value, so the old
81983         usage could waste an arbitrary amount of memory.  All uses
81984         changed.
81985         * lib/savedir.h: Update prototype.
81986
81987 2001-08-31  Paul Eggert  <eggert@twinsun.com>
81988
81989         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
81990
81991         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
81992         old strtoimax.c.
81993
81994         Also, make the following further changes to make this file's
81995         configuration more similar to that of strtol.c:
81996         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
81997         (strtoumax, uintmax_t, strtoull, strtol): Remove.
81998         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
81999         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
82000         changed to signed values.
82001
82002         And make the following changes as well:
82003         Fix copyright notice, as 1999 was missing.
82004         (verify): New macro.
82005         (strtoimax): Check sizes at compile-time, not run-time.
82006         Prefer strtol to strtoll if both work.
82007         (main): Remove; it was not that useful and was a pain to maintain.
82008
82009         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
82010
82011 2001-08-31  Jim Meyering  <meyering@lucent.com>
82012
82013         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
82014         Use an initial, malloc'd, buffer of length 128 rather than
82015         a statically allocated one of length 1024.
82016
82017 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82018
82019         Simplify code, partly by assuming autoconf 2.52 semantics.
82020
82021         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
82022
82023         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
82024         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
82025         All uses removed.
82026         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
82027         Move AC_REQUIRE to next-to-top level, to avoid confusion.
82028         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
82029         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
82030         jm_AC_HEADER_INTTYPES_H.
82031         * m4/jm-macros.m4 (jm_MACROS): Likewise.
82032
82033         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
82034
82035         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
82036         Quote first arg of AC_DEFUN.
82037         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
82038         since they are needed to parse the include file even if we need
82039         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
82040         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
82041         but with opposite signedness.
82042
82043 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82044
82045         Merge 'exclude' changes from tar 1.13.22.
82046         This fixes one or two unlikely storage allocation overflow bugs,
82047         but doesn't change user-visible behavior otherwise.
82048
82049 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82050
82051         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
82052         (jm_PREREQ_EXCLUDE): New macro.
82053
82054 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82055
82056         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
82057         tm to be declared.
82058
82059 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82060
82061         * lib/hash.c: Remove '2001' from copyright notice.
82062
82063 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82064
82065         * lib/full-write.h: New file.
82066         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
82067         * lib/full-write.c: Correct credits, as cccp.c no longer
82068         exists and anyway it was so heavily changed from the old cccp
82069         code as to be unrecognizable.  Include full-write.h.
82070         (full_write): Return size_t, with short writes meaning failure.
82071         All callers changed.  This fixes a bug with large buffers
82072         on 64-bit hosts.
82073         * lib/utime.c: Include full-write.h.
82074
82075 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82076
82077         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
82078         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
82079         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
82080         Include if available.
82081         (<xalloc.h>): Include
82082         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
82083         (verify): New macro.  Use it to verify that EXCLUDE macros do not
82084         collide with FNM macros.
82085         (struct patopts): New struct.
82086         (struct exclude): Use it, as exclude patterns now come with options.
82087         (new_exclude): Support above changes.
82088         (new_exclude, add_exclude_file):
82089         Initial size must now be a power of two to simplify overflow checking.
82090         (free_exclude, fnmatch_no_wildcards): New function.
82091         (excluded_filename): No longer requires options arg, as the options
82092         are determined by add_exclude.  Now returns bool, not int.
82093         (excluded_filename, add_exclude):
82094         Add support for the fancy new exclusion options.
82095         (add_exclude, add_exclude_file): Now takes int options arg.
82096         Check for arithmetic overflow when computing sizes.
82097         (add_exclude_file): xrealloc might modify errno, so don't
82098         realloc until after errno might be used.
82099
82100         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
82101         New macros.
82102         (free_exclude): New decl.
82103         (add_exclude, add_exclude_file): Now takes int options arg.
82104         (excluded_filename): No longer requires options arg, as the options
82105         are determined by add_exclude.  Now returns bool, not int.
82106
82107 2001-08-30  Paul Eggert  <eggert@twinsun.com>
82108
82109         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
82110
82111 2001-08-27  Jim Meyering  <meyering@lucent.com>
82112
82113         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
82114
82115         * lib/version-etc.c (N_): Remove definition.
82116         Revert most of last change.
82117         Instead, simply don't mark the `Copyright...' string for translation.
82118         Based on advice from Paul Eggert.
82119
82120         * lib/strtoxmax.c: Tweak comment.
82121
82122 2001-08-26  Jim Meyering  <meyering@lucent.com>
82123
82124         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
82125
82126         * m4/xstrtoimax.m4: New file.
82127         * m4/xstrtoumax.m4: Add comments explaining why we
82128         AC_REPLACE_FUNCS(strtol).
82129
82130 2001-08-26  Jim Meyering  <meyering@lucent.com>
82131
82132         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
82133         of copyright with `%s' so translators don't get an untranslated
82134         message in 2002.
82135         (COPYRIGHT_YEAR): Define.
82136         (version_etc): Use fprintf rather than fputs.
82137         Suggestion from Ulrich Drepper.
82138
82139         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
82140
82141         * lib/strtoll.c: New file, from GNU libc.
82142         * lib/xstrtoimax.c: New file.
82143
82144         * lib/xstrtol.h: Add xstrtoimax.
82145         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
82146         * lib/strtoimax.c: New file.  Likewise, but first define
82147         STRTOUXMAX_SIGNED.
82148
82149         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
82150         ...
82151         * lib/strtoxmax.c: ... then renamed to this.
82152
82153 2001-08-18  Paul Eggert  <eggert@twinsun.com>
82154
82155         * m4/inttypes.m4: Add AC_PREREQ(2.13).
82156         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
82157         (jm_AC_TYPE_INTMAX_T): New macro.
82158         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
82159
82160         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
82161
82162         * m4/longlong.m4: Renamed from ulonglong.m4.
82163         * m4/inttypes.m4: Renamed from inttypes_h.m4.
82164         * m4/uintmax_t.m4: Removed.
82165
82166 2001-08-13  Paul Eggert  <eggert@twinsun.com>
82167
82168         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
82169         Port to Solaris 8, where 'sed' requires a space after the 'r'
82170         command, and where sh dislikes "$/".  Clean up the spacing a bit.
82171         Redirect output to $tmp just once.
82172
82173 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
82174
82175         * lib/addext.c (<errno.h>): Include.
82176         (errno): Declare if not defined.
82177         (addext): Work correctly when pathconf returns -1 and leaves
82178         errno alone because there is no limit.  Also, work even if
82179         pathconf returns a value greater than SIZE_MAX.
82180
82181 2001-08-12  Jim Meyering  <meyering@lucent.com>
82182
82183         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
82184         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
82185         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
82186         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
82187         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
82188         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
82189         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
82190         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
82191         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
82192         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
82193         utime.m4, utimes.m4, xstrtoumax.m4:
82194         Quote the first argument in each use of AC_DEFUN.
82195
82196 2001-08-12  Jim Meyering  <meyering@lucent.com>
82197
82198         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
82199         Simply `return getcwd (NULL, 0);'.
82200         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
82201         Use 1300 as initial value for length, not PATH_MAX.
82202
82203         * lib/pathmax.h: Clean up cpp syntax.
82204
82205 2001-08-12  Jim Meyering  <meyering@lucent.com>
82206
82207         * lib/gettimeofday.c: New file.
82208         * lib/gtod.h: New file.
82209         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
82210
82211 2001-08-05  Jim Meyering  <meyering@lucent.com>
82212
82213         * m4/jm-macros.m4: Require autoconf-2.52.
82214
82215 2001-08-04  Jim Meyering  <meyering@lucent.com>
82216
82217         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
82218         stmt, to get in sync with glibc.
82219
82220 2001-08-03  Paul Eggert  <eggert@twinsun.com>
82221
82222         The following changes are from gettext 0.10.39 as maintained by
82223         Bruno Haible.
82224
82225         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
82226         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
82227         with inverted sense.  All uses changed.
82228
82229         * lib/mbswidth.c: Don't include <limits.h>.
82230         Include <stdlib.h> and <string.h> unconditionally.
82231         (iswcntrl, mbsinit, ISCNTRL): New macros.
82232         (mbsnwidth): Use K&R style function declarations.
82233         Don't bother checking for MB_LEN_MAX == 1, since the compiler
82234         can optimize it when MB_CUR_MAX == 1.
82235         The width of control characters is zero, not 1.
82236
82237 2001-08-03  Paul Eggert  <eggert@twinsun.com>
82238
82239         The following changes are from gettext 0.10.39 as maintained by
82240         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
82241
82242         * m4/codeset.m4: Upgrade to serial AM1.
82243         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
82244         all uses changed.  Quote first arg of AC_DEFUN.
82245         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
82246
82247         * m4/iconv.m4: Upgrade to serial AM2.
82248         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
82249         Add --with-libconv-prefix.
82250         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
82251         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
82252         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
82253         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
82254         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
82255
82256         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
82257         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
82258         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
82259         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
82260         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
82261         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
82262         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
82263         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
82264         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
82265
82266         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
82267         string.h any more.
82268
82269         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
82270         not the default value.
82271
82272         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
82273         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
82274         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
82275         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
82276         Also check for iswcntrl, used for wcwidth fallback.
82277         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
82278         to Autoconf 2.13.
82279
82280 2001-08-03  Jim Meyering  <meyering@lucent.com>
82281
82282         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
82283         as it was in the original.  Reported by Paul Eggert.
82284
82285 2001-07-16  Jim Meyering  <meyering@lucent.com>
82286
82287         * m4/gettimeofday.m4: New file.
82288         Prompted by a report from Bernhard Baehr.
82289
82290 2001-07-15  Jim Meyering  <meyering@lucent.com>
82291
82292         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
82293         stuff. Now it's in ../Makefile.cfg.
82294
82295 2001-07-15  Jim Meyering  <meyering@lucent.com>
82296
82297         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
82298         (BUILT_SOURCES): Add unlocked-io.h.
82299         (io_functions): Define.
82300         (unlocked-io.h): New rule.
82301         (DISTCLEANFILES): Add unlocked-io.h.
82302         (all-local): Depend on unlocked-io.h, to ensure it is created.
82303
82304         * lib/unlocked-io.hin: New file
82305
82306         * lib/regex.c: Update from glibc.
82307
82308 2001-07-05  Jim Meyering  <meyering@lucent.com>
82309
82310         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
82311         recommendation.
82312         (libfetish_a_SOURCES): Put all .h files here instead.
82313         Remove a thus-exposed (better checks in automake) duplicate and
82314         two unnecessary .h files.
82315
82316 2001-07-04  Jim Meyering  <meyering@lucent.com>
82317
82318         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
82319         that generates jm-glibc-io.m4 so that it doesn't trigger any make
82320         distcheck failure.
82321
82322 2001-07-02  Jim Meyering  <meyering@lucent.com>
82323
82324         The following changes were prompted by suggestions from Bruno Haible.
82325
82326         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
82327         is now generated.
82328         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
82329         definition of EXTRA_DIST.
82330         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
82331         ensure that the generated file is created/updated whenever the list
82332         of $(unlocked_functions) is changed.
82333         (jm-glibc-io.m4): New rule.
82334         (unlocked-io.h): New rule -- currently unused.
82335
82336 2001-06-24  Jim Meyering  <meyering@lucent.com>
82337
82338         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
82339         unmatched right bracket, rather than kludging it with an extra,
82340         falsely-matching quote in a comment.  Patch by Akim Demaille.
82341
82342 2001-06-11  Jim Meyering  <meyering@lucent.com>
82343
82344         * lib/regex.c: Update from GNU libc.
82345
82346 2001-05-27  Jim Meyering  <meyering@lucent.com>
82347
82348         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
82349         Check for ut_type in struct utmp.
82350
82351 2001-05-27  Jim Meyering  <meyering@lucent.com>
82352
82353         * lib/readutmp.h (UT_TYPE): Define.
82354
82355 2001-05-24  Jim Meyering  <meyering@lucent.com>
82356
82357         * lib/argmatch.c: Include "quote.h".
82358         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
82359         quote function.  Reported by Göran Uddeborg.
82360
82361 2001-05-22  Jim Meyering  <meyering@lucent.com>
82362
82363         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
82364         now that we use the package-supplied version unconditionally.
82365         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
82366
82367 2001-05-21  Jim Meyering  <meyering@lucent.com>
82368
82369         * m4/regex.m4: Change a couple backticks to single quotes to avoid
82370         shell syntax errors.
82371
82372 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
82373
82374         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
82375
82376 2001-05-20  Paul Eggert  <eggert@twinsun.com>
82377
82378         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
82379         Don't bother to check library strftime, since
82380         we'll be using our own my_strftime function anyway.
82381         Define my_strftime instead of strftime.
82382
82383 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
82384
82385         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
82386         which is not yet declared.
82387
82388 2001-05-15  Jim Meyering  <meyering@lucent.com>
82389
82390         * m4/regex.m4: Use proper quoting so brackets appear in the test
82391         program.
82392         Reported by, and with help from, Bruno Haible.
82393
82394 2001-05-13  Jim Meyering  <meyering@lucent.com>
82395
82396         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
82397         undefined.
82398
82399 2001-05-11  Paul Eggert  <eggert@twinsun.com>
82400
82401         dirname code cleanup.  base_name now behaves more compatibly
82402         with POSIX basename when given file names that have trailing
82403         slashes, and similarly for dir_name.  Add new primitives
82404         base_len and dir_len.  Put the directory-name-related decls
82405         into dirname.h.
82406
82407         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
82408         * lib/backupfile.c (base_name): Likewise.
82409         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
82410         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
82411         * lib/makepath.c (strip_trailing_slashes): Likewise.
82412         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
82413         ISSLASH): Likewise.
82414         * lib/rename.c (strip_trailing_slashes): Likewise.
82415         * lib/same.c (base_name): Likewise.
82416         * lib/stripslash.c (ISSLASH): Likewise.
82417
82418         * lib/addext.c: Include <dirname.h> after size_t is defined.
82419         * lib/backupfile.c: Likewise.
82420
82421         * lib/addext.c (addext): Use base_len to trim redundant
82422         trailing slashes instead of doing it ourselves.
82423         But do not trim the last slash if it is not redundant.
82424
82425         * lib/backupfile.c (find_backup_file_name,
82426         max_backup_version): Use base_len instead of rolling it ourselves.
82427         Handle the case of "" and (on DOS) "C:" correctly.
82428
82429         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
82430         needed. Include <string.h>, <dirname.h>.
82431         (base_name): Allow file names ending in slashes, other than names
82432         that are all slashes.  In this case, return the basename followed
82433         by the slashes.  This is more general, and can be used in places
82434         where the original base_name purposely had an assertion failure.
82435         (base_len): New function.
82436
82437         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
82438         Do not include <assert.h>; no longer needed.
82439         Include xalloc.h.
82440         (memrchr): Remove decl.
82441         (dir_name_r): Remove.
82442         (dir_len): Renamed from dirlen.  All callers changed.
82443         Rewrite in terms of base_name, for simplicity and consistency.
82444         (dir_name): Never return NULL.  All callers changed.
82445         Do not include <stdlib.h> in test program; no longer needed.
82446         return 0; is fine for test program.
82447
82448         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
82449         New macros.
82450         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
82451
82452         * lib/path-concat.c (path_concat): Use base_len to compute
82453         base length, not strlen; this means we cannot rely on memcpy
82454         to null-terminate.
82455
82456         * lib/same.c (STREQ): Remove.
82457         (same_name): Handle the case where the basename ends in trailing '/'.
82458
82459         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
82460         a slash was stripped.  Do not strip the last slash after a
82461         file system prefix.
82462
82463 2001-05-11  Paul Eggert  <eggert@twinsun.com>
82464
82465         * lib/Makefile.am (libfetish_a_SOURCES):
82466         Add strftime.c, since we now compile it on all hosts.
82467
82468         * lib/strftime.c (my_strftime):
82469         Define to nstrftime if emacs, but only if my_strftime is not defined.
82470         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
82471         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
82472         Add one more extra argument: a nanoseconds value.
82473         All uses changed.
82474         (ns): New macro.
82475         (my_strftime function): Add %N format.
82476         (emacs_strftimeu): Renamed from emacs_strftime,
82477         with extra ut argument.
82478
82479 2001-05-09  Paul Eggert  <eggert@twinsun.com>
82480
82481         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
82482
82483 2001-04-21  Jim Meyering  <meyering@lucent.com>
82484
82485         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
82486         doesn't interfere.
82487
82488 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
82489
82490         * m4/ftruncate.m4: Check for chsize.
82491         Link with ftruncate.o unconditionally if ftruncate is missing.
82492         This was required when cross-compiling to i586-mingw32msvc.
82493
82494 2001-04-08  Jim Meyering  <meyering@lucent.com>
82495
82496         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
82497         recomputed; that's necessary when the offset spans a DST transition.
82498         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
82499
82500 2001-04-02  Jim Meyering  <meyering@lucent.com>
82501
82502         * lib/regex.h, regex.c: Update from GNU libc.
82503
82504 2001-03-24  Jim Meyering  <meyering@lucent.com>
82505
82506         * m4/jm-macros.m4: Require autoconf-2.49d.
82507
82508 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
82509
82510         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
82511
82512 2001-03-19  Paul Eggert  <eggert@twinsun.com>
82513
82514         * lib/version-etc.c (version_etc_copyright): Update to 2001.
82515
82516 2001-03-17  Jim Meyering  <meyering@lucent.com>
82517
82518         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
82519         now that the version in autoconf is equivalent.
82520         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
82521
82522         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
82523         Suggestion from Akim Demaille.
82524
82525         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
82526         (jm_PREREQ_TEMPNAME): New function.
82527
82528 2001-03-16  Paul Eggert  <eggert@twinsun.com>
82529
82530         * lib/tempname.c (uint64_t): Define to uintmax_t if
82531         not defined, and if UINT64_MAX is not defined.
82532         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
82533         Reported by John David Anglin.
82534
82535 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
82536
82537         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
82538         resolve alias if codeset is empty.
82539         * lib/config.charset (BeOS): Use wildcard syntax.
82540
82541 2001-03-13  Jim Meyering  <meyering@lucent.com>
82542
82543         * lib/path-concat.c (path_concat)
82544         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
82545         concatenating e.g., `C:' and `foo'.
82546         From Bruno Haible.
82547
82548 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
82549
82550         * lib/localcharset.c (locale_charset): Don't use
82551         setlocale(LC_CTYPE,NULL). Don't return NULL.
82552         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
82553
82554 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
82555
82556         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
82557         support for DOS/DJGPP.
82558
82559 2001-03-01  Paul Eggert  <eggert@twinsun.com>
82560
82561         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
82562         lacks mkstemp.  Compile our own tempname.c if we compile our own
82563         mkstemp.c, as mkstemp relies on tempname.
82564
82565 2001-03-01  Jim Meyering  <meyering@lucent.com>
82566
82567         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
82568         AH_VERBATIM really does output its argument verbatim.
82569
82570 2001-02-28  Paul Eggert  <eggert@twinsun.com>
82571
82572         * lib/Makefile.am (libfetish_a_SOURCES):
82573         Add dup-safer.c, fopen-safer.c.
82574         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
82575
82576         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
82577         * lib/unistd-safer.h: New files.
82578
82579 2001-02-25  Paul Eggert  <eggert@twinsun.com>
82580
82581         The mkstemp replacement is taken from glibc 2.2.2, with some
82582         portability fixes for use outside glibc, as follows:
82583
82584         * lib/tempname.c (struct_stat64): New macro.
82585         (direxists, __gen_tempname): Use it.
82586         This avoids a portability problem with Solaris 8.
82587
82588         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
82589         (<stddef.h>, <stdint.h>, <string.h>):
82590         Include only if STDC_HEADERS || _LIBC.
82591         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
82592         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
82593         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
82594         (__set_errno): Define this macro if <errno.h> doesn't.
82595         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
82596         Define these macros if <stdio.h> doesn't.
82597         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
82598         Define these macros if <sys/stat.h>
82599         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
82600         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
82601         __xstat64): Define if not _LIBC.
82602         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
82603         (__gen_tempname): Invoke gettimeofday only if
82604         HAVE_GETTIMEOFDAY || _LIBC;
82605         otherwise, fall back on plain "time".
82606         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
82607
82608         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
82609
82610         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
82611
82612 2001-02-18  Paul Eggert  <eggert@twinsun.com>
82613
82614         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
82615
82616 2001-02-17  Paul Eggert  <eggert@twinsun.com>
82617
82618         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
82619         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
82620         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
82621         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
82622
82623 2001-02-17  Paul Eggert  <eggert@twinsun.com>
82624
82625         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
82626         Remove workaround macros for hosts that have mbrtowc but not
82627         mbstate_t, as we now insist on proper declarations for both
82628         before using mbrtowc.
82629
82630 2001-02-17  Jim Meyering  <meyering@lucent.com>
82631
82632         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
82633         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
82634         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
82635         UnixWare 7.1.1.
82636
82637         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
82638         rather than AC_CACHE_VAL.
82639
82640 2001-02-17  Jim Meyering  <meyering@lucent.com>
82641
82642         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
82643         around included file name.
82644
82645         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
82646
82647         * lib/strftime.c: Update from GNU libc (the only changes were to
82648         comments).
82649
82650 2001-02-17  Jim Meyering  <meyering@lucent.com>
82651
82652         * lib/regex.c: Update from libc.
82653
82654 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
82655
82656         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
82657         clash.
82658
82659 2001-02-16  Paul Eggert  <eggert@twinsun.com>
82660
82661         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
82662         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
82663         Reported by Mark Hounschell via Paul Eggert.
82664
82665 2001-02-07  Jim Meyering  <meyering@lucent.com>
82666
82667         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
82668
82669 2001-02-05  Jim Meyering  <meyering@lucent.com>
82670
82671         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
82672         it includes the patch required for `large file' support with at least
82673         HP-UX's 10.20 /bin/cc.
82674
82675 2001-02-03  Jim Meyering  <meyering@lucent.com>
82676
82677         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
82678         AS_IF, now that it works once again (mysteriously).
82679         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
82680
82681 2001-01-30  Jim Meyering  <meyering@lucent.com>
82682
82683         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
82684         * m4/chown.m4: Rename conftestchown to conftest.chown.
82685         * m4/rename.m4: s/conftestdir/conftest.d1/ and
82686         s/conftestdir2/conftest.d2/.
82687         * m4/utimes.m4: s/conftestdata/conftest.data/
82688         Inspired by Pavel Roskin's change in autoconf.
82689
82690 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
82691
82692         * lib/config.charset: Update for FreeBSD 4.2.
82693
82694 2001-01-27  Jim Meyering  <meyering@lucent.com>
82695
82696         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
82697         a use of AS_IF.
82698         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
82699
82700 2001-01-26  Jim Meyering  <meyering@lucent.com>
82701
82702         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
82703         quotearg.c includes it.
82704
82705 2001-01-26  Jim Meyering  <meyering@lucent.com>
82706
82707         * lib/quotearg.c: Include stddef.h.
82708         * lib/quote.c: Include stddef.h.
82709         Reported by Axel Kittenberger.
82710
82711         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
82712         line in double quotes so that it evokes a better diagnostic.
82713         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
82714         Reported by Axel Kittenberger.
82715
82716 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
82717
82718         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
82719         as if it was a `charset'.
82720
82721 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
82722
82723         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
82724         has const.
82725
82726 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
82727
82728         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
82729         to avoid a warning.  Add back 'const' to inptr.
82730
82731 2001-01-20  Jim Meyering  <meyering@lucent.com>
82732
82733         Be sure that headers are checked before used in code compiled
82734         for the type checks.
82735         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
82736         In place of that, invoke jm_CHECK_ALL_TYPES.
82737         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
82738         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
82739         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
82740         The check for ssize_t was mistakenly run before the test for unistd.h.
82741
82742         The configure-time check for stdbool.h was missing.
82743         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
82744         (jm_PREREQ_HASH): New function.
82745
82746 2001-01-17  Jim Meyering  <meyering@lucent.com>
82747
82748         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
82749         for autoconf-2.49c.
82750         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
82751
82752 2001-01-16  Jim Meyering  <meyering@lucent.com>
82753
82754         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
82755         From Bruno Haible.
82756
82757 2001-01-14  Jim Meyering  <meyering@lucent.com>
82758
82759         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
82760         foo and bar.  Create conftestdir/ in the script, not in the C code.
82761         Remove directories in the script, not in the C code.
82762         Remove conftestdir{,2} before trying to create the directory.
82763         Make the entire configure script fail if the mkdir fails.
82764
82765 2001-01-14  Jim Meyering  <meyering@lucent.com>
82766
82767         * lib/rename.c: New file.  From Volker Borchert.
82768         Include stdlib.h, string.h or strings.h, and xalloc.h.
82769         Use strip_trailing_slashes rather than open-coding it.
82770
82771 2001-01-03  Paul Eggert  <eggert@twinsun.com>
82772
82773         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
82774
82775 2001-01-03  Jim Meyering  <meyering@lucent.com>
82776
82777         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
82778         of local `inptr' to avoid warning with some system declarations of
82779         iconv.
82780
82781 2001-01-02  Volker Borchert  <bt@teknon.de>
82782
82783         * m4/rename.m4: New file.
82784         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
82785
82786 2001-01-01  Jim Meyering  <meyering@lucent.com>
82787
82788         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
82789         even on systems with utmpx.h.  It's necessary for the declaration of
82790         utmp's ut_user member.  Reported by Andreas Jaeger.
82791
82792         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
82793         available. They are required for the declarations of getgrgid and
82794         getpwuid resp.
82795         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
82796         Reported by Andreas Jaeger.
82797
82798 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
82799
82800         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
82801         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
82802         so `make install' also works in VPATH builds.
82803
82804 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
82805
82806         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
82807         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
82808         can be used in subdirectories.
82809
82810 2000-12-29  Paul Eggert  <eggert@twinsun.com>
82811
82812         * lib/modechange.c: Do not assume that mode_t uses the
82813         traditional octal encoding.  E.g. "chmod 1 FOO" should set
82814         the other-execute bit of FOO even if S_IXOTH != 1.
82815
82816         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
82817         WOTH, XOTH, ALLM): New macros.
82818         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
82819          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
82820         Use them.
82821         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
82822         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
82823         (mode_compile):
82824         No need to use uintmax_t; unsigned long is long enough.
82825         Don't bother to get suffix since we don't use it.
82826
82827 2000-12-26  Jim Meyering  <meyering@lucent.com>
82828
82829         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
82830         better with autoheader.
82831
82832 2000-12-24  Jim Meyering  <meyering@lucent.com>
82833
82834         * lib/hash.c (is_prime): Return explicit boolean values.
82835         (hash_get_first): Return NULL to appease Irix5.6's 89.
82836         Reported by Nelson Beebe.
82837
82838 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
82839
82840         * lib/localcharset.c (locale_charset): Add support for Win32.
82841
82842 2000-12-18  Paul Eggert  <eggert@twinsun.com>
82843
82844         * lib/physmem.h, lib/physmem.c: New files.
82845
82846         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
82847         (noinst_HEADERS): Add physmem.h.
82848
82849         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
82850         't' for compatibility with Solaris 8 sort.
82851
82852 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
82853
82854         * lib/config.charset: Add support for BeOS.
82855
82856 2000-12-17  Jim Meyering  <meyering@lucent.com>
82857
82858         * m4/dos.m4 (jm_AC_DOS): New file and macro.
82859         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
82860
82861 2000-12-16  Jim Meyering  <meyering@lucent.com>
82862
82863         This bug had a serious impact on chown: `chown N:M FILE' (for integer
82864         N and M) would have treated it like `chown N:N FILE'.
82865
82866         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
82867
82868 2000-12-16  Jim Meyering  <meyering@lucent.com>
82869
82870         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
82871         SHELLS_FILE to a file name that's useful on djgpp systems.
82872         Include stdlib.h.
82873         (ADDITIONAL_DEFAULT_SHELLS): Define.
82874         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
82875         Based mostly on a patch from Prashant TR.
82876
82877 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
82878
82879         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
82880         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
82881         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
82882
82883 2000-12-08  Andreas Schwab  <schwab@suse.de>
82884
82885         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
82886         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
82887
82888 2000-12-07  Jim Meyering  <meyering@lucent.com>
82889
82890         * lib/stripslash.c (ISSLASH): Define.
82891         (strip_trailing_slashes): Use ISSLASH rather than comparing against
82892         `/'.
82893         From Prashant TR.
82894
82895         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
82896         (dir_name_r): Declare this function as static.
82897         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
82898         manifest itself on a name containing a mix of slashes and
82899         backslashes.
82900         Make this function work with names starting with a DOS-style
82901         drive letter and colon prefix.
82902         (dir_name): Append `.' if necessary.
82903         Based mostly on patches from Prashant TR and Eli Zaretskii.
82904
82905         * lib/dirname.h (dir_name_r): Remove prototype.
82906
82907 2000-12-06  Paul Eggert  <eggert@twinsun.com>
82908
82909         * m4/off_t-format.m4: Remove this file.
82910         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
82911
82912 2000-12-06  Jim Meyering  <meyering@lucent.com>
82913
82914         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
82915         replacement strtoull, we may well need the replacement strtoul, too.
82916         Check for declarations of strtoul and strtoull.
82917         Check for strtol.  Mainly as a cue to cause automake to include
82918         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
82919         Check for limits.h -- strtol.c needs it.
82920
82921 2000-12-05  Jim Meyering  <meyering@lucent.com>
82922
82923         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
82924
82925 2000-12-04  Jim Meyering  <meyering@lucent.com>
82926
82927         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
82928         Also include memory.h, stdlib.h, unistd.h if appropriate.
82929         Reported by Andreas Jaeger (conflicting declaration of malloc).
82930
82931 2000-12-02  Jim Meyering  <meyering@lucent.com>
82932
82933         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
82934         * m4/jm-macros.m4 (jm_MACROS): require it.
82935
82936 2000-12-02  Jim Meyering  <meyering@lucent.com>
82937
82938         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
82939
82940 2000-12-01  Paul Eggert  <eggert@twinsun.com>
82941
82942         * lib/memrchr.c: Include <config.h> before any system include file.
82943
82944 2000-11-30  Jim Meyering  <meyering@lucent.com>
82945
82946         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
82947
82948 2000-11-30  Jim Meyering  <meyering@lucent.com>
82949
82950         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
82951
82952 2000-11-29  Paul Eggert  <eggert@twinsun.com>
82953
82954         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
82955
82956 2000-11-26  Jim Meyering  <meyering@lucent.com>
82957
82958         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
82959
82960 2000-11-22  Paul Eggert  <eggert@twinsun.com>
82961
82962         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
82963         size of (size_t) -1; it's not portable.
82964
82965 2000-11-17  Jim Meyering  <meyering@lucent.com>
82966
82967         * lib/strstr.c: Update from GNU libc.
82968
82969 2000-11-17  Akim Demaille  <akim@epita.fr>
82970
82971         * lib/obstack.h: Formatting changes.
82972         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
82973         prevent type checking.
82974         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
82975         cast the value to (void *): assigning a `foo *' to a `void *'
82976         variable is valid.
82977         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
82978
82979 2000-11-16  Jim Meyering  <meyering@lucent.com>
82980
82981         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
82982
82983 2000-11-11  Jim Meyering  <meyering@lucent.com>
82984
82985         * lib/error.c: Add a couple #includes, merging from GNU libc version.
82986
82987 2000-11-10  Jim Meyering  <meyering@lucent.com>
82988
82989         * lib/obstack.h: Update from GNU libc.
82990         * lib/obstack.c: Likewise.
82991
82992 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
82993
82994         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
82995
82996 2000-11-06  Paul Eggert  <eggert@twinsun.com>
82997
82998         * lib/getusershell.c (setusershell): Use rewind rather than
82999         fseek/fseeko, to avoid configuration hassles with fseeko.
83000         Don't bother opening SHELLS_FILE if shellstream is NULL;
83001         it's not necessary.
83002
83003 2000-11-05  Jim Meyering  <meyering@lucent.com>
83004
83005         * lib/makepath.h (make_dir): Declare.
83006         * lib/makepath.c (make_dir): Remove `static' attribute.
83007         Tweak a comment.
83008
83009 2000-11-04  Jim Meyering  <meyering@lucent.com>
83010
83011         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
83012
83013 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
83014
83015         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
83016         last one in a bucket, advance to the next bucket.
83017
83018 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
83019
83020         * lib/fnmatch.c: Do not comment out all the code if we are using
83021         the GNU C library, because in some cases we are replacing buggy
83022         code in the GNU C library itself.
83023
83024 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
83025
83026         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
83027         (regex_compile): Catch bogus \(\1\).
83028
83029 2000-10-30  Paul Eggert  <eggert@twinsun.com>
83030
83031         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
83032         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
83033         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
83034
83035 2000-10-30  Paul Eggert  <eggert@twinsun.com>
83036
83037         * lib/error.h, getline.h, modechange.h:
83038         Remove "2000" from Copyright line, as the file hasn't been
83039         changed this year other than in the copyright notice.
83040
83041         * lib/xalloc.h: Add "2000" to Copyright line, as this file
83042         was changed this year.
83043
83044 2000-10-29  Jim Meyering  <meyering@lucent.com>
83045
83046         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
83047         renaming.
83048         * m4/ls-mntd-fs.m4: Likewise
83049
83050 2000-10-29  Jim Meyering  <meyering@lucent.com>
83051
83052         * lib/xstat.in: Fix grammar in comment.
83053
83054 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
83055
83056         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
83057         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
83058         doesn't define __restrict_arr.
83059
83060 2000-10-28  Jim Meyering  <meyering@lucent.com>
83061
83062         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
83063         (jm_PREREQ_MEMCHR): New function.
83064
83065 2000-10-28  Jim Meyering  <meyering@lucent.com>
83066
83067         * lib/memchr.c: Update from libc.
83068         Adjust for portability:
83069         [HAVE_STDLIB_H]: Include stdlib.h.
83070         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
83071         Undef __memchr, too.
83072         [!weak_alias]: Define __memchr to memchr.
83073
83074         * lib/regex.c: Update from libc.
83075         * lib/regex.h: Likewise.
83076         * lib/getopt1.c: Likewise.
83077         * lib/memcmp.c: Likewise.
83078
83079         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
83080         Avoid using fseek, when possible -- it's broken by design.
83081         Patch by Ulrich Drepper.
83082
83083 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
83084
83085         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
83086         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
83087         Giving in to popular pressure to shut up the compiler with casts.
83088
83089 2000-10-26  Jim Meyering  <meyering@lucent.com>
83090
83091         * lib/strftime.c: Update from libc.
83092
83093 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
83094
83095         * regex.c: More `unsigned char' -> `re_char' changes.
83096         Also change several `int' into `re_wchar_t'.
83097         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
83098         (PUSH_FAILURE_POINTER): Don't cast any more.
83099         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
83100         We want GCC to complain, since this piece of code makes
83101         re_match non-reentrant, which *should* be fixed.
83102         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
83103         (EXTEND_BUFFER): Use RETALLOC.
83104         (SET_LIST_BIT): Don't cast.
83105         (re_wchar_t): New type.
83106         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
83107         that those two functions will always properly return.
83108         (IMMEDIATE_QUIT_CHECK): Cast to void.
83109         (analyse_first): Use recursion rather than an explicit stack.
83110         (re_compile_fastmap): Can't fail anymore.
83111         (re_search_2): Don't check re_compile_fastmap for failure.
83112         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
83113         Now also sets the new value (passed in a new argument).
83114         (re_match_2_internal): Use it.
83115         Also, use a new var `reg' of type size_t when looping through regs
83116         rather than reuse the inappropriate `mcnt'.
83117
83118 2000-10-25  Jim Meyering  <meyering@lucent.com>
83119
83120         * lib/obstack.c: Update from libc.
83121
83122 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
83123
83124         * regex.c (regex_compile): Change the way of handling a range from
83125         a char less than 256 to a char not less than 256.
83126
83127 2000-10-24  Andrew Innes  <andrewi@gnu.org>
83128
83129         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
83130         NT-Emacs only.
83131         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
83132         so that re_search functions only quit when callers expect them to.
83133
83134 2000-10-23  Jim Meyering  <meyering@lucent.com>
83135
83136         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
83137         wrong.  That set_locale call must not have any side effects.
83138         From Paul Eggert.
83139
83140 2000-10-22  Jim Meyering  <meyering@lucent.com>
83141
83142         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
83143         [CYCLIC]: Remove now-unused definition.
83144
83145         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
83146         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
83147         Suggestion from Ulrich Drepper.
83148
83149 2000-10-21  Jim Meyering  <meyering@lucent.com>
83150
83151         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
83152         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
83153         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
83154
83155 2000-10-21  Jim Meyering  <meyering@lucent.com>
83156
83157         * lib/dirname.c (memrchr): Declare if necessary.
83158         (dir_name): Remove the restriction that there be no
83159         trailing slashes.  Now, this code skips past them, effectively
83160         ignoring them.
83161         [TEST_DIRNAME] (main): New unit tests.
83162
83163         * lib/memrchr.c: New file from GNU libc.
83164         Undef __memrchr, too.
83165         [!weak_alias]: Define __memrchr to memrchr.
83166         Guard weak_alias use with `#ifdef weak_alias'.
83167
83168 2000-10-21  Jim Meyering  <meyering@lucent.com>
83169
83170         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
83171         (dir_name): Use dir_name_r.
83172         * lib/dirname.h (dir_name_r): Declare it.
83173
83174 2000-10-17  Jim Meyering  <meyering@lucent.com>
83175
83176         * lib/quote.h (PARAMS): Define and use.
83177         Reported by Akim Demaille.
83178
83179         * lib/getopt.c: Update from libc.
83180
83181 2000-10-16  Jim Meyering  <meyering@lucent.com>
83182
83183         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
83184         setlocale.
83185         From Jan Fedak.
83186
83187 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
83188
83189         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
83190
83191 2000-09-25  Jim Meyering  <meyering@lucent.com>
83192
83193         * lib/md5.h (rol): Define (from GnuPG).
83194
83195         * lib/sha.c: Give credit (GnuPG) where due.
83196         (M): Use rol rather than open-coding it.
83197         Add a FIXME comment.
83198
83199 2000-09-21  Jim Meyering  <meyering@lucent.com>
83200
83201         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
83202         Reported by Michael Stone.
83203
83204 2000-09-20  Jim Meyering  <meyering@lucent.com>
83205
83206         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
83207         (noinst_HEADERS): Add sha.h.
83208         Based on code from Scott G. Miller and from GnuPG.
83209
83210 2000-09-18  Jim Meyering  <meyering@lucent.com>
83211
83212         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
83213         LIBS. Otherwise, everyone ends up linking with -lelf for some
83214         configurations.
83215         Reported by Mike Stone.
83216
83217 2000-09-15  Jim Meyering  <meyering@lucent.com>
83218
83219         * lib/regex.c: Update from libc.
83220
83221 2000-09-10  Jim Meyering  <meyering@lucent.com>
83222
83223         * lib/getopt.c (_getopt_internal): Update from glibc.
83224
83225 2000-09-09  Jim Meyering  <meyering@lucent.com>
83226
83227         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
83228         think it should be used as a general replacement for isascii.
83229         * lib/fnmatch.c: Likewise.
83230         * lib/mbswidth.c: Likewise
83231         * lib/regex.c: Likewise.
83232
83233         Don't use atoi.
83234         * lib/userspec.c: Include sys/param.h and limits.h.
83235         Include xstrtol.h.
83236         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
83237         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
83238         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
83239         UID, GID.  Check range.
83240
83241 2000-09-06  Jim Meyering  <meyering@lucent.com>
83242
83243         * lib/getopt.c (_getopt_internal): Update from glibc.
83244
83245 2000-08-30  Jim Meyering  <meyering@lucent.com>
83246
83247         * lib/strftime.c: Merge in changes from GNU libc.
83248
83249 2000-08-26  Jim Meyering  <meyering@lucent.com>
83250
83251         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
83252         * m4/fpending.m4: New file.
83253
83254 2000-08-26  Jim Meyering  <meyering@lucent.com>
83255
83256         * lib/closeout.c: Include "__fpending.h".
83257         (close_stdout_status): Return right away if there's nothing to flush.
83258
83259         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
83260         * lib/__fpending.c: New file.
83261         * lib/__fpending.h: New file.
83262
83263 2000-08-20  Jim Meyering  <meyering@lucent.com>
83264
83265         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
83266         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
83267         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
83268
83269 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
83270
83271         Improve fileutils installation on systems where running
83272         programs (like install) can't be unlinked.
83273         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
83274         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
83275
83276 2000-08-07  Paul Eggert  <eggert@twinsun.com>
83277
83278         Standardize on "memory exhausted" instead of "Memory exhausted"
83279         or "virtual memory exhausted".
83280         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
83281         "virtual memory exhausted".
83282         * lib/same.c (same_name): Invoke xalloc_die instead of printing
83283         our own message.
83284         * lib/userspec.c (parse_user_spec): Likewise.
83285         * lib/bumpalloc.h: comment fix
83286         * lib/same.c, userspec.c: Include xalloc.h.
83287
83288         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
83289         not char *const and pointing to a constant array.
83290         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
83291         (xrealloc): Comment fix.
83292
83293         * lib/userspec.c (parse_user_spec):
83294         Don't translate a message until just before returning,
83295         to avoid unnecessary translation.
83296
83297 2000-08-07  Jim Meyering  <meyering@lucent.com>
83298
83299         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
83300         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
83301         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
83302         getgroups.c, gethostname.c, getopt.h, group-member.c,
83303         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
83304         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
83305         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
83306         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
83307         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
83308         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
83309         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
83310         yesno.c: Back out Copyright date changes for each file with no change
83311         this year.  This eases coordination with other programs using the same
83312         source code modules.  From Paul Eggert.
83313
83314 2000-08-06  Paul Eggert  <eggert@twinsun.com>
83315
83316         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
83317         not char, for compatibility with glibc 2.1.3 strftime.c.
83318
83319 2000-08-03  Greg McGary  <greg@mcgary.org>
83320
83321         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
83322         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
83323         (EXTEND_BUFFER): Use them.
83324
83325 2000-08-01  Jim Meyering  <meyering@lucent.com>
83326
83327         * lib/dirname.c (ISSLASH): Define.
83328         (BACKSLASH_IS_PATH_SEPARATOR): Define.
83329         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
83330         both `\' and `/' may be use as path separators.
83331         Based on a patch from Prashant TR.
83332
83333 2000-07-31  Paul Eggert  <eggert@twinsun.com>
83334
83335         * lib/quotearg.c (quotearg_n_options): Don't make the initial
83336         slot vector a constant, since it might get modified.
83337
83338 2000-07-31  Jim Meyering  <meyering@lucent.com>
83339
83340         * lib/xmalloc.c: Use `virtual memory exhausted', not
83341         `Memory exhausted'.
83342         * lib/obstack.c (print_and_abort): Likewise.
83343
83344 2000-07-30  Paul Eggert  <eggert@twinsun.com>
83345
83346         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
83347         buffer, so that the caller can always quote one small
83348         component of a "memory exhausted" message in slot 0.
83349         From a suggestion by Jim Meyering.
83350
83351 2000-07-30  Jim Meyering  <meyering@lucent.com>
83352
83353         * lib/makepath.c (make_path): Quote the other instance, too.
83354
83355         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
83356         (STATIC_BUF_SIZE): Define.
83357         (quotearg_n_options): Use only statically allocated storage when
83358         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
83359         than STATIC_BUF_SIZE.
83360
83361 2000-07-29  Jim Meyering  <meyering@lucent.com>
83362
83363         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
83364         * lib/dirname.c (dir_name): Likewise.
83365
83366         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
83367         `/'.
83368
83369         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
83370         (dir_name): Assert that there are no trailing slashes.
83371
83372 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
83373
83374         * lib/mbswidth.h (mbswidth): Add a flags argument.
83375         (mbswidth): New declaration.
83376         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
83377         * lib/mbswidth.c (mbswidth): Add a flags argument.
83378         (mbsnwidth): New function.
83379
83380 2000-07-24  Jim Meyering  <meyering@lucent.com>
83381
83382         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
83383
83384 2000-07-23  Paul Eggert  <eggert@twinsun.com>
83385
83386         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
83387
83388 2000-07-23  Paul Eggert  <eggert@twinsun.com>
83389
83390         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
83391         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
83392         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
83393         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
83394         invoke multibyte primitives.
83395
83396 2000-07-23  Paul Eggert  <eggert@twinsun.com>
83397
83398         * lib/quotearg.c:
83399         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
83400         so that mbstate_t is always defined.
83401
83402         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
83403         be 1 in at least one GCC installation, and this configuration
83404         error is likely to be common.  Ignoring MB_LEN_MAX hurts
83405         performance on hosts that have mbrtowc but have only unibyte
83406         locales, but I assume these hosts are rare.
83407
83408 2000-07-23  Paul Eggert  <eggert@twinsun.com>
83409
83410         * lib/mbswidth.c (_XOPEN_SOURCE):
83411         Don't define; this causes problems on Solaris 7.
83412         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
83413
83414 2000-07-23  Jim Meyering  <meyering@lucent.com>
83415
83416         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
83417         too: getgrgid, getpwuid, getuid.
83418
83419 2000-07-23  Jim Meyering  <meyering@lucent.com>
83420
83421         * lib/basename.c (base_name): Add an assertion.
83422
83423 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
83424
83425         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
83426         shadow its mbsinit function.
83427
83428 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
83429
83430         * lib/mbswidth.h: New file.
83431         * lib/mbswidth.c: New file.
83432         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
83433         (noinst_HEADERS): Add mbswidth.h.
83434
83435 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
83436
83437         * lib/config.charset: Add support for FreeBSD. Improve support for
83438         HP-UX and IRIX 6.
83439
83440 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
83441
83442         * m4/mbswidth.m4: New file.
83443         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
83444
83445 2000-07-15  Jim Meyering  <meyering@lucent.com>
83446
83447         * lib/makepath.c: Include quote.h.
83448         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
83449         corresponding argument in a `quote (...)' call.
83450         Give better diagnostics.
83451
83452         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
83453         (noinst_HEADERS): Add quote.h.
83454
83455         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
83456         from tar's src/misc.c.
83457         * lib/quote.h: New file.  Prototypes for same.
83458
83459 2000-07-14  Paul Eggert  <eggert@twinsun.com>
83460
83461         From a suggestion by Bruno Haible.
83462         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
83463         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
83464         to decide whether to define the BeOS workaround macro;
83465         this adjusts to the change to AC_MBSTATE_T.
83466
83467 2000-07-14  Jim Meyering  <meyering@lucent.com>
83468
83469         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
83470         jm_AC_TYPE_UINTMAX_T.
83471
83472 2000-07-13  Paul Eggert  <eggert@twinsun.com>
83473
83474         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
83475
83476         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
83477         quotearg_buffer_restyled): Add support for
83478         clocale_quoting_style.  Undo previous change to
83479         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
83480         and "{RIGHT QUOTATION MARK}" msgids.
83481
83482 2000-07-10  Paul Eggert  <eggert@twinsun.com>
83483
83484         From a suggestion by Bruno Haible.
83485         * m4/mbstate_t.m4 (AC_MBSTATE_T):
83486         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
83487         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
83488         and mbstate_t, to a single-part test that simply defines mbstate_t.
83489         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
83490         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
83491
83492 2000-07-10  Jim Meyering  <meyering@lucent.com>
83493
83494         * m4/strerror_r.m4: Mirror the correction made in autoconf.
83495
83496         * m4/gnu-source.m4: Output to confdefs.h directly.
83497         Suggestion from Akim Demaille.
83498
83499 2000-07-09  Paul Eggert  <eggert@twinsun.com>
83500
83501         The old behavior of quoting `like this' doesn't look good with
83502         newer, ISO-style fonts.  See:
83503         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
83504
83505         Instead, quote "like this" by default.  Let the translator
83506         tailor the locale-specific quoting behavior by providing
83507         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
83508
83509         * lib/quotearg.c (N_): New macro.
83510         (gettext_default): New function.
83511         (quotearg_buffer_restyled): Use
83512         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
83513         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
83514
83515 2000-07-09  Jim Meyering  <meyering@lucent.com>
83516
83517         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
83518         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
83519
83520         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
83521         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
83522
83523 2000-07-09  Jim Meyering  <meyering@lucent.com>
83524
83525         * lib/Most files: Update copyright dates to include 2000.
83526
83527 2000-07-08  Jim Meyering  <meyering@lucent.com>
83528
83529         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
83530         if not defined.
83531         (xgethostname): Remove now-unnecessary #ifdef.
83532         Move declaration of `err' into loop where it's used.
83533
83534 2000-07-05  Paul Eggert  <eggert@twinsun.com>
83535         and Bruno Haible  <haible@clisp.cons.org>
83536
83537         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
83538         only if the test for an object-type mbstate_t fails.  This
83539         prevents us from mistakenly reporting that mbstate_t is a
83540         system object type after we "#define mbstate_t int" to work
83541         around its lack.
83542
83543 2000-07-05  Paul Eggert  <eggert@twinsun.com>
83544         and Bruno Haible  <haible@clisp.cons.org>
83545
83546         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
83547
83548 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
83549
83550         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
83551         to strerror_r.
83552         Include <ctype.h> for use of isalpha.
83553
83554 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
83555
83556         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
83557         by allocating a larger buffer. Test the gethostname return value for
83558         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
83559         returns an error and ENAMETOOLONG isn't defined.
83560
83561 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
83562
83563         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
83564         dimension.
83565
83566 2000-07-04  Jim Meyering  <meyering@lucent.com>
83567
83568         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
83569         of the deprecated AC_CHECKING.
83570
83571 2000-07-04  Jim Meyering  <meyering@lucent.com>
83572
83573         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
83574         Reported by Bruno Haible.
83575
83576 2000-07-04  Jim Meyering  <meyering@lucent.com>
83577
83578         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
83579         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
83580         lacks mbrtowc.
83581
83582 2000-07-03  Paul Eggert  <eggert@twinsun.com>
83583
83584         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
83585         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
83586
83587 2000-07-03  Paul Eggert  <eggert@twinsun.com>
83588         and Bruno Haible  <haible@clisp.cons.org>
83589
83590         * lib/quotearg.c (mbrtowc):
83591         Assign to *pwc, and return 1 only if result is nonzero.
83592         (iswprint): Use ISPRINT when substituting our own mbrtowc.
83593
83594 2000-07-03  Jim Meyering  <meyering@lucent.com>
83595
83596         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
83597
83598 2000-07-03  Jim Meyering  <meyering@lucent.com>
83599
83600         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
83601         This is necessary to get a definition of e.g., UTMP_FILE on
83602         HP-UX 10.20.
83603         From Bob Proulx.
83604
83605 2000-07-02  Jim Meyering  <meyering@lucent.com>
83606
83607         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
83608
83609         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
83610         AC_LIBOBJ(function_name).
83611         * m4/chown.m4: Likewise.
83612         * m4/fnmatch.m4: Likewise.
83613         * m4/ftruncate.m4: Likewise.
83614         * m4/getgroups.m4: Likewise.
83615         * m4/getline.m4: Likewise.
83616         * m4/group-member.m4: Likewise.
83617         * m4/jm-macros.m4: Likewise.
83618         * m4/lstat.m4: Likewise.
83619         * m4/malloc.m4: Likewise.
83620         * m4/memcmp.m4: Likewise.
83621         * m4/nanosleep.m4: Likewise.
83622         * m4/putenv.m4: Likewise.
83623         * m4/realloc.m4: Likewise.
83624         * m4/regex.m4: Likewise.
83625         * m4/stat.m4: Likewise.
83626         * m4/strftime.m4: Likewise.
83627
83628 2000-07-02  Jim Meyering  <meyering@lucent.com>
83629
83630         * lib/quotearg.c (mbstate_t): Don't define here.
83631
83632 2000-07-02  Jim Meyering  <meyering@lucent.com>
83633
83634         * lib/nanosleep.c (SIGCONT): Define if not already defined.
83635
83636 2000-07-01  Jim Meyering  <meyering@lucent.com>
83637
83638         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
83639
83640 2000-07-01  Jim Meyering  <meyering@lucent.com>
83641
83642         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
83643         problem.
83644
83645 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
83646
83647         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
83648         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
83649
83650 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
83651
83652         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
83653         per change in ../m4/ls-mntd-fs.m4.
83654         (read_filesystem_list): Ignore symbolic links.
83655
83656 2000-06-29  Jim Meyering  <meyering@lucent.com>
83657
83658         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
83659         for declaration of strcmp.
83660
83661         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
83662
83663         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
83664         Avoid warning by casting result to `char *' to remove `const'.
83665
83666 2000-06-28  Jim Meyering  <meyering@lucent.com>
83667
83668         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
83669         included by quotearg.c, for which we perform this test.  From
83670         Bruno Haible.
83671
83672 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
83673
83674         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
83675         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
83676         <utmpx.h> exists, put readutmp.o into LIBOBJS.
83677
83678 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
83679
83680         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
83681
83682 2000-06-26  Paul Eggert  <eggert@twinsun.com>
83683
83684         savedir now sets errno on failure and invokes xmalloc to get memory.
83685         Fix a couple of other minor bugs while we're at it.
83686
83687         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
83688         (NAMLEN): Remove macro.
83689         (malloc, realloc): Remove decls.
83690         (stpcpy): Likewise.
83691         ("xalloc.h"): Include.
83692         (NAME_SIZE_DEFAULT): New macro.
83693         (savedir): Use xmalloc / xrealloc to allocate memory.
83694         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
83695         Skip "" directory entries.
83696         Use strlen to calculate directory entry length, since the old method
83697         is rarely used these days and isn't worth supporting.
83698         Don't use a pointer after freeing it.
83699         Check for integer overflow when calculating allocation size.
83700         Use memcpy to copy entries, instead of stpcpy.
83701         Set errno properly when returning NULL.
83702         Check for readdir error.
83703
83704 2000-06-26  Jim Meyering  <meyering@lucent.com>
83705
83706         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
83707
83708 2000-06-25  Jim Meyering  <meyering@lucent.com>
83709
83710         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
83711         Linux header bug when _XOPEN_SOURCE is defined to 500.
83712
83713 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
83714
83715         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
83716         deficiency.
83717
83718 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
83719
83720         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
83721         Include xalloc.h.
83722         Don't include <stdlib.h>.  Don't declare malloc, realloc.
83723
83724 2000-06-24  Jim Meyering  <meyering@lucent.com>
83725
83726         * m4/strerror_r.m4: Revive this file -- to try out an experimental
83727         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
83728         for which strerror does return char*, but which lacks a conveniently
83729         accessible declaration of the function.  If the compile-test says
83730         strerror_r doesn't work, then resort to a `run'-test that works on
83731         BeOS and segfaults on DEC Unix.
83732
83733 2000-06-24  Jim Meyering  <meyering@lucent.com>
83734
83735         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
83736
83737 2000-06-23  Paul Eggert  <eggert@twinsun.com>
83738
83739         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
83740         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
83741
83742 2000-06-23  Paul Eggert  <eggert@twinsun.com>
83743
83744         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
83745         (mbrtowc, mbstate_t): Define substitutes if
83746         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
83747         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
83748         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
83749
83750 2000-06-23  Jim Meyering  <meyering@lucent.com>
83751
83752         * m4/afs.m4: Add missing AC_MSG_RESULT.
83753         Reported by Bruno Haible.
83754
83755         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
83756         Suggestion from Bruno Haible.
83757
83758 2000-06-23  Jim Meyering  <meyering@lucent.com>
83759
83760         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
83761
83762 2000-06-21  Jim Meyering  <meyering@lucent.com>
83763
83764         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
83765
83766 2000-06-21  Jim Meyering  <meyering@lucent.com>
83767
83768         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
83769         (noinst_HEADERS): Add getstr.h.
83770
83771         * lib/getline.c (getstr): Move into a separate file.
83772         * lib/getstr.c (getstr): New file, extracted from getline.c, with
83773         the following changes: new parameter, delim2; both delim[12]
83774         parameters have type `int', not `char'.  The latter would lose
83775         with 8-bit delimiters.
83776         * lib/getstr.h: New file.
83777
83778 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
83779
83780         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
83781         than 1024, return a memory chunk of least possible size, instead
83782         of size PATH_MAX + 2. In the loop, increment the size proportionally.
83783         Use free/xmalloc instead of xrealloc to avoid copying for very long
83784         paths.
83785
83786 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
83787
83788         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
83789         the empty string.
83790
83791 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
83792
83793         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
83794         address, not strdup.  Include <stdlib.h> and don't declare free().
83795
83796 2000-06-19  Jim Meyering  <meyering@lucent.com>
83797
83798         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
83799
83800 2000-06-18  Jim Meyering  <meyering@lucent.com>
83801
83802         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
83803
83804         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
83805         `checking whether...' message to be consistent with that of the
83806         lstat test.
83807
83808 2000-06-18  Jim Meyering  <meyering@lucent.com>
83809
83810         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
83811         Besides, these days every porting target provides a mkdir function.
83812
83813         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
83814         needed. (this snippet comes from src/system.h).
83815
83816 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
83817
83818         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
83819
83820 2000-06-15  Paul Eggert  <eggert@twinsun.com>
83821
83822         * lib/human.c (adjust_value): New function.
83823         (human_readable_inexact): Apply rounding style even when
83824         printing approximate values.
83825
83826 2000-06-14  Paul Eggert  <eggert@twinsun.com>
83827
83828         * lib/human.c (human_readable_inexact): Allow an input block
83829         size that is not a multiple of the output block size, and vice versa.
83830         Reported by Piergiorgio Sartor.
83831
83832 2000-06-14  Paul Eggert  <eggert@twinsun.com>
83833
83834         * lib/getdate.y (get_date): Apply relative times after time
83835         zone indicator, not before.  Reported by Todd A. Jacobs.
83836
83837 2000-06-13  Jim Meyering  <meyering@lucent.com>
83838
83839         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
83840
83841         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
83842
83843 2000-06-12  Paul Eggert  <eggert@twinsun.com>
83844
83845         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
83846
83847 2000-06-12  Jim Meyering  <meyering@lucent.com>
83848
83849         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
83850         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
83851         optional argument.
83852         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
83853         the optional argument, `lib'.
83854
83855 2000-06-08  Jim Meyering  <meyering@lucent.com>
83856
83857         * m4/largefile.m4: Remove file (now that it's part of autoconf).
83858
83859 2000-06-04  Paul Eggert  <eggert@twinsun.com>
83860
83861         Rewrite largefile configuration so that we don't need to run
83862         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
83863         AC_CANONICAL_HOST in configure.in -- jmm]
83864
83865         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
83866         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
83867         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
83868         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
83869         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
83870         All uses changed.
83871         Instead of inspecting the output of getconf, try to compile the
83872         test program without and with the macro definition.
83873         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
83874         for getconf.  Instead, check for the needed flags by compiling
83875         test programs.
83876
83877 2000-06-04  Paul Eggert  <eggert@twinsun.com>
83878
83879         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
83880
83881 2000-06-04  Jim Meyering  <meyering@lucent.com>
83882
83883         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
83884         SunOS 4.1.4 for which gid_t is an unsigned type.
83885
83886 2000-06-03  Jim Meyering  <meyering@lucent.com>
83887
83888         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
83889         now that autoconf requires that.
83890
83891         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
83892         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
83893         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
83894
83895 2000-06-03  Jim Meyering  <meyering@lucent.com>
83896
83897         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
83898
83899 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
83900
83901         * m4/glibc21.m4: New file.
83902         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
83903
83904 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
83905
83906         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
83907         newer, don't install charset.alias.
83908         * lib/config.charset: Change the Linux/glibc rules so they become empty
83909         on glibc-2.1 or newer.
83910
83911 2000-06-02  Jim Meyering  <meyering@lucent.com>
83912
83913         * lib/mountlist.c: Back out last change.  Instead, do this...
83914         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
83915         me_dummy member using the same `ignore'-testing code.
83916         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
83917         fs_type strings.
83918         From Mark D. Roth.
83919
83920 2000-05-29  Jim Meyering  <meyering@lucent.com>
83921
83922         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
83923         mounts with the `ignore' attribute.  Based on a patch from
83924         Mark D. Roth.
83925
83926 2000-05-28  Jim Meyering  <meyering@lucent.com>
83927
83928         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
83929         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83930         * m4/stat.m4: Likewise.
83931         * m4/lstat.m4: Likewise.
83932         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
83933
83934         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
83935         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
83936
83937 2000-05-26  Jim Meyering  <meyering@lucent.com>
83938
83939         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
83940
83941 2000-05-24  Jim Meyering  <meyering@lucent.com>
83942
83943         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
83944         autoconf requires that.
83945         * m4/lib-check.m4: Likewise.
83946         * m4/jm-macros.m4: Likewise.
83947         * m4/strftime.m4: Likewise.
83948
83949         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
83950         AC_CHECK_DECLS, now that autoconf requires that.
83951
83952 2000-05-22  Jim Meyering  <meyering@lucent.com>
83953
83954         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83955         * m4/lstat.m4: Likewise.
83956
83957 2000-05-22  Jim Meyering  <meyering@lucent.com>
83958
83959         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
83960
83961 2000-05-20  Jim Meyering  <meyering@lucent.com>
83962
83963         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
83964         (jm_PREREQ): Use it.
83965
83966 2000-05-18  Jim Meyering  <meyering@lucent.com>
83967
83968         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
83969         back, too, since it may have been modified by allocate_entry.
83970         (hash_delete): Rewrite to use neither the assignment operator
83971         nor the comma operator in an if-expression.
83972
83973 2000-05-15  Paul Eggert  <eggert@twinsun.com>
83974
83975         * lib/closeout.c:
83976         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
83977         Remove; no longer needed.
83978         "quotearg.h": Add include.
83979         (file_name): Do not bother to explicitly initialize to NULL; it's less
83980         efficient on some hosts.
83981         (close_stdout_status): Remove test as to whether stdout was already
83982         closed; it breaks for the case "echo x | sort >&-".
83983         Quote file name colons.
83984         Do not assume that _("write error") lacks format strings.
83985
83986 2000-05-15  Jim Meyering  <meyering@lucent.com>
83987
83988         * lib/version-etc.c (version_etc_copyright): Update the copyright
83989         string used in all --version output.
83990
83991 2000-05-14  Jim Meyering  <meyering@lucent.com>
83992
83993         * lib/closeout.c (close_stdout_set_file_name): New function.
83994         (close_stdout_status): Use new file-scoped global.
83995         Return right away if fstat says the stdout file descriptor is invalid.
83996         * lib/closeout.h (close_stdout_set_file_name): Declare.
83997
83998 2000-05-10  Jim Meyering  <meyering@lucent.com>
83999
84000         * lib/closeout.c [default_exit_status]: New file-scoped variable.
84001         (close_stdout_set_status): New function.
84002         * lib/closeout.h (close_stdout_set_status): Declare.
84003
84004 2000-05-09  Jim Meyering  <meyering@lucent.com>
84005
84006         * m4/gettext.m4: Rename this...
84007         * m4/libintl.m4: ...to this.
84008
84009 2000-05-08  Jim Meyering  <meyering@lucent.com>
84010
84011         * lib/long-options.c: Don't include closeout.h.
84012         (parse_long_options): Don't call close_stdout for --version.
84013
84014 2000-05-06  Paul Eggert  <eggert@twinsun.com>
84015
84016         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
84017         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
84018         2.1.3 bug.  This avoids a clash when files like regex.c define
84019         _GNU_SOURCE.
84020
84021 2000-05-06  Jim Meyering  <meyering@lucent.com>
84022
84023         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
84024         (AC_REPLACE_FUNCS): Add strnlen.
84025
84026         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
84027         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
84028
84029         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
84030         AC_SEARCH_LIBS call for nanosleep.
84031         (LIB_NANOSLEEP): Set and AC_SUBST.
84032
84033 2000-05-06  Jim Meyering  <meyering@lucent.com>
84034
84035         * lib/strnlen.c: Undefine __strnlen and strnlen.
84036         [!weak_alias]: Define __strnlen to strnlen.
84037
84038         * lib/atexit.c: New file, from libiberty.
84039
84040 2000-05-06  Jim Meyering  <meyering@lucent.com>
84041
84042         * lib/closeout.c (close_stdout_status): Also check for errors on the
84043         stderr stream.
84044
84045 2000-05-05  Jim Meyering  <meyering@lucent.com>
84046
84047         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
84048         AC_SEARCH_LIBS call for clock_gettime.
84049         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
84050
84051         * m4/search-libs.m4: Update from autoconf.
84052
84053         su doesn't work on Solaris 2.6.
84054         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
84055         <shadow.h>.  Reported by Dragos Harabor.
84056
84057 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
84058
84059         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
84060         memcpy instead of xmalloc, xrealloc, path_concat.
84061         (locale_charset): Treat empty environment variables as absent.
84062         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
84063
84064 2000-05-04  Jim Meyering  <meyering@lucent.com>
84065
84066         * lib/getopt.c: Update from glibc.
84067         * lib/obstack.c: Likewise.
84068         * lib/obstack.h: Likewise.
84069         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
84070         file
84071
84072         * lib/regex.h: Likewise.
84073         * lib/strndup.c: Likewise.
84074         * lib/strnlen.c: New file, from glibc.
84075
84076 2000-05-03  Jim Meyering  <meyering@lucent.com>
84077
84078         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
84079
84080 2000-05-02  Paul Eggert  <eggert@twinsun.com>
84081
84082         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
84083         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
84084         compile-time test, rather than inspecting host and OS, to
84085         decide whether to define _LARGEFILE_SOURCE.
84086
84087 2000-05-01  Jim Meyering  <meyering@lucent.com>
84088
84089         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
84090
84091         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
84092         Based on a patch from Bruno Haible.
84093
84094 2000-05-01  Jim Meyering  <meyering@lucent.com>
84095
84096         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
84097
84098 2000-04-29  Jim Meyering  <meyering@lucent.com>
84099
84100         * lib/path-concat.c: Declare strdup only if it's not defined.
84101         * lib/canon-host.c: Likewise.
84102
84103 2000-04-28  Jim Meyering  <meyering@lucent.com>
84104
84105         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
84106         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
84107         is included first, then limits.h is included by locale.h by libintl.h.
84108         From John David Anglin.
84109
84110 2000-04-25  Jim Meyering  <meyering@lucent.com>
84111
84112         * lib/makepath.c (S_IRWXUGO): Define.
84113         (make_path): Always perform explicit chmod if MODE specifies any
84114         of the `special' permission bits.  Prompted by a bug report against
84115         install from Mate Wierdl and Joost van Baal.
84116
84117 2000-04-18  Jim Meyering  <meyering@lucent.com>
84118
84119         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
84120         (jm_PREREQ): Use it.
84121
84122 2000-04-18  Jim Meyering  <meyering@lucent.com>
84123
84124         * lib/README: New file.
84125
84126         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
84127         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
84128
84129 2000-04-17  Jim Meyering  <meyering@lucent.com>
84130
84131         Get it right :-)
84132         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
84133         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
84134         Suggestion from Akim Demaille.
84135
84136 2000-04-17  Jim Meyering  <meyering@lucent.com>
84137
84138         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
84139         the definition of it to rpl_strftime also defined-away the system's
84140         declaration.
84141
84142 2000-04-15  Jim Meyering  <meyering@lucent.com>
84143
84144         Use `C' to denote so-called `contiguous' files, the same way
84145         that tar does.
84146         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
84147         (ftypelet): Use S_ISCTG.
84148         From Michael Deutschmann.
84149
84150 2000-04-14  Jim Meyering  <meyering@lucent.com>
84151
84152         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
84153         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
84154         clobbered.
84155
84156 2000-04-14  Jim Meyering  <meyering@lucent.com>
84157
84158         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
84159
84160 2000-04-13  Jim Meyering  <meyering@lucent.com>
84161
84162         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
84163         AH_VERBATIM to insert required #ifndef into config.h.in.
84164         Suggestion from Akim Demaille.
84165
84166 2000-04-12  Jim Meyering  <meyering@lucent.com>
84167
84168         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
84169         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
84170         Christian Krackowizer.
84171
84172         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
84173         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
84174         (AC_SYS_LARGEFILE): Require.
84175         (AM_C_PROTOTYPES): Require.
84176
84177 2000-04-08  Jim Meyering  <meyering@lucent.com>
84178
84179         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
84180         names don't conflict.  Reported by Eli Zaretskii.
84181
84182 2000-04-07  Jim Meyering  <meyering@lucent.com>
84183
84184         * lib/putenv.c: Move inclusion of errno.h so it follows that of
84185         sys/types.h, to work around system header problems on AIX 3.2.5.
84186         From Bruno Haible.
84187
84188 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
84189
84190         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
84191         bug.  Deal with the different error behavior of Irix iconv.
84192
84193 2000-04-05  Paul Eggert  <eggert@twinsun.com>
84194
84195         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
84196         IRIX if the installer said otherwise.
84197
84198 2000-04-05  Jim Meyering  <meyering@lucent.com>
84199
84200         Portability tweaks required for ultrix4.3.
84201         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
84202         (jm_CHECK_DECLS): Add getutent to the list of functions.
84203         (_jm_DECL_HEADERS): Add utmpx.h.
84204         From John David Anglin.
84205
84206         * m4/strftime.m4: Back out the 2000-04-02 change.
84207         Instead of that change, simply undefine putenv in the test program.
84208
84209 2000-04-05  Jim Meyering  <meyering@lucent.com>
84210
84211         Portability tweaks required for ultrix4.3.
84212         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
84213         getutent.
84214         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
84215         * lib/canon-host.c: Declare strdup.
84216         * lib/path-concat.c: Likewise.
84217         From John David Anglin.
84218
84219 2000-04-04  Jim Meyering  <meyering@lucent.com>
84220
84221         Be more DOS 8.3-friendly.
84222         * lib/ref-add.sin: Renamed from ref-add.sed.in.
84223         * lib/ref-del.sin: Renamed from ref-del.sed.in.
84224         * lib/Makefile.am: Reflect renaming.
84225         Reported by Eli Zaretskii.
84226
84227         Use a temporary file name that won't clash with `charset.alias'
84228         in the DOS 8.3 name space.
84229         * lib/Makefile.am (charset_tmp): Define.
84230         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
84231         (uninstall-local): Likewise.
84232         Reported by Eli Zaretskii.
84233
84234 2000-04-03  Jim Meyering  <meyering@lucent.com>
84235
84236         * m4/gettext.m4: Fix typo in comment.
84237
84238         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
84239         textutils/configure.in).  Suggestion from Paul Eggert.
84240         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
84241
84242 2000-04-02  Paul Eggert  <eggert@twinsun.com>
84243
84244         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
84245         variable in the shell rather than using putenv, which isn't
84246         portable.  This avoids the configure-time inter-test dependency
84247         on the potentially-renamed putenv function.
84248
84249 2000-03-30  Paul Eggert  <eggert@twinsun.com>
84250
84251         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
84252         before checking struct stat.st_blksize, so that
84253         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
84254
84255 2000-03-29  Paul Eggert  <eggert@twinsun.com>
84256
84257         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
84258         since strftime.c uses HAVE_STRFTIME to decide whether to use
84259         the underlying strftime.
84260
84261 2000-03-29  Paul Eggert  <eggert@twinsun.com>
84262
84263         * lib/time/strftime.c (my_strftime): Make sure we call the system
84264         strftime, not ourselves, when invoking the underlying strftime.
84265
84266 2000-03-24  Jim Meyering  <meyering@lucent.com>
84267
84268         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
84269         (charset_alias): Define.
84270         (install-exec-local): Factor out common code.
84271         (uninstall-local): Split lines longer than 80.
84272         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
84273         (SUFFIXES): Define.
84274         (.sed.in.sed): New rule.  Don't redirect directly to $@.
84275         (CLEANFILES): Add ref-add.sed and ref-del.sed.
84276
84277 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
84278
84279         * lib/config.charset: Output a line containing "Packages using this
84280         file".
84281         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
84282         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
84283         ref-del.sed): New rules.
84284
84285 2000-03-17  Jim Meyering  <meyering@lucent.com>
84286
84287         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
84288         Otherwise, include <strings.h>
84289
84290 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
84291
84292         * lib/unicodeio.c (utf8_wctomb): New function.
84293         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
84294         format instead of in UCS-4 with platform dependent endianness.
84295
84296 2000-03-10  Jim Meyering  <meyering@lucent.com>
84297
84298         * m4/lib-check.m4: Look for getspnam in -lgen, too.
84299         From Marco Franzen.
84300
84301 2000-03-07  Paul Eggert  <eggert@twinsun.com>
84302
84303         * lib/savedir.c (savedir): Work even if directory size is
84304         negative; this can happen with some screwy NFS configurations.
84305
84306 2000-03-06  Jim Meyering  <meyering@lucent.com>
84307
84308         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
84309         if it's NULL (because we ran out of memory).  From Bruno Haible.
84310
84311 2000-03-05  Jim Meyering  <meyering@lucent.com>
84312
84313         * lib/localcharset.c ("path-concat.h"): Include.
84314         (get_charset_aliases): Use path_concat instead of ANSI string
84315         concatenation.
84316
84317         * lib/unicodeio.h (PARAMS): Define.
84318         Use it to guard prototype.
84319
84320 2000-03-04  Jim Meyering  <meyering@lucent.com>
84321
84322         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
84323         for lib/localcharset.c.
84324
84325 2000-03-04  Jim Meyering  <meyering@lucent.com>
84326
84327         * lib/Makefile.am (install-exec-local): Create $(libdir) before
84328         installing into it.
84329         (uninstall-local): Uncomment this rule so `make distcheck' works
84330         once again.
84331
84332         * lib/unicodeio.c (<errno.h>): Include it.
84333         (errno): Declare if not defined.
84334
84335         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
84336
84337         * lib/config.charset: New version, incorporating remarks from a linux
84338         i18n mailing list.  From Bruno Haible.
84339
84340 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
84341
84342         * m4/codeset.m4: New file.
84343         * m4/iconv.m4: New file.
84344         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
84345
84346 2000-03-03  Jim Meyering  <meyering@lucent.com>
84347
84348         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
84349
84350 2000-03-02  Jim Meyering  <meyering@lucent.com>
84351
84352         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
84353         the messages come out on separate lines.
84354
84355         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
84356         rather than jm_CHECK_DECLARATIONS.
84357         * m4/decl.m4: Remove now-unused file.
84358
84359         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
84360         geteuid.
84361
84362 2000-03-02  Jim Meyering  <meyering@lucent.com>
84363
84364         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
84365
84366 2000-03-01  Jim Meyering  <meyering@lucent.com>
84367
84368         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
84369         * lib/unicodeio.c: Likewise.
84370
84371 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
84372
84373         * lib/config.charset: New file.
84374         * lib/localcharset.c: New file.
84375         * lib/unicodeio.h, lib/unicodeio.c: New files.
84376         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
84377         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
84378         (noinst_HEADERS): Add unicodeio.h.
84379         (all-local, install-exec-local, charset.alias): New targets.
84380
84381 2000-02-28  Paul Eggert  <eggert@twinsun.com>
84382
84383         * lib/quotearg.c (ALERT_CHAR): New macro.
84384         (quotearg_buffer_restyled): Use it.
84385
84386 2000-02-27  Jim Meyering  <meyering@lucent.com>
84387
84388         * m4/check-decl.m4: Add getenv to the list.
84389
84390 2000-02-27  Jim Meyering  <meyering@lucent.com>
84391
84392         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
84393         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
84394
84395         * lib/backupfile.c: Guard inclusion of stdlib.h with
84396         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
84397         Declare malloc if needed.
84398
84399         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
84400         `#ifndef HAVE_DECL..'
84401         now that autoconf always defines the HAVE_DECL_ symbols.
84402         * lib/human.c: Likewise.
84403         * lib/same.c: Likewise.
84404         * lib/strtoumax.c: Likewise.
84405
84406         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
84407         declaration check was not run.
84408         * lib/hash.c: Likewise.
84409         * lib/human.c: Likewise.
84410         * lib/same.c: Likewise.
84411         * lib/strtoumax.c: Likewise.
84412
84413         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
84414         `.', then first look up the entire `.'-containing string as a login
84415         name.
84416
84417 2000-02-23  Jim Meyering  <meyering@lucent.com>
84418
84419         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
84420         in place of my hack.
84421
84422 2000-02-18  Paul Eggert  <eggert@twinsun.com>
84423
84424         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
84425         (textint): New typedef.
84426         (parser_control): Member year changed from int to textint.
84427         All uses changed.
84428         (YYSTYPE): Removed; replaced by %union with int and textint members.
84429         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
84430         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
84431         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
84432         (tSNUMBER, tUNUMBER): Now of type <textintval>.
84433         (date, number, to_year): Use width of number in digits, not its value,
84434         to determine whether it's a 2-digit year, or a 2-digit time.
84435         (yylex): Store number of digits of numeric tokens.
84436         Reported by John Kendall.
84437
84438         (parser_control): Changed from struct parser_control to typedef (for
84439         consistency).  All uses changed.
84440
84441         (tID): Removed; not used.
84442         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
84443
84444 2000-02-14  Paul Eggert  <eggert@twinsun.com>
84445
84446         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
84447         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
84448
84449 2000-02-12  Jim Meyering  <meyering@lucent.com>
84450
84451         * lib/userspec.c (ISDIGIT): Define it.
84452         (isdigit): Remove definition.
84453         (is_number): Use ISDIGIT, not isdigit.
84454         <libintl.h>: Include.
84455         (_ and N_): Define.
84456         (parse_user_spec): Mark translatable strings.
84457
84458 2000-02-10  Jim Meyering  <meyering@lucent.com>
84459
84460         With these changes, nanosleep.[ch] are finally enough like the other
84461         lib/* replacement files to compile on a few more losing systems.
84462
84463         * lib/nanosleep.h: Don't include config.h.
84464         Remove prototype from declaration of nanosleep.
84465         (PARAMS): Remove now-unneeded definition.
84466         * lib/nanosleep.c: #undef nanosleep.
84467         (rpl_nanosleep): Rename from nanosleep.
84468
84469 2000-02-10  Jim Meyering  <meyering@lucent.com>
84470
84471         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
84472         gnu_nanosleep to rpl_nanosleep.
84473
84474 2000-02-09  Jim Meyering  <meyering@lucent.com>
84475
84476         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
84477         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
84478
84479 2000-02-08  Akim Demaille  <akim@epita.fr>
84480
84481         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
84482         `[' and `]' and remove uses of `changequote'.
84483         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
84484         (AC_SYS_LARGEFILE): Likewise.
84485         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
84486         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
84487         of changequote.
84488         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
84489         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
84490         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
84491         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
84492
84493 2000-02-05  Jim Meyering  <meyering@lucent.com>
84494
84495         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
84496         Remove explicit use of AC_HEADER_TIME.  It is required by
84497         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
84498         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
84499         in autoconf whereby the expansion of the latter ended up preceding
84500         the expansion of its prerequisite, AC_HEADER_TIME.
84501         Reported by Volker Borchert.
84502
84503 2000-02-03  Jim Meyering  <meyering@lucent.com>
84504
84505         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
84506
84507 2000-02-03  Jim Meyering  <meyering@lucent.com>
84508
84509         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
84510         rather than with `#if HAVE_UTMPNAME'.
84511
84512 2000-02-02  Jim Meyering  <meyering@lucent.com>
84513
84514         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
84515         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
84516         Reported by Eli Zaretskii.
84517
84518 2000-02-01  Jim Meyering  <meyering@lucent.com>
84519
84520         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
84521
84522 2000-01-31  Jim Meyering  <meyering@lucent.com>
84523
84524         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
84525         functions.  Add the time.h and sys/time.h headers along with the
84526         AC_REQUIRE'ment of AC_HEADER_TIME.
84527
84528 2000-01-31  Jim Meyering  <meyering@lucent.com>
84529
84530         * lib/nanosleep.h (nanosleep): Guard declaration with
84531         `#if ! HAVE_DECL_NANOSLEEP'.
84532         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
84533         the declaration in that vendor's sys/timers.h.
84534         Reported by Christian Krackowizer.
84535
84536         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
84537         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
84538         (ISPRINT): Likewise.
84539         Reported by Tom Tromey.
84540
84541 2000-01-30  Jim Meyering  <meyering@lucent.com>
84542
84543         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
84544
84545         * m4/prereq.m4 (utmp_includes): Define.
84546         Check for ut_user and ut_name members in both struct utmpx
84547         and struct utmp.
84548
84549 2000-01-30  Jim Meyering  <meyering@lucent.com>
84550
84551         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
84552         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
84553         header files where only utmpx.ut_user is declared.
84554
84555         * lib/readutmp.h (UT_USER): Define.
84556
84557 2000-01-29  Jim Meyering  <meyering@lucent.com>
84558
84559         * m4/lib-check.m4: New file containing library-related checks from
84560         fileutils and sh-utils (textutils had none).
84561
84562 2000-01-28  Jim Meyering  <meyering@lucent.com>
84563
84564         * m4/perl.m4: Change format of warning message to look more like that
84565         from the missing script.  Suggestion from François Pinard.
84566
84567 2000-01-25  Jim Meyering  <meyering@lucent.com>
84568
84569         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
84570         well as time.h in the compile check.
84571         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
84572         Fix typo in cross-compiling case: s/yes/no/.
84573
84574 2000-01-23  Jim Meyering  <meyering@lucent.com>
84575
84576         * m4/jm-macros.m4: Move df-related tests here from
84577         fileutils/configure.in
84578
84579         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
84580         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
84581
84582         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
84583         s/space/ac_fsusage_space/.
84584         (jm_FILE_SYSTEM_USAGE): Take two parameters.
84585
84586         * m4/ftruncate.m4: New file (derived from part of
84587         fileutils/configure.in).
84588         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
84589         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
84590
84591         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
84592         AC_SUBST these here, rather than just in sh-util/configure.in, so
84593         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
84594         all the same.
84595         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
84596         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
84597         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
84598         (AC_SUBST(POW_LIBM)): Likewise.
84599         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
84600
84601 2000-01-23  Jim Meyering  <meyering@lucent.com>
84602
84603         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
84604         obstack.c.
84605
84606 2000-01-22  Jim Meyering  <meyering@lucent.com>
84607
84608         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
84609
84610         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
84611
84612         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
84613         configure.in
84614         (AC_CHECK_HEADERS): Likewise for sh-utils.
84615         (AC_CHECK_HEADERS): Likewise for textutils.
84616         Merge the three lists of headers.
84617
84618         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
84619         from fileutils' configure.in.
84620
84621         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
84622         code. Moved tests into their own function (_jm_DECL_HEADERS) in
84623         check-decl.m4.
84624
84625         * m4/check-decl.m4: Use #if rather than #ifdef.
84626         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
84627         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
84628         (_jm_DECL_HEADERS): Define new function.
84629         (jm_CHECK_DECLARATIONS): Require it.
84630
84631 2000-01-22  Jim Meyering  <meyering@lucent.com>
84632
84633         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
84634         [! HAVE_DECL_STRTOULL]: Declare strtoull.
84635         Required for some AIX systems.  Reported by Christian Krackowizer.
84636         [TESTING] (main): New function.
84637
84638         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
84639         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
84640         letters.
84641
84642         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
84643         iswprint.
84644
84645         * lib/strverscmp.c (ISDIGIT): Define.
84646         (strverscmp): Use ISDIGIT, not isdigit.
84647
84648 2000-01-19  Jim Meyering  <meyering@lucent.com>
84649
84650         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
84651         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
84652         defines `struct timespec' in <sys/time.h>
84653
84654         * m4/c-bs-a.m4: Remove uses of changequote altogether.
84655         Thanks to Akim for explaining.
84656
84657 2000-01-17  Paul Eggert  <eggert@twinsun.com>
84658
84659         * lib/nanosleep.c (nanosleep):
84660         Don't use SA_INTERRUPT to decide whether to call sigaction, as
84661         POSIX.1 doesn't require SA_INTERRUPT and some systems
84662         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
84663         it's been part of POSIX.1 since day 1 (in 1988).
84664
84665 2000-01-17  Jim Meyering  <meyering@lucent.com>
84666
84667         * lib/interlock: Remove unused file.  Reported by François Pinard.
84668
84669 2000-01-16  Paul Eggert  <eggert@twinsun.com>
84670
84671         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
84672         alert, backslash, formfeed, and vertical tab unnecessarily in
84673         shell quoting style.
84674
84675 2000-01-16  Jim Meyering  <meyering@lucent.com>
84676
84677         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
84678         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
84679         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
84680         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
84681
84682 2000-01-16  Jim Meyering  <meyering@lucent.com>
84683
84684         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
84685         because the latter didn't work.
84686
84687 2000-01-15  Jim Meyering  <meyering@lucent.com>
84688
84689         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
84690         (AC_REPLACE_FUNCS): Add memcpy and memset.
84691         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
84692         Add strpbrk.
84693         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
84694
84695 2000-01-12  Jim Meyering  <meyering@lucent.com>
84696
84697         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
84698         (jm_PREREQ): Use it.
84699         (jm_PREREQ_READUTMP): New macro.
84700         (jm_PREREQ): Use it.
84701
84702 2000-01-11  Paul Eggert  <eggert@twinsun.com>
84703
84704         Quote multibyte characters correctly.
84705         * m4/c-bs-a.m4: New file.
84706         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
84707         (jm_PREREQ): Use it.
84708
84709 2000-01-11  Paul Eggert  <eggert@twinsun.com>
84710
84711         * m4/uintmax_t.m4: Port to autoconf 2.13.
84712
84713 2000-01-08  Jim Meyering  <meyering@ascend.com>
84714
84715         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
84716         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
84717
84718 2000-01-04  Jim Meyering  <meyering@ascend.com>
84719
84720         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
84721         jm_STRUCT_DIRENT_D_TYPE.
84722         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
84723         jm_STRUCT_DIRENT_D_INO.
84724         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
84725         jm_STRUCT_UTIMBUF.
84726         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
84727         renamings.
84728         * m4/utime.m4: Likewise.
84729
84730         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
84731         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
84732
84733 2000-01-03  Paul Eggert  <eggert@twinsun.com>
84734
84735         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
84736         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
84737
84738 2000-01-02  Jim Meyering  <meyering@ascend.com>
84739
84740         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
84741         remember if this is necessary.
84742
84743 1999-12-26  Jim Meyering  <meyering@ascend.com>
84744
84745         * m4/jm-macros.m4: Use it here.
84746         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
84747
84748 1999-12-23  Jim Meyering  <meyering@ascend.com>
84749
84750         * m4/jm-macros.m4: Check for clock_gettime (moved from
84751         fileutils/configure.in)
84752         Check for gettimeofday.
84753
84754 1999-12-20  Jim Meyering  <meyering@ascend.com>
84755
84756         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
84757         autoconf-2.14a-1999-12-20.
84758
84759 1999-12-19  Jim Meyering  <meyering@ascend.com>
84760
84761         * m4/lstat-slash.m4: New file.
84762         * m4/jm-macros.m4: Use the new macro:
84763         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84764
84765 1999-12-07  Jim Meyering  <meyering@ascend.com>
84766
84767         * m4/perl.m4: Require that File::Compare be available, too.
84768         Too many systems seem to lack it.
84769
84770         * m4/strftime.m4: Add checks for most of the cpp macros tested in
84771         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
84772
84773 1999-11-18  Paul Eggert  <eggert@twinsun.com>
84774
84775         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
84776         problem with the QNX 4.25 shell, which doesn't propagate exit
84777         status of failed commands inside shell assignments.
84778
84779 1999-11-17  Jim Meyering  <meyering@ascend.com>
84780
84781         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
84782
84783 1999-11-07  Jim Meyering  <meyering@ascend.com>
84784
84785         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
84786
84787 1999-11-06  Jim Meyering  <meyering@ascend.com>
84788
84789         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
84790         * m4/jm-macros.m4 (jm_MACROS): Use it here.
84791
84792 1999-11-05  Jim Meyering  <meyering@ascend.com>
84793
84794         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
84795         configure.in of textutils, fileutils, and sh-utils into this one
84796         (shared between those packages) file.
84797         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
84798         AC_STRUCT_ST_BLKSIZE.
84799
84800 1999-11-03  Jim Meyering  <meyering@ascend.com>
84801
84802         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
84803         of AC_CHECK_TYPE checks includes unistd.h.
84804         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
84805         Suggestion from Akim Demaille.
84806
84807 1999-10-30  Jim Meyering  <meyering@ascend.com>
84808
84809         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
84810         m4-quoted string.
84811         * m4/ls-mntd-fs.m4: Likewise.
84812         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
84813         * m4/jm-winsz1.m4: Likewise.
84814
84815         * m4/const.m4: Remove file, since the fix made it into the experimental
84816         version of autoconf.
84817         * m4/mktime.m4: Likewise.
84818
84819         * m4/check-type.m4: Remove file, now that the latest version of
84820         AC_CHECK_TYPE takes a third arg to specify additional #includes.
84821
84822         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
84823         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
84824         AC_CHECK_TYPE.
84825
84826 1999-10-04  Jim Meyering  <meyering@ascend.com>
84827
84828         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
84829
84830 1999-09-22  Paul Eggert  <eggert@twinsun.com>
84831
84832         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
84833         2.95.1 bug with HP-UX 10.20.
84834
84835 1999-09-17  Jim Meyering  <meyering@ascend.com>
84836
84837         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
84838         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
84839         due to missing strdup (against sh-utils-2.0).
84840
84841 1999-08-29  Jim Meyering  <meyering@ascend.com>
84842
84843         * m4/jm-macros.m4: Require jm_BISON.
84844         * m4/bison.m4: New file.
84845
84846 1999-08-17  Paul Eggert  <eggert@twinsun.com>
84847
84848         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
84849         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
84850
84851 1999-08-05  Jim Meyering  <meyering@ascend.com>
84852
84853         * m4/getline.m4: Rename test file from conftestdata to conftest.data
84854         to avoid conflicts with `conftest' on 8+3 filesystems.
84855         Suggestion from Eli Zaretskii.
84856
84857 1999-08-04  Jim Meyering  <meyering@ascend.com>
84858
84859         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
84860         fileutils and sh-utils (textutils's getline test was inadequate).
84861         (AM_FUNC_GETLINE): Run this test.
84862         (AC_CHECK_FUNCS): Check for getdelim.
84863         Reported by Bob Proulx.
84864
84865 1999-08-02  Jim Meyering  <meyering@ascend.com>
84866
84867         * m4/jm-macros.m4: Add a comment.
84868
84869 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84870
84871         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
84872         <inttypes.h> defines strtoumax as a macro (and not as a
84873         function).
84874
84875 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84876
84877         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
84878         that we can shift, multiply and divide unsigned long long
84879         values; Ultrix cc can't do it.
84880
84881 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84882
84883         * m4/mktime.m4: New file, which is a preview of what should appear
84884         in the next public autoconf release.
84885
84886 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84887
84888         * m4/lfs.m4: Remove this file.
84889         * m4/largefile.m4: New file.  It contains the old contents of
84890         lfs.m4, except that all names with prefix AC_LFS have been
84891         changed to use the prefix AC_SYS_LARGEFILE instead, to be
84892         compatible with future autoconf versions.  Also, some minor m4
84893         quoting problems have been fixed.
84894
84895 1999-08-01  Paul Eggert  <eggert@twinsun.com>
84896
84897         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
84898         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
84899         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
84900         and simplify the shell code.
84901
84902 1999-08-01  Jim Meyering  <meyering@ascend.com>
84903
84904         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
84905         m4.
84906
84907 1999-07-20  Jim Meyering  <meyering@ascend.com>
84908
84909         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
84910
84911 1999-07-15  Jim Meyering  <meyering@ascend.com>
84912
84913         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
84914
84915 1999-05-22  Jim Meyering  <meyering@ascend.com>
84916
84917         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
84918
84919 1999-05-20  Jim Meyering  <meyering@ascend.com>
84920
84921         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
84922         Add a colon after each `then' in case $4 is empty.
84923
84924 1999-05-16  Jim Meyering  <meyering@ascend.com>
84925
84926         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
84927
84928 1999-05-10  Jim Meyering  <meyering@ascend.com>
84929
84930         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
84931
84932         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
84933         AC_FUNC_MKTIME.
84934
84935 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
84936
84937         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
84938
84939 1999-05-04  Paul Eggert  <eggert@twinsun.com>
84940
84941         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
84942         not CPPFLAGS, so that linking works correctly in IRIX.
84943
84944 1999-04-30  Paul Eggert  <eggert@twinsun.com>
84945
84946         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
84947
84948 1999-04-20  Paul Eggert  <eggert@twinsun.com>
84949
84950         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
84951         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
84952         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
84953         jm_AC_TYPE_UNSIGNED_LONG_LONG.
84954         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
84955
84956         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
84957
84958 1999-04-20  Jim Meyering  <meyering@ascend.com>
84959
84960         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
84961         AC_REPLACE xstroull if necessary.  From Paul Eggert.
84962         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
84963
84964 1999-04-18  Jim Meyering  <meyering@ascend.com>
84965
84966         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
84967         * m4/jm-macros.m4: Use it.
84968
84969 1999-04-06  Jim Meyering  <meyering@ascend.com>
84970
84971         * m4/strftime.m4: Remove test for %f.
84972
84973 1999-03-29  Jim Meyering  <meyering@ascend.com>
84974
84975         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
84976         superset of the AC_TYPE_* checks in the textutils, fileutils,
84977         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
84978         AC_TYPE_PID_T.
84979
84980 1999-03-28  Jim Meyering  <meyering@ascend.com>
84981
84982         * m4/jm-macros.m4: Define GNU_PACKAGE here.
84983         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
84984         replaced e.g., in the *.sh files of the sh-utils.
84985
84986 1999-03-20  Jim Meyering  <meyering@ascend.com>
84987
84988         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
84989         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
84990         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
84991
84992 1999-03-19  Jim Meyering  <meyering@ascend.com>
84993
84994         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
84995
84996 1999-03-12  Jim Meyering  <meyering@ascend.com>
84997
84998         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
84999
85000 1999-03-07  Jim Meyering  <meyering@ascend.com>
85001
85002         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
85003         declared.
85004
85005 1999-02-17  Jim Meyering  <meyering@ascend.com>
85006
85007         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
85008         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
85009
85010 1999-02-07  Jim Meyering  <meyering@ascend.com>
85011
85012         * m4/group-member.m4: New file -- extracted from sh-utils'
85013         configure.in.
85014
85015         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
85016         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
85017
85018 1999-02-06  Jim Meyering  <meyering@ascend.com>
85019
85020         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
85021         * m4/fnmatch.m4: Likewise.
85022         * m4/getgroups.m4: Likewise.
85023         * m4/lstat.m4: Likewise.
85024         * m4/malloc.m4: Likewise.
85025         * m4/putenv.m4: Likewise.
85026         * m4/realloc.m4: Likewise.
85027         * m4/regex.m4: Likewise.
85028         * m4/stat.m4: Likewise.
85029         * m4/strftime.m4: Likewise.
85030         Suggestion from Alain Magloire.
85031
85032         * m4/chown.m4: Use `.$ac_objext', not `.o'.
85033         * m4/fnmatch.m4: Likewise.
85034         * m4/getgroups.m4: Likewise.
85035         * m4/getline.m4: Likewise.
85036         * m4/lstat.m4: Likewise.
85037         * m4/malloc.m4: Likewise.
85038         * m4/memcmp.m4: Likewise.
85039         * m4/putenv.m4: Likewise.
85040         * m4/realloc.m4: Likewise.
85041         * m4/regex.m4: Likewise.
85042         * m4/stat.m4: Likewise.
85043         * m4/strftime.m4: Likewise.
85044         Suggestion from Alain Magloire.
85045
85046         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
85047         an argument.
85048
85049         * m4/regex.m4: Add a run-time Test for proper operation of
85050         re_compile_pattern.
85051
85052 1999-01-31  Jim Meyering  <meyering@ascend.com>
85053
85054         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
85055
85056 1999-01-30  Jim Meyering  <meyering@ascend.com>
85057
85058         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
85059
85060         * m4/jm-mktime.m4: Make this a wrapper around the official
85061         AM_FUNC_MKTIME rather than my private copy, now that the official one
85062         is up to date.
85063         * m4/mktime.m4: Remove file.
85064
85065         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
85066         * m4/uptime.m4: Likewise.
85067         * m4/uintmax_t.m4: Likewise.
85068
85069 1999-01-28  Jim Meyering  <meyering@ascend.com>
85070
85071         * m4/jm-macros.m4: Use jm_AFS.
85072         * m4/afs.m4: New file (from fileutils' configure.in).
85073
85074         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
85075         * m4/chown.m4: Likewise.
85076         * m4/d-ino.m4: Likewise.
85077         * m4/d-type.m4: Likewise.
85078         * m4/fnmatch.m4: Likewise.
85079         * m4/getgroups.m4: Likewise.
85080         * m4/gettext.m4: Likewise.
85081         * m4/jm-mktime.m4: Likewise.
85082         * m4/jm-winsz2.m4: Likewise.
85083         * m4/lcmessage.m4: Likewise.
85084         * m4/ls-mntd-fs.m4: Likewise.
85085         * m4/malloc.m4: Likewise.
85086         * m4/memcmp.m4: Likewise.
85087         * m4/putenv.m4: Likewise.
85088         * m4/realloc.m4: Likewise.
85089         * m4/st_mtim.m4: Likewise.
85090         * m4/strftime.m4: Likewise.
85091
85092 1999-01-16  Jim Meyering  <meyering@ascend.com>
85093
85094         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
85095         (ARGMATCH_DIE_DECL): Define.
85096
85097 1999-01-12  Jim Meyering  <meyering@ascend.com>
85098
85099         * m4/Makefile.am.in: Rewrite to avoid using fmt.
85100         Reported by Lars Hecking.
85101
85102 1999-01-10  Jim Meyering  <meyering@ascend.com>
85103
85104         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
85105         gross kludge.
85106         * m4/inttypes_h.m4: Likewise.
85107         * m4/lstat.m4: Likewise.
85108         * m4/malloc.m4: Likewise.
85109         * m4/readdir.m4: Likewise.
85110         * m4/realloc.m4: Likewise.
85111         * m4/st_dm_mode.m4: Likewise.
85112         * m4/stat.m4: Likewise.
85113         * m4/utimbuf.m4: Likewise.
85114         * m4/utimes.m4: Likewise.
85115
85116         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
85117         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
85118         comments in config.h.in are meaningful.
85119
85120         * m4/jm-macros.m4: Require autoconf-2.13 here.
85121
85122         * m4/regex.m4: By default, don't use the included regex.c on systems
85123         with glibc 2.  Suggestion from Uli Drepper.
85124
85125 1999-01-02  Jim Meyering  <meyering@ascend.com>
85126
85127         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
85128
85129 1998-12-18  Jim Meyering  <meyering@ascend.com>
85130
85131         * m4/Makefile.am.in (Makefile.am): Simplify rule.
85132         Based on a suggestion from Lars Hecking.
85133
85134 1998-11-16  Paul Eggert  <eggert@twinsun.com>
85135
85136         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
85137
85138 1998-11-16  Jim Meyering  <meyering@ascend.com>
85139
85140         * m4/lfs.m4: Double-quote the `uname...` expression.
85141
85142 1998-11-14  Jim Meyering  <meyering@ascend.com>
85143
85144         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
85145         * m4/stat.m4: Likewise.
85146
85147 1998-11-03  Jim Meyering  <meyering@ascend.com>
85148
85149         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
85150         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
85151
85152 1998-10-18  Jim Meyering  <meyering@ascend.com>
85153
85154         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
85155
85156 1998-10-17  Jim Meyering  <meyering@ascend.com>
85157
85158         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
85159         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
85160         calls for those previously hard-coded headers.  Instead, take a new
85161         parameter.
85162         (jm_CHECK_DECLARATIONS): Reflect interface change.
85163         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
85164         (jm_CHECK_DECL_LOCALTIME_R): New macro.
85165
85166         * m4/mktime.m4: Test for spring-forward gap before long-running test.
85167
85168 1998-10-14  Jim Meyering  <meyering@ascend.com>
85169
85170         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
85171         instead of "TZ=America/Vancouver".  From Paul Eggert.
85172
85173 1998-10-11  Jim Meyering  <meyering@ascend.com>
85174
85175         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
85176         This adds a test for a recently added compatibility fix for mktime.c.
85177         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
85178
85179 1998-09-27  Jim Meyering  <meyering@ascend.com>
85180
85181         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
85182
85183         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
85184         ../configure.in, including a change from Gordon Matzigkeit to allow
85185         cross-compiling for the Hurd.
85186
85187         * m4/glibc.m4: New file/macro to test for the GNU C Library
85188         versions 1 and 2.  From Gordon Matzigkeit.
85189         Indent.
85190
85191 1998-09-21  Jim Meyering  <meyering@ascend.com>
85192
85193         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
85194
85195 1998-08-18  Paul Eggert  <eggert@twinsun.com>
85196
85197         Port nanosecond-resolution times to UnixWare 2.1.2 and
85198         pedantic Solaris 2.6.
85199
85200         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
85201         AC_STRUCT_ST_MTIM.
85202         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
85203         Generate name of ns member, instead of just 1 or undef.
85204         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
85205
85206 1998-08-15  Jim Meyering  <meyering@ascend.com>
85207
85208         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
85209         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
85210         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
85211         instead of jm_TYPE_SSIZE_T.
85212
85213 1998-08-12  Jim Meyering  <meyering@ascend.com>
85214
85215         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
85216
85217 1998-08-02  Jim Meyering  <meyering@ascend.com>
85218
85219         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
85220         in acconfig.h manually.
85221
85222 1998-07-31  Paul Eggert  <eggert@twinsun.com>
85223
85224         * m4/st_mtim.m4: New file.
85225
85226 1998-07-28  Jim Meyering  <meyering@ascend.com>
85227
85228         * m4/utimes.m4: Undef stat.
85229
85230 1998-07-25  Jim Meyering  <meyering@ascend.com>
85231
85232         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
85233         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
85234
85235 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
85236
85237         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
85238         uid and gid actually remain unchanged.
85239
85240 1998-07-07  Jim Meyering  <meyering@ascend.com>
85241
85242         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
85243
85244 1998-07-04  Jim Meyering  <meyering@ascend.com>
85245
85246         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
85247         to prove that this macro can be used in packages without regex.c.
85248
85249 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
85250
85251         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
85252         is to be used.
85253
85254 1998-07-03  Jim Meyering  <meyering@ascend.com>
85255
85256         * m4/gettext.m4: Add -lintl if it's found to be necessary.
85257
85258         * m4/gettext.m4: New file -- from gettext-0.10.35.
85259         * m4/lcmessage.m4: Likewise.
85260         * m4/progtest.m4: Likewise.
85261
85262         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
85263         * m4/jm-macros.m4: Require the new macro.
85264
85265 1998-06-29  Jim Meyering  <meyering@ascend.com>
85266
85267         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
85268         for the definition of NGROUPS (used in a system header included
85269         by sys/mount.h).
85270
85271 1998-06-28  Jim Meyering  <meyering@ascend.com>
85272
85273         * m4/ls-mntd-fs.m4: New file.
85274         * m4/fstypename.m4: New file.
85275
85276         * m4/jm-macros.m4: Require the new macro.
85277         * m4/jm-glibc-io.m4: New file.
85278
85279 1998-05-19  Jim Meyering  <meyering@ascend.com>
85280
85281         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
85282         * m4/lchown.m4: New file.
85283
85284         * m4/Makefile.am.in: New file.
85285         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
85286
85287 1998-05-14  Jim Meyering  <meyering@ascend.com>
85288
85289         * m4/Makefile.am (EXTRA_DIST): Add them.
85290         * m4/jm-macros.m4: New file.
85291         * m4/utimbuf.m4: New file.
85292
85293 1998-05-12  Jim Meyering  <meyering@ascend.com>
85294
85295         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
85296
85297 1998-05-11  Jim Meyering  <meyering@ascend.com>
85298
85299         * m4/isc-posix.m4: New file.
85300
85301 1998-05-10  Jim Meyering  <meyering@ascend.com>
85302
85303         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
85304
85305 1998-05-09  Jim Meyering  <meyering@ascend.com>
85306
85307         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
85308         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
85309         with automake.
85310
85311         * m4/ssize_t.m4: New file.
85312         * m4/mktime.m4: Remove file -- the new automake has this now.
85313
85314 1998-04-26  Jim Meyering  <meyering@ascend.com>
85315
85316         * m4/assert.m4: New file.
85317         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
85318
85319 1998-04-05  Jim Meyering  <meyering@ascend.com>
85320
85321         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
85322         (jm_PREREQ): Use it here.
85323
85324 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
85325
85326         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
85327         in acconfig.h.
85328
85329 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
85330
85331         * m4/prereq.m4: New file.
85332         * m4/error.m4: New file.
85333         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
85334
85335 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
85336
85337         * m4/getline.m4: Don't set am_cv_func_working_getline before the
85338         cache-check for the same variable -- that defeated the purpose of
85339         the test; the test program was never run.  This was a problem only
85340         on systems with losing getline functions -- HP-UX 10.20 is one.
85341         Reported by Bjorn Helgaas.
85342
85343 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
85344
85345         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
85346
85347 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
85348
85349         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
85350
85351         * m4/const.m4: New file.  Use an initializer in this declaration
85352         typedef int charset[2]; const charset x;
85353         Reported by Bob Glickstein.
85354
85355 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
85356
85357         * m4/chown.m4: Fix reversed types on -1 args to chown.
85358         From Kaveh Ghazi.
85359
85360 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
85361
85362         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
85363         Add lseek and memchr.
85364
85365         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
85366         T.E.Dickey <dickey@clark.net> said that some older preprocessors
85367         have a 20-character limit on names.
85368
85369 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
85370
85371         * m4/inttypes_h.m4: New file.
85372         * m4/uintmax_t.m4: New file.
85373         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
85374
85375
85376         -----
85377
85378         Local Variables:
85379         coding: utf-8
85380         End:
85381
85382         Copyright (C) 1997-2011 Free Software Foundation, Inc.
85383
85384         Copying and distribution of this file, with or without
85385         modification, are permitted provided the copyright notice
85386         and this notice are preserved.